fmodf-ieee: Work around test failure on MSVC 9.
[gnulib.git] / ChangeLog
1 2012-02-27  Bruno Haible  <bruno@clisp.org>
2
3         fmodf-ieee: Work around test failure on MSVC 9.
4         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
5         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
6
7         fmod-ieee: Work around test failures on OSF/1, mingw.
8         * m4/fmod-ieee.m4: New file.
9         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
10         whether fmod works with zero arguments. Replace it if not.
11         * lib/math.in.h (fmod): New declaration.
12         * lib/fmod.c: New file.
13         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
14         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
15         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
16         * modules/fmod (Files): Add lib/fmod.c.
17         (Depends-on): Add math, isinf, trunc, fma.
18         (configure.ac): Arrange to compile lib/fmod.c if needed.
19         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
20         m4/signbit.m4.
21         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
22         * tests/test-math-c++.cc: Check the declaration of fmod.
23         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
24
25         fmodl-ieee: Fix test failures.
26         * lib/fmodl.c (fmodl): Treat Inf specially.
27         * modules/fmodl (Depends-on): Add isinf.
28
29         Tests for module 'fmodl-ieee'.
30         * modules/fmodl-ieee-tests: New file.
31         * tests/test-fmodl-ieee.c: New file.
32
33         New module 'fmodl-ieee'.
34         * modules/fmodl-ieee: New file.
35
36         Tests for module 'fmod-ieee'.
37         * modules/fmod-ieee-tests: New file.
38         * tests/test-fmod-ieee.c: New file.
39
40         New module 'fmod-ieee'.
41         * modules/fmod-ieee: New file.
42
43         Tests for module 'fmodf-ieee'.
44         * modules/fmodf-ieee-tests: New file.
45         * tests/test-fmodf-ieee.c: New file.
46         * tests/test-fmod-ieee.h: New file.
47
48         New module 'fmodf-ieee'.
49         * modules/fmodf-ieee: New file.
50
51 2012-02-27  Bruno Haible  <bruno@clisp.org>
52
53         Tests for module 'rintl-ieee'.
54         * modules/rintl-ieee-tests: New file.
55         * tests/test-rintl-ieee.c: New file.
56
57         New module 'rintl-ieee'.
58         * modules/rintl-ieee: New file.
59
60         Tests for module 'rint-ieee'.
61         * modules/rint-ieee-tests: New file.
62         * tests/test-rint-ieee.c: New file.
63
64         New module 'rint-ieee'.
65         * modules/rint-ieee: New file.
66
67         Tests for module 'rintf-ieee'.
68         * modules/rintf-ieee-tests: New file.
69         * tests/test-rintf-ieee.c: New file.
70         * tests/test-rint-ieee.h: New file.
71
72         New module 'rintf-ieee'.
73         * modules/rintf-ieee: New file.
74
75 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76
77         regex: re_search etc. should return -2 when memory exhausted
78         This bug was uncovered when testing 'grep'.  Without the fix,
79         re_search and friends return -1 when memory is exhausted, but -1
80         means no match, and this causes grep to falsely report no-match
81         instead of memory-exhaustion.  See
82         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
83         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
84         trouble; this can occur if re_search_internal ran out of memory.
85
86 2012-02-26  Bruno Haible  <bruno@clisp.org>
87
88         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
89         * m4/modfl-ieee.m4: New file.
90         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
91         whether modfl works with Inf. Replace it if not.
92         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
93         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
94         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
95         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
96         (Depends-on): Update dependencies.
97         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
98         m4/signbit.m4.
99         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
100         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
101
102         modfl-ieee: Fix dependencies.
103         * modules/modfl-ieee (Depends-on): Add modf-ieee.
104
105         modfl-ieee: Fix test failures.
106         * lib/modfl.c (modfl): Treat NaN and Inf specially.
107         * modules/modfl (Depends-on): Add isfinite, isinf.
108
109         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
110         * m4/modff-ieee.m4: New file.
111         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
112         whether modff works with NaN and Inf. Replace it if not.
113         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
115         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
116         * modules/modff (configure.ac): Consider REPLACE_MODFF.
117         (Depends-on): Update dependencies.
118         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
119         m4/signbit.m4.
120         (Depends-on): Add modf-ieee.
121         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
122         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
123
124         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
125         * m4/modf-ieee.m4: New file.
126         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
127         whether modf works with NaN and Inf. Replace it if not.
128         * lib/math.in.h (modf): New declaration.
129         * lib/modf.c: New file.
130         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
131         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
132         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
133         * modules/modf (Files): Add lib/modf.c.
134         (Depends-on): Add math, isfinite, trunc, isinf.
135         (configure.ac): Addrange to compile lib/modf.c if needed.
136         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
137         m4/signbit.m4.
138         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
139         * tests/test-math-c++.cc: Check the declaration of modf.
140         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
141
142         Tests for module 'modfl-ieee'.
143         * modules/modfl-ieee-tests: New file.
144         * tests/test-modfl-ieee.c: New file.
145
146         New module 'modfl-ieee'.
147         * modules/modfl-ieee: New file.
148
149         Tests for module 'modf-ieee'.
150         * modules/modf-ieee-tests: New file.
151         * tests/test-modf-ieee.c: New file.
152
153         New module 'modf-ieee'.
154         * modules/modf-ieee: New file.
155
156         Tests for module 'modff-ieee'.
157         * modules/modff-ieee-tests: New file.
158         * tests/test-modff-ieee.c: New file.
159         * tests/test-modf-ieee.h: New file.
160
161         New module 'modff-ieee'.
162         * modules/modff-ieee: New file.
163
164 2012-02-26  Bruno Haible  <bruno@clisp.org>
165
166         Tests for module 'fabsl-ieee'.
167         * modules/fabsl-ieee-tests: New file.
168         * tests/test-fabsl-ieee.c: New file.
169
170         New module 'fabsl-ieee'.
171         * modules/fabsl-ieee: New file.
172
173         Tests for module 'fabs-ieee'.
174         * modules/fabs-ieee-tests: New file.
175         * tests/test-fabs-ieee.c: New file.
176
177         New module 'fabs-ieee'.
178         * modules/fabs-ieee: New file.
179
180         Tests for module 'fabsf-ieee'.
181         * modules/fabsf-ieee-tests: New file.
182         * tests/test-fabsf-ieee.c: New file.
183         * tests/test-fabs-ieee.h: New file.
184
185         New module 'fabsf-ieee'.
186         * modules/fabsf-ieee: New file.
187
188 2012-02-26  Bruno Haible  <bruno@clisp.org>
189
190         Tests for module 'fmal-ieee'.
191         * modules/fmal-ieee-tests: New file.
192         * tests/test-fmal-ieee.c: New file.
193
194         New module 'fmal-ieee'.
195         * modules/fmal-ieee: New file.
196
197         Tests for module 'fma-ieee'.
198         * modules/fma-ieee-tests: New file.
199         * tests/test-fma-ieee.c: New file.
200
201         New module 'fma-ieee'.
202         * modules/fma-ieee: New file.
203
204         Tests for module 'fmaf-ieee'.
205         * modules/fmaf-ieee-tests: New file.
206         * tests/test-fmaf-ieee.c: New file.
207         * tests/test-fma-ieee.h: New file.
208
209         New module 'fmaf-ieee'.
210         * modules/fmaf-ieee: New file.
211
212 2012-02-26  Bruno Haible  <bruno@clisp.org>
213
214         Tests for module 'ldexpl-ieee'.
215         * modules/ldexpl-ieee-tests: New file.
216         * tests/test-ldexpl-ieee.c: New file.
217
218         New module 'ldexpl-ieee'.
219         * modules/ldexpl-ieee: New file.
220
221         Tests for module 'ldexp-ieee'.
222         * modules/ldexp-ieee-tests: New file.
223         * tests/test-ldexp-ieee.c: New file.
224
225         New module 'ldexp-ieee'.
226         * modules/ldexp-ieee: New file.
227
228         Tests for module 'ldexpf-ieee'.
229         * modules/ldexpf-ieee-tests: New file.
230         * tests/test-ldexpf-ieee.c: New file.
231         * tests/test-ldexp-ieee.h: New file.
232
233         New module 'ldexpf-ieee'.
234         * modules/ldexpf-ieee: New file.
235
236 2012-02-26  Bruno Haible  <bruno@clisp.org>
237
238         Refactor frexp*-ieee tests.
239         * tests/test-frexp-ieee.h: New file.
240         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
241         (main): Just call test_function.
242         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
243         (main): Just call test_function.
244         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
245         (main): Just call test_function.
246         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
247         * modules/frexp-ieee-tests (Files): Likewise.
248         * modules/frexpl-ieee-tests (Files): Likewise.
249
250         Tests for module 'frexpl-ieee'.
251         * modules/frexpl-ieee-tests: New file.
252         * tests/test-frexpl-ieee.c: New file.
253
254         New module 'frexpl-ieee'.
255         * modules/frexpl-ieee: New file.
256
257         Tests for module 'frexp-ieee'.
258         * modules/frexp-ieee-tests: New file.
259         * tests/test-frexp-ieee.c: New file.
260
261         New module 'frexp-ieee'.
262         * modules/frexp-ieee: New file.
263
264         Tests for module 'frexpf-ieee'.
265         * modules/frexpf-ieee-tests: New file.
266         * tests/test-frexpf-ieee.c: New file.
267
268         New module 'frexpf-ieee'.
269         * modules/frexpf-ieee: New file.
270
271 2012-02-26  Bruno Haible  <bruno@clisp.org>
272
273         roundl-ieee tests: More tests.
274         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
275         (main): Add tests for [MX] shaded specification in POSIX.
276         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
277         (Depends-on): Add isnanl-nolibm.
278
279         round-ieee tests: More tests.
280         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
281         (main): Add tests for [MX] shaded specification in POSIX.
282         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
283         (Depends-on): Add isnand-nolibm.
284
285         roundf-ieee tests: More tests.
286         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
287         (main): Add tests for [MX] shaded specification in POSIX.
288         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
289         (Depends-on): Add isnanf-nolibm.
290
291         truncl-ieee tests: More tests.
292         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
293         (main): Add tests for [MX] shaded specification in POSIX.
294         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
295         (Depends-on): Add isnanl-nolibm.
296
297         trunc-ieee tests: More tests.
298         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
299         (main): Add tests for [MX] shaded specification in POSIX.
300         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
301         (Depends-on): Add isnand-nolibm.
302
303         truncf-ieee tests: More tests.
304         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
305         (main): Add tests for [MX] shaded specification in POSIX.
306         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
307         (Depends-on): Add isnanf-nolibm.
308
309         ceill-ieee tests: More tests.
310         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
311         (main): Add tests for [MX] shaded specification in POSIX.
312         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
313         (Depends-on): Add isnanl-nolibm.
314
315         ceil-ieee tests: More tests.
316         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
317         (main): Add tests for [MX] shaded specification in POSIX.
318         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
319         (Depends-on): Add isnand-nolibm.
320
321         ceilf-ieee tests: More tests.
322         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
323         (main): Add tests for [MX] shaded specification in POSIX.
324         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
325         (Depends-on): Add isnanf-nolibm.
326
327         floorl-ieee tests: More tests.
328         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
329         (main): Add tests for [MX] shaded specification in POSIX.
330         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
331         (Depends-on): Add isnanl-nolibm.
332
333         floor-ieee tests: More tests.
334         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
335         (main): Add tests for [MX] shaded specification in POSIX.
336         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
337         (Depends-on): Add isnand-nolibm.
338
339         floorf-ieee tests: More tests.
340         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
341         (main): Add tests for [MX] shaded specification in POSIX.
342         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
343         (Depends-on): Add isnanf-nolibm.
344
345 2012-02-26  Bruno Haible  <bruno@clisp.org>
346
347         fpieee: More comments.
348         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
349
350 2012-02-25  Bruno Haible  <bruno@clisp.org>
351
352         Tests for module 'log10l'.
353         * modules/log10l-tests: New file.
354         * tests/test-log10l.c: New file.
355         * tests/test-math-c++.cc: Check the declaration of log10l.
356
357         New module 'log10l'.
358         * lib/math.in.h (log10l): New declaration.
359         * lib/log10l.c: New file.
360         * m4/log10l.m4: New file.
361         * modules/log10l: New file.
362         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
364         HAVE_DECL_LOG10L.
365         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
366         HAVE_DECL_LOG10L.
367         * doc/posix-functions/log10l.texi: Mention the new module.
368
369 2012-02-25  Bruno Haible  <bruno@clisp.org>
370
371         fmodl, remainder*: Avoid wrong results due to rounding errors.
372         * lib/fmodl.c (fmodl): Correct the result if it is not within the
373         expected bounds.
374         * lib/remainderf.c (remainderf): Likewise.
375         * lib/remainder.c (remainder): Likewise.
376         * lib/remainderl.c (remainderl): Likewise.
377
378 2012-02-25  Bruno Haible  <bruno@clisp.org>
379
380         Tests for module 'remainderl'.
381         * modules/remainderl-tests: New file.
382         * tests/test-remainderl.c: New file.
383         * tests/test-math-c++.cc: Check the declaration of remainderl.
384
385         New module 'remainderl'.
386         * lib/math.in.h (remainderl): New declaration.
387         * lib/remainderl.c: New file.
388         * m4/remainderl.m4: New file.
389         * modules/remainderl: New file.
390         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
391         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
392         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
393         HAVE_REMAINDERL.
394         * doc/posix-functions/remainderl.texi: Mention the new module.
395
396 2012-02-25  Bruno Haible  <bruno@clisp.org>
397
398         Tests for module 'remainderf'.
399         * modules/remainderf-tests: New file.
400         * tests/test-remainderf.c: New file.
401         * tests/test-math-c++.cc: Check the declaration of remainderf.
402
403         New module 'remainderf'.
404         * lib/math.in.h (remainderf): New declaration.
405         * lib/remainderf.c: New file.
406         * m4/remainderf.m4: New file.
407         * modules/remainderf: New file.
408         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
409         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
410         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
411         HAVE_REMAINDERF.
412         * doc/posix-functions/remainderf.texi: Mention the new module.
413
414 2012-02-25  Bruno Haible  <bruno@clisp.org>
415
416         remainder: Support for MSVC.
417         * lib/math.in.h (remainder): New declaration.
418         * lib/remainder.c: New file.
419         * m4/remainder.m4: New file.
420         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
421         (Depends-on): Add math, round, fma.
422         (configure.ac): Use results of gl_FUNC_REMAINDER.
423         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
424         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
425         HAVE_DECL_REMAINDER.
426         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
427         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
428         * tests/test-math-c++.cc: Check the declaration of remainder.
429         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
430         problems are fixed.
431
432 2012-02-25  Bruno Haible  <bruno@clisp.org>
433
434         Tests for module 'fmodl'.
435         * modules/fmodl-tests: New file.
436         * tests/test-fmodl.c: New file.
437         * tests/test-math-c++.cc: Check the declaration of fmodl.
438
439         New module 'fmodl'.
440         * lib/math.in.h (fmodl): New declaration.
441         * lib/fmodl.c: New file.
442         * m4/fmodl.m4: New file.
443         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
444         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
445         REPLACE_FMODL.
446         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
447         REPLACE_FMODL.
448         * modules/fmodl: New file.
449         * doc/posix-functions/fmodl.texi: Mention the new module.
450
451 2012-02-25  Bruno Haible  <bruno@clisp.org>
452
453         Tests for module 'modfl'.
454         * modules/modfl-tests: New file.
455         * tests/test-modfl.c: New file.
456         * tests/test-math-c++.cc: Check the declaration of modfl.
457
458         New module 'modfl'.
459         * lib/math.in.h (modfl): New declaration.
460         * lib/modfl.c: New file.
461         * m4/modfl.m4: New file.
462         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
463         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
464         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
465         * modules/modfl: New file.
466         * doc/posix-functions/modfl.texi: Mention the new module.
467
468 2012-02-25  Bruno Haible  <bruno@clisp.org>
469
470         Tests for module 'fabsl'.
471         * modules/fabsl-tests: New file.
472         * tests/test-fabsl.c: New file.
473         * tests/test-math-c++.cc: Check the declaration of fabsl.
474
475         New module 'fabsl'.
476         * lib/math.in.h (fabsl): New declaration.
477         * lib/fabsl.c: New file.
478         * m4/fabsl.m4: New file.
479         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
480         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
481         REPLACE_FABSL.
482         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
483         REPLACE_FABSL.
484         * modules/fabsl: New file.
485         * doc/posix-functions/fabsl.texi: Mention the new module.
486
487 2012-02-25  Bruno Haible  <bruno@clisp.org>
488
489         fabs tests: More tests.
490         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
491         (zero): New variable.
492         (main): Add tests for signed zero.
493         * modules/fabs-tests (Files): Add tests/minus-zero.h.
494
495         fabsf tests: More tests.
496         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
497         (zero): New variable.
498         (main): Add tests for signed zero.
499         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
500
501 2012-02-24  Bruno Haible  <bruno@clisp.org>
502
503         atanl: Provide function definition on MSVC.
504         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
505         function pointer.
506         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
507
508 2012-02-24  Bruno Haible  <bruno@clisp.org>
509
510         acosl: Provide function definition on MSVC.
511         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
512         function pointer.
513         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
514
515 2012-02-24  Bruno Haible  <bruno@clisp.org>
516
517         asinl: Provide function definition on MSVC.
518         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
519         function pointer.
520         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
521
522 2012-02-24  Bruno Haible  <bruno@clisp.org>
523
524         tanl: Provide function definition on MSVC.
525         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
526         function pointer.
527         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
528
529 2012-02-24  Bruno Haible  <bruno@clisp.org>
530
531         cosl: Provide function definition on MSVC.
532         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
533         function pointer.
534         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
535
536 2012-02-24  Bruno Haible  <bruno@clisp.org>
537
538         sinl: Provide function definition on MSVC.
539         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
540         function pointer.
541         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
542
543 2012-02-24  Bruno Haible  <bruno@clisp.org>
544
545         logl: Provide function definition on MSVC.
546         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
547         function pointer.
548         * lib/math.in.h (logl): Undefine if it does not exist as a function.
549
550 2012-02-24  Bruno Haible  <bruno@clisp.org>
551
552         expl: Provide function definition on MSVC.
553         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
554         function pointer.
555         * lib/math.in.h (expl): Undefine if it does not exist as a function.
556
557 2012-02-24  Bruno Haible  <bruno@clisp.org>
558
559         sqrtl: Provide function definition on MSVC.
560         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
561         a function pointer.
562         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
563
564 2012-02-24  Bruno Haible  <bruno@clisp.org>
565
566         ceill: Provide function definition on MSVC.
567         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
568         used as a function pointer.
569         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
570
571 2012-02-24  Bruno Haible  <bruno@clisp.org>
572
573         floorl: Provide function definition on MSVC.
574         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
575         used as a function pointer.
576         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
577
578 2012-02-24  Bruno Haible  <bruno@clisp.org>
579
580         ceilf: Provide function definition on MSVC.
581         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
582         used as a function pointer.
583         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
584
585 2012-02-24  Bruno Haible  <bruno@clisp.org>
586
587         floorf: Provide function definition on MSVC.
588         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
589         used as a function pointer.
590         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
591
592 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
593
594         stdnoreturn: new module
595         This implements a replacement for C11's <stdnoreturn.h>.
596         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
597         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
598         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
599         * tests/test-stdnoreturn.c: New files.
600
601 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
602
603         regex: fix false multibyte matches in some regular expressions
604         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
605         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
606         * lib/regex_internal.c (re_string_skip_chars):
607         Fix miscomputation of remain_len that may cause incomplete
608         multi-byte character and false match.
609
610 2012-02-24  Jim Meyering  <meyering@redhat.com>
611
612         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
613         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
614         uses with "==" *before* the call, e.g., 0 == strcmp (...)
615         Remove now-unnecessary str''cmp obfuscation.
616         Suggested by Akim Demaille.
617
618 2012-02-24  Bruno Haible  <bruno@clisp.org>
619
620         streq: Rename macro.
621         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
622         * NEWS: Mention the change.
623         * lib/mbrtowc.c (mbrtowc): Update.
624         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
625         * lib/wcwidth.c (wcwidth): Update.
626         Suggested by Akim Demaille and Jim Meyering.
627
628 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
629
630         regex: fix typo in definition of MIN
631         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
632         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
633
634 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
635             Bruno Haible  <bruno@clisp.org>
636
637         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
638         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
639         entries into a stack-allocated buffer directly.
640         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
641
642 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
643             Bruno Haible  <bruno@clisp.org>
644
645         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
646
647          - There were several instances of this pattern:
648
649              for (;;) {
650                n = acl (f, GETACLCNT, 0, NULL);
651                [ allocate an array A of size N ]
652                if (acl (f, GETACL, n, a) == n)
653                  break;
654              }
655
656            This loop might never terminate if some other process is constantly
657            manipulating the file's ACL.  The loop should be rewritten to
658            terminate.
659
660          - The acl (... GETACLNT ...) call is merely an optimization; its value
661            is merely a hint as to how big to make the array.  A better
662            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
663            and just guess a reasonably-big size, growing the size and trying
664            again if it's not large enough.  This guarantees termination, and
665            saves a system call.
666
667         * lib/acl-internal.h: Include <limits.h>.
668         (MIN, SIZE_MAX): New macros.
669         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
670         a stack-allocated buffer, and use malloc if it does not fit. Don't
671         use GETACLCNT.
672         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
673
674 2012-02-19  Bruno Haible  <bruno@clisp.org>
675
676         acl: Fix endless loop on Solaris with vxfs.
677         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
678         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
679         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
680         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
681         * tests/test-sameacls.c (main)[Solaris]: Likewise.
682         Reported by Bill Jones in
683         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
684
685 2012-02-19  Bruno Haible  <bruno@clisp.org>
686
687         acl: Fix copy-acl test failure on Solaris 11 2011-11.
688         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
689         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
690         that this function returns 0 in some more cases.
691
692 2012-02-19  Bruno Haible  <bruno@clisp.org>
693
694         acl: Update doc references.
695         * doc/acl-resources.txt: Update links to Solaris documentation.
696
697 2012-02-19  Bruno Haible  <bruno@clisp.org>
698
699         Fix test failure in many locales on Solaris 11.
700         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
701         'tr' arguments.
702         * tests/test-pipe-filter-ii1.c (main): Likewise.
703         * build-aux/bootstrap (check_versions): Run 'tr' command with range
704         expressions in the C locale.
705         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
706         * m4/host-os.m4 (gl_HOST_OS): Likewise.
707
708 2012-02-19  Bruno Haible  <bruno@clisp.org>
709
710         gnulib-tool: Improve usage message.
711         * gnulib-tool (func_usage): Move doc of --help and --version to the
712         section "Operation modes".
713
714 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
715
716         README-release: make it easier to execute commands
717         * top/README-release: break commands out on to separate lines.
718
719 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
720
721         GNUmakefile: simplify detection of unconfigured trees
722         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
723         whether the tree make is being run from is already configured or
724         not.  Related simplifications.
725
726 2012-02-13  Simon Josefsson  <simon@josefsson.org>
727
728         * gnulib-tool (func_usage): Document --help and --version.
729
730 2012-02-11  Jim Meyering  <meyering@redhat.com>
731
732         bootstrap: don't exit 0 upon gnulib-tool failure
733         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
734         its exit status, not 0.
735
736 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
737
738         README-release: various improvements
739         * top/README-release: Give a command to push changes for the
740         release.  Add "distcheck" to list of other pre-release checks.
741         Fix instance of "make stable" which should be "make TYPE".
742
743 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
744
745         maint: replace FSF snail-mail addresses with URLs
746         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
747         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
748         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
749         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
750         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
751         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
752         * lib/check-version.c, lib/check-version.h, lib/config.charset:
753         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
754         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
755         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
756         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
757         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
758         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
759         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
760         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
761         * lib/glthread/thread.c, lib/glthread/thread.h:
762         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
763         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
764         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
765         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
766         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
767         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
768         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
769         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
770         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
771         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
772         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
773         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
774         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
775         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
776         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
777         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
778         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
779         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
780         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
781         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
782         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
783         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
784         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
785         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
786         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
787         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
788         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
789         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
790         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
791         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
792         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
793         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
794         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
795         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
796         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
797         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
798         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
799         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
800         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
801         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
802         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
803         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
804         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
805         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
806         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
807         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
808         * tests/test-poll.c, tests/test-quotearg-simple.c:
809         * tests/test-quotearg.c, tests/test-quotearg.h:
810         * tests/test-round-ieee.c, tests/test-round1.c:
811         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
812         * tests/test-roundl-ieee.c, tests/test-roundl.c:
813         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
814         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
815         * tests/test-strerror.c, tests/test-strerror_r.c:
816         * tests/test-strsignal.c, tests/test-strverscmp.c:
817         * tests/test-xmemdup0.c:
818         Replace FSF snail mail addresses with URLs, as per GNU coding
819         standards.  See glibc bug
820         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
821
822 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
823
824         README-release: capitalize a word and split a line
825         * top/README-release: Fix punctuation and spacing.
826
827 2012-02-08  Akim Demaille  <demaille@gostai.com>
828
829         fatal-signal: use C prototypes (with explicit void).
830         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
831         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
832
833 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
834
835         regex: spelling fix
836         * lib/regexec.c: spelling fix
837
838         regex: rely on stdint.h for SIZE_MAX
839         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
840
841 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
842
843         regex: merge glibc changes
844
845         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
846         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
847         (init_word_char): Work even if bitset words are not exactly 32 or
848         64 bits wide.  Don't assume there are no padding bits.
849         * lib/regex.c [_LIBC]: Do not include <config.h>.
850         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
851         and -Wtype-limits.
852         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
853         needless disagreement with glibc.  All uses changed.  Define it to
854         1 only if _GNU_SOURCE, to match glibc.
855         (_REG_RM_NAME): Remove; no longer needed, since the names in
856         question are now all protected by __USE_GNU.
857         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
858         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
859         * lib/regex_internal.h (MIN): New macro.
860
861         2012-01-03 Ulrich Drepper <drepper@gmail.com>
862         * lib/regcomp.c (init_word_char): Optimize regex a bit.
863
864         2011-12-30 Jakub Jelinek <jakub@redhat.com>
865         * lib/regex_internal.c (re_string_fetch_byte_case):
866         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
867         is miscompiled, and it turns out it is because of an incorrect
868         attribute on re_string_fetch_byte_case.  Unlike
869         re_string_peek_byte_case, this one is really not pure, it modifies
870         memory (increments pstr->cur_idx), and with the pure attribute GCC
871         assumed it doesn't and it cached the presumed value of
872         regexp->cur_idx in a variable across the
873          for (;; ++i)
874            {
875              if (i >= BRACKET_NAME_BUF_SIZE)
876                return REG_EBRACK;
877              if (token->type == OP_OPEN_CHAR_CLASS)
878                ch = re_string_fetch_byte_case (regexp);
879              else
880                ch = re_string_fetch_byte (regexp);
881              if (re_string_eoi(regexp))
882                return REG_EBRACK;
883              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
884                break;
885              elem->opr.name[i] = ch;
886            }
887
888         2011-11-29 Andreas Schwab <schwab@redhat.com>
889         * lib/regcomp.c (build_equiv_class):
890         Fix access after end of search string in regex matcher.
891
892         2011-11-12 Ulrich Drepper <drepper@redhat.com>
893         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
894
895         2011-10-12 Ulrich Drepper <drepper@redhat.com>
896         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
897
898         2011-10-11 Ulrich Drepper <drepper@redhat.com>
899         * lib/regcomp.c (parse_branch, parse_sub_exp):
900         More regex memory leak fixes and tests.
901         (parse_sub_exp, parse_bracket_exp):
902         Fix memory leak for some invalid regular expressions.
903
904         2011-05-28 Ulrich Drepper <drepper@gmail.com>
905         * lib/regex_internal.c, lib/regexec.c:
906         Fix unnecessary overallocation due to incomplete character.  When
907         incomplete characters are found at the end of a string the code
908         ran amok and allocated lots of memory.  Stricter limits are now in
909         place.
910
911         2011-05-20 Reuben Thomas <rrt@sc3d.org>
912         * lib/regex.h: Update documentation.
913
914         2011-05-16 Aharon Robbins <arnold@skeeve.com>
915         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
916
917         2010-05-05 Andreas Schwab <schwab@redhat.com>
918         * lib/regexec.c (find_collation_sequence_value):
919         Fix lookup of collation sequence value during regexp matching.
920
921         2010-01-22 Ulrich Drepper <drepper@redhat.com>
922         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
923
924         2008-01-16 Ulrich Drepper <drepper@redhat.com>
925         * lib/regex.h: Cleanup namespace.
926
927         2007-11-26 Ulrich Drepper <drepper@redhat.com>
928         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
929
930         2007-08-26 Ulrich Drepper <drepper@redhat.com>
931         * lib/regex_internal.h: Prevent some declarations and definitions
932         to be seen when used in tests.
933
934         2005-05-06 Ulrich Drepper <drepper@redhat.com>
935         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
936         __libc_lock_* macros if not _LIBC.
937         (struct re_dfa_t): Add lock.
938
939 2012-02-07  Eric Blake  <eblake@redhat.com>
940
941         maint.mk: also prohibit lower-case @var@
942         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
943         lower case, like @top_srcdir@.
944
945 2012-02-04  Eric Blake  <eblake@redhat.com>
946
947         canonicalize: avoid uninitialized memory use
948         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
949         random '/' left in dest.
950         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
951
952 2012-02-04  Bruno Haible  <bruno@clisp.org>
953
954         isatty: Fix test failure of ptsname_r on native Windows.
955         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
956         and don't set errno.
957         (isatty): Test first whether fd is valid. Set errno when returning 0.
958
959 2012-02-04  Bruno Haible  <bruno@clisp.org>
960
961         spawn-pipe tests: Fix a NULL program name in a diagnostic.
962         * tests/test-spawn-pipe-main.c: Include progname.h.
963         (main): Invoke set_program_name.
964         * modules/spawn-pipe-tests (Depends-on): Add progname.
965
966         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
967         * tests/test-nonblocking-socket-main.c: Include progname.h.
968         (main): Invoke set_program_name.
969         * modules/nonblocking-socket-tests (Depends-on): Add progname.
970
971         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
972         * tests/test-nonblocking-pipe-main.c: Include progname.h.
973         (main): Invoke set_program_name.
974         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
975
976 2012-02-04  Eric Blake  <eblake@redhat.com>
977
978         canonicalize-lgpl: fix // handling
979         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
980
981         canonicalize: fix // handling
982         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
983         /// to //, since only // is special.
984
985 2012-02-04  Bruno Haible  <bruno@clisp.org>
986
987         ioctl: Fix test failure on native Windows.
988         * lib/ioctl.c: Include msvc-nothrow.h.
989         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
990
991 2012-02-04  Bruno Haible  <bruno@clisp.org>
992
993         fsync: Avoid test failure on native Windows.
994         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
995         read-only.
996
997 2012-02-04  Bruno Haible  <bruno@clisp.org>
998
999         sys_select: Avoid syntax error on OpenBSD 5.0.
1000         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
1001         currently being included, just include the system's <sys/select.h>.
1002
1003 2012-02-04  Bruno Haible  <bruno@clisp.org>
1004
1005         sys_select: Avoid syntax error on OpenBSD 5.0.
1006         * lib/sys_select.in.h: Include <signal.h> only after the include_next
1007         <sys/select.h>, not before.
1008         Reported by Jiri B <jirib@devio.us>.
1009
1010 2012-02-04  Bruno Haible  <bruno@clisp.org>
1011
1012         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
1013         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
1014         global variables.
1015         * tests/test-get-rusage-data.c (main): Likewise.
1016         Reported by Jim Meyering.
1017
1018 2012-02-04  Bruno Haible  <bruno@clisp.org>
1019
1020         stdioext: Fix last commit.
1021         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
1022
1023 2012-02-03  Bruno Haible  <bruno@clisp.org>
1024
1025         stdioext: Add tentative support for Plan9.
1026         * lib/stdio-impl.h: Include <errno.h>.
1027         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
1028         * lib/freadable.c (freadable): Likewise.
1029         * lib/fwritable.c (fwritable): Likewise.
1030         * lib/fbufmode.c (fbufmode): Likewise.
1031         * lib/freading.c (freading): Likewise.
1032         * lib/fwriting.c (fwriting): Likewise.
1033         * lib/freadptr.c (freadptr): Likewise.
1034         * lib/freadseek.c (freadptrinc): Likewise.
1035         * lib/freadahead.c (freadahead): Likewise.
1036         * lib/fpurge.c (fpurge): Likewise.
1037         * lib/fseeko.c (rpl_fseeko): Likewise.
1038         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
1039         Reported by Jens Staal <staal1978@gmail.com>.
1040
1041 2012-02-02  Jim Meyering  <meyering@redhat.com>
1042
1043         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
1044         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
1045         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
1046         not even to try to add the attribute.  Instead, add a pragma to suppress
1047         the suggestion/warning.
1048
1049 2012-01-31  Karl Berry  <karl@gnu.org>
1050
1051         setstate doc: typo.
1052         * doc/posix-functions/setstate.texi (setstate): { not (.
1053
1054 2012-01-31  Bruno Haible  <bruno@clisp.org>
1055
1056         popen: Make more robust on Windows.
1057         * lib/popen.c: On native Windows, use the _popen based code even if
1058         HAVE_POPEN is set.
1059         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
1060         environment variable on native Windows.
1061
1062 2012-01-30  Bruno Haible  <bruno@clisp.org>
1063
1064         pclose: Fix typo.
1065         * lib/stdio.in.h (pclose): Fix typo in warning message.
1066
1067 2012-01-30  Bruno Haible  <bruno@clisp.org>
1068
1069         doc about getlogin_r, setstate.
1070         * doc/posix-functions/getlogin_r.texi: List the incompatible
1071         declaration problem under "not fixed by gnulib".
1072         * doc/posix-functions/setstate.texi: Mention incompatible declaration
1073         problem on Solaris 11 and other platforms.
1074
1075 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
1076             Bruno Haible  <bruno@clisp.org>
1077
1078         poll tests: Make test more robust.
1079         * tests/test-poll.c: Include macros.h.
1080         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
1081         return value of various I/O operations.
1082         * modules/poll-tests (Files): Add tests/macros.h.
1083
1084 2012-01-30  Bruno Haible  <bruno@clisp.org>
1085
1086         sys_stat: Fix support for mingw64 and MSVC.
1087         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
1088         header files already do it.
1089         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
1090         stat itself.
1091         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1092
1093 2012-01-30  Bruno Haible  <bruno@clisp.org>
1094
1095         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
1096         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
1097         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
1098
1099 2012-01-29  Bruno Haible  <bruno@clisp.org>
1100
1101         quotearg: Fix test failure on MacOS X 10.5.
1102         * tests/test-quotearg-simple.c: Include localcharset.h.
1103         (main): If the locale encoding is not ASCII, bypass the tests of
1104         locale_quoting_style and clocale_quoting_style.
1105         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
1106
1107 2012-01-29  Jim Meyering  <meyering@redhat.com>
1108
1109         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
1110         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
1111         detect uses of canonicalize_file_name.
1112
1113 2012-01-28  Bruno Haible  <bruno@clisp.org>
1114
1115         test-framework-sh: Fix test failure with AIX 7.1 diff.
1116         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
1117         in column 1, like 'diff -c' does.
1118         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
1119         whether 'diff -u' is used. Instead, test whether the output contains
1120         some '@' character.
1121
1122 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1123
1124         strtoimax: eliminate need for stdint.h, inttypes.h checks
1125         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
1126         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
1127         the prerequisites for a recently-introduced strtoimax test.
1128         I guess this might cause strtoimax to be replaced when not
1129         strictly necessary on older hosts, but this shouldn't introduce
1130         any bugs and it should make Emacs 'configure' faster on typical
1131         modern hosts.  Problem discovered when importing the latest gnulib
1132         to an Emacs test version.
1133         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
1134
1135 2012-01-28  Bruno Haible  <bruno@clisp.org>
1136
1137         sys_time: Override 'struct timeval' on some native Windows platforms.
1138         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
1139         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
1140         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
1141         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
1142         needs to be overridden.
1143         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
1144         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
1145         * tests/test-sys_select.c: Check that the tv_sec member has the same
1146         size as a 'time_t'.
1147         * tests/test-sys_time.c: Likewise.
1148         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
1149         is set, set also REPLACE_GETTIMEOFDAY.
1150         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
1151         convert the resulting 'struct timeval' before returning.
1152         * lib/select.c: Include <sys/time.h>.
1153         (select, timeval): Undefine at the right place.
1154         * modules/select (Depends-on): Add sys_time.
1155         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
1156         some Windows platforms.
1157         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1158
1159 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1160
1161         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
1162         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
1163         an integer.
1164         * lib/fcntl.c (dupfd): Likewise.
1165         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
1166
1167 2012-01-28  Bruno Haible  <bruno@clisp.org>
1168
1169         fcntl: Avoid compilation error on native Windows.
1170         * modules/fcntl (Depends-on): Add 'close'.
1171
1172 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1173
1174         select, poll, isatty: Avoid warnings on x86_64 mingw64.
1175         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
1176         pointer to an integer.
1177         * lib/poll.c (IsConsoleHandle): Likewise.
1178         * lib/isatty.c (IsConsoleHandle): Likewise.
1179
1180 2012-01-28  Jim Meyering  <meyering@redhat.com>
1181
1182         doc: clarify README-release
1183         * top/README-release: Clarify: you should make a point to have
1184         the latest stable versions of build tools in your PATH, and the
1185         reference to buildreq is solely for its list of tool names, not
1186         for its minimal-functional version numbers.
1187         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
1188
1189         maint.mk: use more readable (yet functionally equivalent) quoting
1190         It is common to quote a single quote in a single quoted string like
1191         this:  '...'\''...'.  Unless you know the idiom, that looks like
1192         gibberish, so prefer to double-quote the string when possible.
1193         Then you can use a more readable, lone single quote: "...'..."
1194         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
1195         "don't" is more readable than the equivalent 'don'\''t'.
1196         (sc_cast_of_x_alloc_return_value): Likewise.
1197         (sc_cast_of_alloca_return_value): Likewise.
1198         (sc_makefile_path_separator_check): Similar: use ":" in '...',
1199         rather than '\'':'\''.
1200
1201 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1202
1203         stdalign: relax _Alignof and tighten _Alignas test
1204         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
1205         as it was too strict: alignof must divide offsetof, but it need
1206         not equal offsetof.  Inspired by Joseph S. Myers's comment
1207         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
1208         Conversely, tighten the _Alignas test a bit, as the resulting
1209         alignment must be exactly 8.
1210
1211 2012-01-27  Bruno Haible  <bruno@clisp.org>
1212
1213         stdalign: Document the last change.
1214         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
1215
1216 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1217
1218         stdalign: check that alignof and offsetof are consistent
1219         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
1220         Problem reported for gnulib by Richard W.M. Jones in
1221         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
1222
1223 2012-01-27  Jim Meyering  <meyering@redhat.com>
1224
1225         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
1226         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
1227         convert a sequence with gaps to the minimal containing range.
1228         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
1229         * tests/test-update-copyright.sh: Test for this.
1230         The FSF confirmed it is ok to do this, assuming there is at
1231         least one significant change per year in the affected range:
1232         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
1233
1234 2012-01-26  Bruno Haible  <bruno@clisp.org>
1235
1236         pipe2: refine doc about thread-safety
1237         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
1238         multithread-safety problem.
1239         * doc/glibc-functions/accept4.texi: Likewise.
1240
1241 2012-01-26  Bruno Haible  <bruno@clisp.org>
1242
1243         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
1244         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
1245         In the test program, include <fcntl.h>, for O_RDONLY.
1246
1247 2012-01-26  Eric Blake  <eblake@redhat.com>
1248
1249         pipe2: document lack of thread-safety in replacement
1250         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
1251         issue in replacement.
1252         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1253         Based on a report by Eric Wong.
1254
1255 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1256             Bruno Haible  <bruno@clisp.org>
1257
1258         malloca: Avoid warnings on x86_64 mingw64.
1259         * lib/malloca.c: Include <stdint.h>.
1260         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
1261         * modules/malloca (Depends-on): Add stdint.
1262         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
1263
1264 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1265
1266         obstack: remove __STDC__ conditionals
1267         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
1268         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
1269         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
1270         m4/include_next.m4 as the only gnulib-maintained places that still
1271         refer to __STDC__.
1272
1273 2012-01-24  Bruno Haible  <bruno@clisp.org>
1274
1275         havelib: Modern quoting.
1276         * build-aux/config.rpath: Quote 'like this', not `like this', as per
1277         the recent change to the GNU coding standards.
1278
1279 2012-01-24  Bruno Haible  <bruno@clisp.org>
1280
1281         stdint: Improve support for Android.
1282         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
1283         Reported by Simon Josefsson <simon@josefsson.org>.
1284
1285 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1286
1287         doc: omit trailing empty lines from INSTALL etc.
1288         * doc/Makefile (INSTALL): Omit trailing empty lines.
1289         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
1290         omit trailing empty lines.  This simplifies the build procedure.
1291
1292 2012-01-23  Jim Meyering  <meyering@redhat.com>
1293
1294         tests: avoid spurious warnings about gl_sockets_startup
1295         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
1296         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
1297         reporting a "statement with no effect".
1298         * tests/test-accept.c (main): Mark as "(void)".
1299         * tests/test-accept4.c (main): Likewise.
1300         * tests/test-bind.c (main): Likewise.
1301         * tests/test-connect.c (main): Likewise.
1302         * tests/test-getpeername.c (main): Likewise.
1303         * tests/test-getsockname.c (main): Likewise.
1304         * tests/test-getsockopt.c (main): Likewise.
1305         * tests/test-listen.c (main): Likewise.
1306         * tests/test-recv.c (main): Likewise.
1307         * tests/test-recvfrom.c (main): Likewise.
1308         * tests/test-send.c (main): Likewise.
1309         * tests/test-sendto.c (main): Likewise.
1310         * tests/test-setsockopt.c (main): Likewise.
1311         * tests/test-shutdown.c (main): Likewise.
1312
1313 2012-01-21  Bruno Haible  <bruno@clisp.org>
1314
1315         locale-fr.m4: Fix for Android.
1316         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
1317         failure of the test program on Bionic libc.
1318
1319 2012-01-21  Jim Meyering  <meyering@redhat.com>
1320
1321         bootstrap: fail when bootstrap_post_import_hook fails
1322         Otherwise, it's far too easy to miss diagnostics emitted
1323         between gnulib-tool's output and that of running configure.
1324         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
1325
1326 2012-01-17  Jim Meyering  <meyering@redhat.com>
1327
1328         maint: enable sc_trailing_blank
1329         * build-aux/pmccabe.css: Remove trailing blanks.
1330         * doc/acl-cygwin.txt: Likewise.
1331         * doc/gnu-oids.texi: Likewise
1332         * cfg.mk: Enable sc_trailing_blank.
1333         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
1334
1335 2012-01-17  Jim Meyering  <meyering@redhat.com>
1336
1337         maint: enable sc_prohibit_openat_without_use
1338         * cfg.mk: Enable sc_prohibit_openat_without_use.
1339         Exempt lib/selinux-at.c.
1340
1341 2012-01-17  Jim Meyering  <meyering@redhat.com>
1342
1343         maint: enable sc_prohibit_cloexec_without_use
1344         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
1345         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
1346
1347 2012-01-17  Jim Meyering  <meyering@redhat.com>
1348
1349         maint: enable sc_prohibit_intprops_without_use
1350         * cfg.mk: Enable sc_prohibit_intprops_without_use
1351         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
1352
1353 2012-01-17  Jim Meyering  <meyering@redhat.com>
1354
1355         maint: enable sc_prohibit_hash_pjw_without_use
1356         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
1357         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
1358         to match any use of \<hash_pjw\>, i.e., not necessarily with a
1359         following " (".
1360
1361 2012-01-17  Jim Meyering  <meyering@redhat.com>
1362
1363         maint: enable double-word-prohibiting rule
1364         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
1365         Exempt three files.
1366
1367 2012-01-17  Jim Meyering  <meyering@redhat.com>
1368
1369         maint: remove empty lines at EOF, but excluding modules/*
1370         Apply syntax rules at home as well as abroad.  Most changes
1371         were induced by running this:
1372           make srcdir=. _build-aux=build-aux -f top/maint.mk \
1373             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
1374             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
1375         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
1376         Exempt modules/* and two binary files.
1377         Also exempt doc/INSTALL*, per request from Bruno Haible.
1378         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
1379         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
1380         * doc/Copyright/request-assign.future: Likewise.
1381         * doc/Copyright/request-disclaim.changes: Likewise.
1382         * doc/INSTALL: Likewise.
1383         * doc/INSTALL.ISO: Likewise.
1384         * doc/INSTALL.UTF-8: Likewise.
1385         * doc/acl-cygwin.txt: Likewise.
1386         * doc/acl-resources.txt: Likewise.
1387         * doc/fdl-1.2.texi: Likewise.
1388         * doc/fdl-1.3.texi: Likewise.
1389         * doc/fdl.texi: Likewise.
1390         * lib/argp-pin.c: Likewise.
1391         * lib/round.c: Likewise.
1392         * lib/unicase/u16-totitle.c: Likewise.
1393         * lib/unictype/block_test.c: Likewise.
1394         * lib/uninorm/canonical-decomposition.c: Likewise.
1395         * m4/README: Likewise.
1396         * m4/relocatable-lib.m4: Likewise.
1397         * tests/test-isnand-nolibm.c: Likewise.
1398         * tests/test-isnand.c: Likewise.
1399         * tests/uninorm/NormalizationTest.txt: Likewise.
1400
1401 2012-01-17  Jim Meyering  <meyering@redhat.com>
1402
1403         maint: add framework to run syntax-check rules against gnulib sources
1404         * cfg.mk: New file, to disable all currently-failing tests.
1405         We'll enable them one by one, as they are made to pass.
1406         * Makefile (sc_maint): New rule.
1407
1408 2012-01-21  Bruno Haible  <bruno@clisp.org>
1409
1410         stdint: Add support for Android.
1411         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
1412         include the system's <stdint.h>.
1413         Reported by Simon Josefsson <simon@josefsson.org>.
1414
1415 2012-01-19  Jim Meyering  <meyering@redhat.com>
1416
1417         bootstrap: add bootstrap_post_import_hook
1418         Bison does still need something like the gnulib_mk_hook whose
1419         invocation I had to remove along with slurp in commit 767ccd40.
1420         Technically, we could get along without it, but doing so would
1421         have required living with a warning and a mandatory post-bootstrap
1422         automake rerun.
1423         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
1424         (bootstrap_post_import_hook): New function.
1425         Invoke it after gnulib-tool --import and before autoreconf.
1426
1427 2012-01-18  Jim Meyering  <meyering@redhat.com>
1428
1429         gitlog-to-changelog: don't use "no_"-prefixed variable name
1430         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
1431         to enable both --cluster and --no-cluster.  Change variable name,
1432         s/\$no_cluster/$cluster/, and reverse usage to match.
1433
1434         gitlog-to-changelog: use "||", not "or" in expressions
1435         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
1436         expressions.
1437
1438 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
1439
1440         gitlog-to-changelog: new option --no-cluster
1441         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
1442         clustering of adjacent commit messages.
1443
1444 2012-01-17  Jim Meyering  <meyering@redhat.com>
1445
1446         maint: spell file systems with two words, not one
1447         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
1448         two words, not one.
1449
1450 2012-01-16  Jim Meyering  <meyering@redhat.com>
1451
1452         bootstrap: add a FIXME comment to ensure we eventually remove the hack
1453         * build-aux/bootstrap (gnulib_tool_options): Add comment.
1454
1455 2012-01-16  Eric Blake  <eblake@redhat.com>
1456
1457         bootstrap: cater to autoconf 2.59
1458         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
1459         is not available.
1460
1461         bootstrap: properly check for libtool
1462         * build-aux/bootstrap (libtoolize): Also run libtool when older
1463         usage is detected.
1464
1465 2012-01-15  Bruno Haible  <bruno@clisp.org>
1466
1467         Improve support for MSVC 9.
1468         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
1469         clashes on MSVC.
1470         * lib/fcntl.in.h: Likewise.
1471         * lib/stdlib.in.h: Likewise.
1472         * lib/sys_stat.in.h: Likewise.
1473
1474 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
1475
1476         gnupload: we hold the master copy of this script now
1477         For motivation and more information, see:
1478         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
1479         * build-aux/gnupload: Make it clear in the heading comments that the
1480         master copy of this file is maintained by gnulib.  Since we are at
1481         it, bump its copyright year and ...
1482         ($scriptversion): ... the date in its version.
1483         ($usage): Patches and bug reports should be sent to the gnulib list,
1484         not the automake one.
1485         * config/srclist.txt: Don't try to sync 'gnupload' from automake
1486         anymore.
1487
1488 2012-01-15  Bruno Haible  <bruno@clisp.org>
1489
1490         Fix module 'random'.
1491         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
1492         initstate, setstate are declared.
1493
1494 2012-01-14  Bruno Haible  <bruno@clisp.org>
1495
1496         Tests for module 'random'.
1497         * modules/random-tests: New file.
1498         * tests/test-random.c: New file, based on tests/test-random_r.c.
1499
1500         New module 'random'.
1501         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
1502         declarations.
1503         * lib/random.c: New file, based on glibc/stdlib/random.c.
1504         * m4/random.m4: New file.
1505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
1506         HAVE_RANDOM.
1507         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
1508         * modules/random: New file.
1509         * config/srclist.txt: Add an entry for random.c.
1510         * doc/posix-functions/random.texi: Mention the 'random' module.
1511         * doc/posix-functions/initstate.texi: Likewise.
1512         * doc/posix-functions/setstate.texi: Likewise.
1513         * doc/posix-functions/srandom.texi: Likewise.
1514
1515 2012-01-12  Bruno Haible  <bruno@clisp.org>
1516
1517         random_r: Use common idioms.
1518         * lib/random_r.c: Include <stdlib.h> first.
1519
1520         random_r: Override incompatible API on AIX, OSF/1.
1521         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
1522         Override the system function if REPLACE_RANDOM_R is 1.
1523         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
1524         and OSF/1, set REPLACE_RANDOM_R.
1525         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
1526         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
1527         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
1528         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
1529         * doc/glibc-functions/random_r.texi: Likewise.
1530         * doc/glibc-functions/setstate_r.texi: Likewise.
1531
1532         random_r: Support for MSVC 9.
1533         * lib/random_r.c: Include stdint.h, not inttypes.h.
1534
1535 2012-01-12  Eric Blake  <eblake@redhat.com>
1536
1537         inet_ntop: guard extra work by IF_LINT
1538         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
1539         better code generation when not checking for warnings.
1540         Suggested by Paul Eggert and Jim Meyering.
1541
1542         strptime: fix regression on mingw
1543         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
1544         Fix regression.  Reported by Bruno Haible.
1545
1546 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
1547             Bruno Haible  <bruno@clisp.org>
1548
1549         copy-file: add error-code-returning variant.
1550         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
1551         (qcopy_file_preserving): New declaration.
1552         * lib/copy-file.c (qcopy_file_preserving): Renamed from
1553         copy_file_preserving. Change return type to 'int'. Don't emit an error
1554         message here.
1555         (copy_file_preserving): New function.
1556         * tests/test-copy-file.c: Include <stdlib.h>.
1557         (main): Test qcopy_file_preserving if the environment variable
1558         NO_STDERR_OUTPUT is set.
1559         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
1560         with NO_STDERR_OUTPUT
1561         * tests/test-copy-file-2.sh: Likewise.
1562
1563 2012-01-10  Bruno Haible  <bruno@clisp.org>
1564
1565         copy-file: Use 'quote' module consistently.
1566         * lib/copy-file.c (copy_file_preserving): Use quote().
1567
1568         copy-file: Refactor.
1569         * lib/copy-file.c: Include quote.h.
1570         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
1571         message here.
1572         * modules/copy-file (Depends-on): Add quote.
1573
1574         acl: Export qcopy_acl.
1575         * lib/acl.h (qcopy_acl): New declaration.
1576         * lib/copy-acl.c (qcopy_acl): Make non-static.
1577
1578         acl: Rename a local variable.
1579         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
1580
1581         acl: Align return values of copy_acl and qcopy_acl.
1582         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
1583         maybe < -1.
1584
1585 2012-01-11  Eric Blake  <eblake@redhat.com>
1586
1587         strptime: silence gcc warnings
1588         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
1589         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
1590         Reported by Daniel P. Berrange.
1591
1592         inet_ntop: silence gcc warning
1593         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
1594         Reported by Daniel P. Berrange.
1595
1596 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
1597
1598         getloadavg test: skip the test on GNU/Linux without /proc mounted
1599         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
1600         file.  When /proc is not mounted, it always fails with ENOENT.
1601         * tests/test-getloadavg.c (main): Treat ENOENT return code from
1602         getloadavg(3) the same way as ENOSYS and ENOTSUP.
1603
1604 2012-01-10  Bruno Haible  <bruno@clisp.org>
1605
1606         regex: Avoid link error on MSVC 9.
1607         * modules/regex (Depends-on): Add wctype.
1608
1609 2012-01-10  Bruno Haible  <bruno@clisp.org>
1610
1611         doc: Mention --with-tests option.
1612         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
1613         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
1614         --with-tests.
1615         Reported by Reuben Thomas.
1616
1617 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
1618
1619         users.txt: order package names lexicographically.
1620         * users.txt: Order package names lexicographically.
1621
1622 2012-01-10  Jim Meyering  <meyering@redhat.com>
1623
1624         maint.mk: fix description in comment
1625         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
1626
1627         ignore-value: remove deprecated ignore_ptr function
1628         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
1629         * NEWS: Note this.
1630
1631 2012-01-09  Jim Meyering  <meyering@redhat.com>
1632
1633         test-init.sh: avoid a subshell
1634         * tests/test-init.sh: Remove protective subshell.
1635         Suggested by Bernhard Voelker.  While a subshell is normally
1636         required to protect against older shells (Solaris, FreeBSD) that
1637         warn about a missing program before performing redirection, the
1638         shell-selection tests performed by init.sh probably exclude any
1639         offending shell.
1640
1641 2012-01-08  Bruno Haible  <bruno@clisp.org>
1642
1643         setlocale tests: Avoid test failure on Solaris 11 2011-11.
1644         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
1645         variable.
1646
1647 2012-01-08  Bruno Haible  <bruno@clisp.org>
1648
1649         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
1650         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1651         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1652         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
1653         macro.
1654         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
1655         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1656         * lib/spawn_faction_addopen.c: Add workaround implementation if
1657         HAVE_WORKING_POSIX_SPAWN.
1658         * modules/spawn (Makefile): Substitute
1659         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1660         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
1661         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
1662         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1663         (Depends-on): Update conditions.
1664         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
1665         the Solaris 11 bug.
1666
1667 2012-01-08  Bruno Haible  <bruno@clisp.org>
1668
1669         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
1670         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1671         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1672         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
1673         macro.
1674         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
1675         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1676         * lib/spawn_faction_adddup2.c: Add workaround implementation if
1677         HAVE_WORKING_POSIX_SPAWN.
1678         * modules/spawn (Makefile): Substitute
1679         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1680         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
1681         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
1682         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1683         (Depends-on): Update conditions.
1684         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
1685         the Solaris 11 bug.
1686
1687 2012-01-08  Bruno Haible  <bruno@clisp.org>
1688
1689         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
1690         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1691         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1692         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
1693         HAVE_WORKING_POSIX_SPAWN.
1694         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
1695         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
1696         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1697         * lib/spawn_faction_addclose.c: Add workaround implementation if
1698         HAVE_WORKING_POSIX_SPAWN.
1699         * modules/spawn (Makefile): Substitute
1700         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1701         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
1702         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
1703         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1704         (Depends-on): Update conditions.
1705         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
1706         the Solaris 11 bug.
1707
1708 2012-01-08  Bruno Haible  <bruno@clisp.org>
1709
1710         doc: Update for Solaris 11 2011-11.
1711         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
1712         * m4/printf.m4: Update comments.
1713
1714 2012-01-08  Bruno Haible  <bruno@clisp.org>
1715
1716         mktime: Avoid compilation error on Solaris 11.
1717         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
1718
1719 2012-01-08  Bruno Haible  <bruno@clisp.org>
1720
1721         doc: Small fix.
1722         * doc/posix-headers/nl_types.texi: Correct platforms list.
1723
1724 2012-01-08  Simon Josefsson  <simon@josefsson.org>
1725
1726         Add lgpl-3.0 module.
1727         * MODULES.html.sh (Support for building documentation): Add
1728         lgpl-3.0.
1729         * modules/lgpl-3.0: New file.
1730
1731 2012-01-08  Jim Meyering  <meyering@redhat.com>
1732
1733         select.c: indent with spaces, not TABs
1734         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
1735
1736 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1737
1738         quotearg: do not use grave accent for left quote
1739         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
1740         locale_quoting_style.
1741         (quotearg_buffer_restyled): Fix example.
1742         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
1743
1744 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1745
1746         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
1747         Most programs do not have translation catalogs for English and much
1748         less separate catalogs for British and American English.  Drop the
1749         suggestion to translators about these two, and provide it
1750         automatically for Unicode locales.  Like most programs, even those
1751         using American English, we use single quotation marks.  This conflicts
1752         with the American typographic convention, but works better when you
1753         cite the entire error message within double quotes.  It also tries not
1754         to clash with established practice and with what non-gnulib programs
1755         will usually do.
1756         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
1757         using an UTF-8 or GB-18030 locale.  The list of other locales with
1758         quotes was provided by Bruno Haible.
1759         (quotearg_buffer_restyled): Adjust instructions to translators.
1760         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
1761         text, since this would be wrong when using Unicode.
1762         * modules/quotearg: Depend on c-strcaseeq.
1763
1764 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1765
1766         quotearg: fix Wikipedia link
1767         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
1768
1769 2012-01-07  Simon Josefsson  <simon@josefsson.org>
1770
1771         Fix for mingw with MSVC9.
1772         * m4/ld-version-script.m4: Check that compiler rejects version
1773         scripts with syntax errors.  Reported by Bruno Haible
1774         <bruno@clisp.org>.
1775
1776 2012-01-06  Bruno Haible  <bruno@clisp.org>
1777
1778         Talk about "native Windows API", not "Woe32".
1779         * lib/accept4.c: Update comments to mention native Windows.
1780         * lib/execute.c: Likewise.
1781         * lib/fatal-signal.c: Likewise.
1782         * lib/localcharset.c: Likewise.
1783         * lib/nanosleep.c: Likewise.
1784         * lib/nl_langinfo.c: Likewise.
1785         * lib/pclose.c: Likewise.
1786         * lib/pipe-filter-gi.c: Likewise.
1787         * lib/pipe-filter-ii.c: Likewise.
1788         * lib/pipe.c: Likewise.
1789         * lib/pipe2.c: Likewise.
1790         * lib/popen.c: Likewise.
1791         * lib/progreloc.c: Likewise.
1792         * lib/relocatable.c: Likewise.
1793         * lib/sigaction.c: Likewise.
1794         * lib/sigprocmask.c: Likewise.
1795         * lib/spawn-pipe.h: Likewise.
1796         * lib/spawn-pipe.c: Likewise.
1797         * lib/spawni.c: Likewise.
1798         * lib/stat-time.h: Likewise.
1799         * lib/w32spawn.h: Likewise.
1800         * tests/test-isatty.c: Likewise.
1801         * lib/config.charset: More comments.
1802         * doc/gnulib-intro.texi: Mention native Windows.
1803         * doc/posix-functions/_Exit_C99.texi: Likewise.
1804         * doc/posix-headers/fcntl.texi: Likewise.
1805
1806 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
1807
1808         argp: Avoid crash if translator uses % characters in a translation.
1809         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
1810         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1811
1812 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1813
1814         doc: C11 and C++11 are now official
1815         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
1816         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
1817         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
1818         * modules/stdalign:
1819         Replace references to draft C1X to C11, and to draft C++0X to C++11.
1820
1821 2012-01-06  Bruno Haible  <bruno@clisp.org>
1822
1823         uc-is-grapheme-break tests: Tweak.
1824         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
1825         message.
1826
1827 2012-01-06  Bruno Haible  <bruno@clisp.org>
1828
1829         test-init.sh: correct the test for diff -u
1830         * tests/test-init.sh: Also redirect stdout to /dev/null.
1831
1832 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1833
1834         Use ', not `, for quoting output.
1835         * build-aux/announce-gen (usage, sizes, print_news_deltas)
1836         (print_changelog_deltas, get_tool_versions, main program):
1837         * build-aux/git-version-gen:
1838         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
1839         * build-aux/move-if-change (help):
1840         * build-aux/useless-if-before-free (usage, main program):
1841         * check-module (parse_module_file, usage)
1842         (find_included_lib_files, check_module):
1843         * lib/argmatch.c (main) [TEST]:
1844         * lib/argp-help.c (_help):
1845         * lib/getopt1.c (main) [TEST]:
1846         * lib/git-merge-changelog.c (usage):
1847         * lib/xstrtol-error.c (xstrtol_error):
1848         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
1849         * m4/argz.m4 (gl_FUNC_ARGZ):
1850         * m4/bison.m4 (gl_BISON):
1851         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
1852         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1853         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1854         * m4/fpending.m4 (gl_PREREQ_FPENDING):
1855         * m4/gc-random.m4 (gl_GC_RANDOM):
1856         * m4/intl.m4 (gt_CHECK_DECL):
1857         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
1858         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
1859         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
1860         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
1861         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
1862         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
1863         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
1864         * tests/test-dirname.c (main):
1865         * tests/test-getpass.c (main):
1866         * tests/test-iconvme.c (main):
1867         * tests/test-parse-datetime.c (LOG):
1868         * tests/test-xstrtoimax.sh:
1869         * tests/test-xstrtol.sh:
1870         * tests/test-xstrtoll.sh:
1871         * tests/test-xstrtoumax.sh:
1872         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
1873         * top/GNUmakefile (abort-due-to-no-makefile):
1874         Quote 'like this', not `like this', as per the recent change to
1875         the GNU coding standards.
1876
1877 2012-01-05  Bruno Haible  <bruno@clisp.org>
1878
1879         strtoimax: Don't force a replacement on systems where intmax_t is int.
1880         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
1881         'intmax_t' is not larger than 'int'.
1882         Reported by Pádraig Brady <P@draigBrady.com>.
1883
1884 2012-01-05  Bruno Haible  <bruno@clisp.org>
1885
1886         doc: Mention NetBSD bugs.
1887         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
1888         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
1889
1890 2012-01-05  Bruno Haible  <bruno@clisp.org>
1891
1892         strtoumax tests: Enhance tests.
1893         * tests/test-strtoumax.c (main): Add tests for large values.
1894
1895 2012-01-05  Bruno Haible  <bruno@clisp.org>
1896
1897         strtoimax: Work around AIX 5.1 bug.
1898         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
1899         definition.
1900         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
1901         Set HAVE_STRTOIMAX.
1902         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
1903         REPLACE_STRTOIMAX.
1904         * modules/inttypes-incomplete (Makefile.am): Substitute
1905         REPLACE_STRTOIMAX.
1906         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
1907         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
1908         (Depends-on): Update conditions.
1909         * tests/test-strtoimax.c (main): Add tests for large values.
1910         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
1911
1912 2012-01-05  Bruno Haible  <bruno@clisp.org>
1913
1914         inttypes: Modernize.
1915         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
1916         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
1917         (Makefile.am): Update inttypes.h rule.
1918
1919 2012-01-05  Jim Meyering  <meyering@redhat.com>
1920
1921         init.sh: don't waste a subshell just to redirect stderr
1922         * tests/init.sh: In testing for diff -u and diff -c, use a
1923         stderr-redirecting exec inside `...` rather than a subshell.
1924
1925         test-init.sh: avoid failure on HP-UX 11.00
1926         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
1927         resolves to diff -c or cmp.  Reported by Bruno Haible.
1928
1929 2012-01-05  Bruno Haible  <bruno@clisp.org>
1930
1931         Tests for module 'strtoull'.
1932         * modules/strtoull-tests: New file.
1933         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
1934
1935 2012-01-05  Bruno Haible  <bruno@clisp.org>
1936
1937         Tests for module 'strtoll'.
1938         * modules/strtoll-tests: New file.
1939         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
1940
1941 2012-01-05  Bruno Haible  <bruno@clisp.org>
1942
1943         Tests for module 'strtoul'.
1944         * modules/strtoul-tests: New file.
1945         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
1946
1947 2012-01-05  Bruno Haible  <bruno@clisp.org>
1948
1949         Tests for module 'strtol'.
1950         * modules/strtol-tests: New file.
1951         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
1952
1953 2012-01-04  Jim Meyering  <meyering@redhat.com>
1954
1955         test-init.sh: accommodate Solaris 5.10's different diff -u output
1956         * tests/test-init.sh: Also exempt @@ lines from the comparison
1957         of diff output, since Solaris 5.10 and GNU diff formats differ.
1958         Reported by Stefano Lattarini.
1959
1960 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1961
1962         test-posixtm: don't assume signed integer wraparound
1963         * tests/test-posixtm.c (main): Don't assume wraparound semantics
1964         after signed integer overflow.  Inspired by (though it may not
1965         fix) Bruno Haible's bug report in
1966         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
1967
1968         Spell out "Windows 9x" and "Windows XP".
1969         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
1970         "Windows 9x" and "WinXP" with "Windows XP".
1971
1972 2012-01-04  Jim Meyering  <meyering@redhat.com>
1973
1974         test-vc-list-files-cvs.sh: remove obsolete comment
1975         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
1976         double exit.  Now that's all encapsulated via skip_ and Exit.
1977
1978 2012-01-04  Bruno Haible  <bruno@clisp.org>
1979
1980         Talk about "native Windows API", not "Win32".
1981         * lib/classpath.c: Update comments to mention native Windows.
1982         * lib/csharpexec.c: Likewise.
1983         * lib/dup2.c: Likewise.
1984         * lib/error.c: Likewise.
1985         * lib/fcntl.c: Likewise.
1986         * lib/filename.h: Likewise.
1987         * lib/findprog.c: Likewise.
1988         * lib/get-rusage-as.c: Likewise.
1989         * lib/get-rusage-data.c: Likewise.
1990         * lib/getpagesize.c: Likewise.
1991         * lib/javaexec.c: Likewise.
1992         * lib/msvc-inval.c: Likewise.
1993         * lib/msvc-nothrow.c: Likewise.
1994         * lib/nanosleep.c: Likewise.
1995         * lib/nonblocking.c: Likewise.
1996         * lib/printf-parse.c: Likewise.
1997         * lib/setlocale.c: Likewise.
1998         * lib/sigaction.c: Likewise.
1999         * lib/strerror_r.c: Likewise.
2000         * lib/tmpdir.c: Likewise.
2001         * lib/vasnprintf.c: Likewise.
2002         * lib/w32spawn.h: Likewise.
2003         * lib/waitpid.c: Likewise.
2004         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
2005         * m4/locale-ar.m4: Likewise.
2006         * m4/locale-fr.m4: Likewise.
2007         * m4/locale-ja.m4: Likewise.
2008         * m4/locale-tr.m4: Likewise.
2009         * m4/locale-zh.m4: Likewise.
2010         * m4/printf.m4: Likewise.
2011         * tests/test-cloexec.c: Likewise.
2012         * tests/test-copy-acl.sh: Likewise.
2013         * tests/test-copy-file.sh: Likewise.
2014         * tests/test-file-has-acl.sh: Likewise.
2015         * tests/test-set-mode-acl.sh: Likewise.
2016         * tests/test-dup-safer.c: Likewise.
2017         * tests/test-dup2.c: Likewise.
2018         * tests/test-dup3.c: Likewise.
2019         * tests/test-fcntl.c: Likewise.
2020         * tests/test-nonblocking-pipe.h: Likewise.
2021         * tests/test-nonblocking-socket.h: Likewise.
2022         * tests/test-pipe.c: Likewise.
2023         * tests/test-pipe2.c: Likewise.
2024         * tests/test-spawn-pipe-child.c: Likewise.
2025         * doc/acl-resources.txt: Likewise.
2026         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2027         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
2028         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
2029         * lib/localcharset.c: Update comments to mention native Windows.
2030         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2031         * lib/localename.c: Likewise.
2032         * lib/progreloc.c: Likewise.
2033         * lib/relocatable.c: Likewise.
2034         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2035         (windows_compute_revents): Renamed from win32_compute_revents.
2036         (windows_compute_revents_socket): Renamed from
2037         win32_compute_revents_socket.
2038         * lib/select.c: Update comments to mention native Windows.
2039         (windows_poll_handle): Renamed from win32_poll_handle.
2040         * m4/threadlib.m4: Update comments to mention native Windows.
2041         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
2042         --enable-threads=windows instead of --enable-threads=win32. Set
2043         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
2044         * lib/glthread/lock.h: Update comments to mention native Windows.
2045         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
2046         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
2047         USE_WIN32_THREADS.
2048         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
2049         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
2050         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
2051         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
2052         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
2053         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
2054         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
2055         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
2056         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
2057         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
2058         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
2059         * tests/test-tls.c: Likewise.
2060         Rationale:
2061         Microsoft renamed the "Win32 API" to "Windows API", as it is available
2062         on both 32-bit and 64-bit Windows systems.
2063         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
2064         line of distinction is between "native Windows" on one side and Unix/
2065         POSIX systems on the other side. More details in
2066         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
2067         Suggested by Paul Eggert.
2068
2069 2012-01-03  Bruno Haible  <bruno@clisp.org>
2070
2071         isatty: Support for MSVC 9.
2072         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
2073         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
2074         (_isatty_nothrow): New function.
2075         (isatty): Use it instead of _isatty.
2076         (IsConsoleHandle): Add comment, from Paolo Bonzini.
2077         * lib/poll.c (IsConsoleHandle): Likewise.
2078         * lib/select.c (IsConsoleHandle): Likewise.
2079         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
2080         (gl_PREREQ_ISATTY): New macro.
2081         * modules/isatty (Depends-on): Add msvc-inval.
2082         (configure.ac): Invoke gl_PREREQ_ISATTY.
2083
2084 2012-01-03  Jim Meyering  <meyering@redhat.com>
2085
2086         maint.mk: remove temporary transition aid from over 1.5 years ago
2087         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
2088         purpose was to aid in the transition (avoiding silent malfunction)
2089         from that old name to the new _sc_search_regexp.  This shim was
2090         added by commit 219c504b.
2091
2092         init.sh: do not try to accommodate compare arguments starting with "-"
2093         * tests/init.sh (compare_dev_null_): Do not try to accommodate
2094         compare arguments that start with "-".  Besides, we do not worry
2095         about this when invoking diff or cmp; why start now with sed?
2096         Using "--" to separate options from argument would trigger sed
2097         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
2098         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
2099
2100 2012-01-02  Bruno Haible  <bruno@clisp.org>
2101
2102         Enhance tests for module 'isatty'.
2103         * modules/isatty-tests (Depends-on): Add pipe-posix.
2104         * tests/test-isatty.c: Include <fcntl.h>.
2105         (DEV_NULL): New macro.
2106         (main): Test the resut of isatty() also on regular files, pipes, and
2107         /dev/null.
2108
2109         New module 'isatty'.
2110         * lib/unistd.in.h (isatty): New declaration.
2111         * lib/isatty.c: New file, based on an idea of
2112         Bastien Roucariès <roucaries.bastien@gmail.com>.
2113         * m4/isatty.m4: New file.
2114         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
2115         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
2116         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
2117         REPLACE_ISATTY.
2118         * modules/isatty: New file.
2119         * doc/posix-functions/isatty.texi: Mention the new module.
2120         Suggested by Paolo Bonzini.
2121
2122 2012-01-02  Bruno Haible  <bruno@clisp.org>
2123
2124         canonicalize: Tweak 2011-12-29 commit.
2125         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
2126         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
2127
2128 2012-01-02  Jim Meyering  <meyering@redhat.com>
2129
2130         gitlog-to-changelog: describe input syntax in --help output
2131         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
2132
2133         gitlog-to-changelog: fix typo in --help: show backslash before email @
2134         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
2135         in sources, but not in actual output.
2136
2137 2011-12-30  Jim Meyering  <meyering@redhat.com>
2138
2139         gitlog-to-changelog: don't malfunction when name contains %-directive
2140         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
2141         in a name string cause trouble.  E.g., with a user name of "%s",
2142         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
2143
2144 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
2145
2146         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
2147         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
2148         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
2149         the "  (tiny change)" notation that is appended to the standard
2150         ChangeLog "date  name  email" header line.
2151
2152 2012-01-01  Jim Meyering  <meyering@redhat.com>
2153
2154         test-framework-sh: init.sh: fix "make dist" failure
2155         When using gnulib-tool's --with-tests option and any module that
2156         depends on test-framework-sh, "make dist" would fail due to the
2157         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
2158         in the gltests directory, and not in the gllib/ directory.
2159         One way to work around that is to move the EXTRA_DIST += init.sh
2160         from the primary module to the -tests one:
2161         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
2162         * modules/test-framework-sh (Makefile.am): ...not here.
2163         Reported by Tom G. Christensen in
2164         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
2165
2166         version-etc: update copyright year reported by --version
2167         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
2168
2169 2011-12-31  Pádraig Brady  <P@draigBrady.com>
2170
2171         canonicalize: only stat() if required
2172         * lib/canonicalize.c (canonicalize_filename_mode):
2173         Avoid calling l?stat() when both CAN_MISSING,
2174         and CAN_NOLINKS are set, as we neither need
2175         to resolve symlinks or test component existence.
2176
2177 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
2178
2179         doc: cover st_ino issues once; add OpenVMS etc.
2180         * doc/posix-functions/stat.texi (stat):
2181         * doc/posix-functions/lstat.texi (lstat):
2182         * doc/posix-functions/fstatat.texi (fstatat):
2183         * doc/posix-functions/fstat.texi (fstat):
2184         Move general 'struct stat' stuff to sys_stat.texi,
2185         leaving behind a pointer.
2186         * doc/posix-headers/sys_stat.texi (sys/stat.h):
2187         Merge duplicate info about 'struct stat' problems into here.
2188         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
2189         and suggest partial workarounds.
2190
2191         same-inode: port to OpenVMS
2192         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
2193         three st_ino values.
2194
2195 2011-12-30  Pádraig Brady  <P@draigBrady.com>
2196
2197         canonicalize: fix references to stat() and lstat()
2198         * lib/canonicalize.c (canonicalize_filename_mode):
2199         Ensure references always resolve to a replacement
2200         function if required (even via a macro).
2201
2202 2011-12-30  Jim Meyering  <meyering@redhat.com>
2203
2204         gitlog-to-changelog: remove a little duplication
2205         * build-aux/gitlog-to-changelog (main): Grep @lines once,
2206         rather than twice.
2207
2208 2011-12-29  Pádraig Brady  <P@draigBrady.com>
2209
2210         canonicalize: add support for not resolving symlinks
2211         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
2212         indicate we don't want to follow symlinks.  Also
2213         provide CAN_MODE_MASK to aid setting these existing
2214         mutually exclusive values.
2215         * lib/canonicalize.c (canonicalize_filename_mode):
2216         Extract the flags from can_mode parameter, which
2217         are currently just used to select between stat()
2218         and lstat().  Also ensure that mutually exclusive
2219         values are flagged immediately as invalid.
2220         * tests/test-canonicalize.c: Verify symlinks are
2221         not followed, and that invalid flag combinations
2222         are diagnosed.
2223
2224 2011-12-25  Jim Meyering  <meyering@redhat.com>
2225
2226         gitlog-to-changelog: do not clump multi-paragraph entries
2227         Identical header lines (date,name,email+coauthors) are suppressed,
2228         thus putting all entries with those same characteristics under
2229         a single header.  However, when a log entry consists of two or
2230         more paragraphs, it may not be clear where it starts and ends.
2231         This change makes it so that such an entry is always separated
2232         from others by a header line, even when that header would
2233         otherwise be suppressed.
2234         * build-aux/gitlog-to-changelog: Implement the above.
2235         Inspired by a related request from Stefano Lattarini in
2236         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
2237
2238 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2239
2240         announce-gen: fix `cmd' typo in diagnostic
2241         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
2242         diagnostic: a missing '$' meant that the command was not output.
2243
2244 2011-12-23  Jim Meyering  <meyering@redhat.com>
2245
2246         test-framework-sh: distribute init.sh
2247         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
2248         Otherwise, "make -C gnulib-tests check" (at least in grep) would
2249         fail due to the lack of init.sh.
2250
2251         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
2252         * modules/atexit-tests: Rather than listing tests/init.sh,
2253         now that there's a module for it, simply depend on that new module.
2254         * modules/closein-tests: Likewise.
2255         * modules/exclude-tests: Likewise.
2256         * modules/getcwd-tests: Likewise.
2257         * modules/perror-tests: Likewise.
2258         * modules/pread-tests: Likewise.
2259         * modules/pwrite-tests: Likewise.
2260         * modules/vc-list-files-tests: Likewise.
2261         * modules/verify-tests: Likewise.
2262         * modules/xalloc-die-tests: Likewise.
2263         * modules/xstrtoimax-tests: Likewise.
2264         * modules/xstrtol-tests: Likewise.
2265         * modules/xstrtoll-tests: Likewise.
2266         * modules/xstrtoumax-tests: Likewise.
2267         * modules/yesno-tests: Likewise.
2268
2269 2011-12-22  Jim Meyering  <meyering@redhat.com>
2270
2271         test-framework-sh: add minimal tests of init.sh's compare function
2272         * modules/test-framework-sh-tests: New file.
2273         * tests/test-init.sh: New file.
2274
2275         test-framework-sh: new module
2276         * modules/test-framework-sh: New file.
2277         * MODULES.html.sh (Support for maintaining and releasing projects):
2278         List it.
2279
2280         init.sh: do not emit simulated diff output to stderr
2281         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
2282
2283 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2284
2285         .gitignore: ignore gnulib.dvi and regex.info
2286         * doc/.gitignore:add gnulib.dvi and regex.info
2287
2288 2011-12-22  Jim Meyering  <meyering@redhat.com>
2289
2290         init.sh: correct previous change
2291         * tests/init.sh (compare): My previous change was wrong.
2292         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
2293
2294         init.sh: avoid unwarranted test failure when using "set -e"
2295         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
2296         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
2297         a use like "compare exp out" would get evoke an unconditional failure.
2298
2299 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
2300
2301         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
2302         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
2303         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
2304         autoreconf that did not.
2305         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
2306         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2307
2308 2011-12-17  Jim Meyering  <meyering@redhat.com>
2309
2310         bootstrap: remove some now-unneeded code
2311         This script arose back when gnulib-tool was young.
2312         Since then, it has seen improvements that render much of this
2313         script unnecessary.  In particular, it can now make symlinks
2314         to the files it uses.  Also, I no longer see as much value in
2315         marking files as read-only via comments.
2316         If you relied on the symlink-creation feature of the preceding
2317         version of this script, you can get most of that functionality
2318         by adding the --symlink option to the definition of
2319         gnulib_tool_option_extras in your bootstrap.conf file.
2320         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
2321         Run autopoint and libtoolize *before* gnulib-tool.
2322         After it, run an abbreviated autoreconf, rather than a loop around
2323         all tools.
2324         (slirp, bt_mark_as_generated): Remove functions.
2325
2326 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2327
2328         ftoastr: fix typo
2329         * lib/ftoastr.h: Fix misspelling in comment.
2330
2331 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
2332
2333         * top/README-release: fix punctuation.
2334
2335 2011-12-17  Jim Meyering  <meyering@redhat.com>
2336
2337         bootstrap: correct the recent buildreq change
2338         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
2339         had no effect.
2340         * build-aux/bootstrap (buildreq): Bracket each search term with
2341         "*...*", so that the shell "case" statement works as intended.
2342         Add comments.
2343
2344 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
2345
2346         build: let bootstrap resort to wget when downloading .po files
2347         * build-aux/bootstrap (download_po_files): Fallback to wget when
2348         downloading the .po files via rsync fails.  This is necessary to
2349         bootstrap from behind a strict firewall.
2350
2351 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2352
2353         stdint: don't assume C++11 when compiling with g++
2354         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
2355         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
2356         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
2357         work also in C++ before C++11, as that improperly inhibits
2358         generating a substitute stdint.h for that case.
2359
2360 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2361
2362         alloca: protect comment from gnulib-tool
2363         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
2364         that gnulib-tool doesn't think it's a license, and munge it to
2365         say "GCC version 3".
2366
2367 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
2368
2369         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
2370         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
2371         $(abs_top_builddir) instead of $(top_builddir).
2372
2373 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
2374
2375         strftime-tests: also test nanoseconds
2376         * tests/test-strftime.c (T): Add a test of %N.
2377
2378 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
2379
2380         inttypes, stdint: add C++11 support
2381         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
2382         when including inttypes.h and stdint.h.  Support this change to
2383         the standard.
2384         * doc/posix-headers/inttypes.texi (inttypes.h):
2385         * doc/posix-headers/stdint.texi (stdint.h): Document this.
2386         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
2387         Define if not defined already, for the benefit of pre-C++11 hosts.
2388         Define the standard format macros (e.g., PRId8) always.
2389         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
2390         Likewise, if __cpluspus.  Define the standard constant and limit
2391         macros (e.g., INT8_C, INT8_MAX) always.
2392         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
2393         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
2394         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
2395         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
2396         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
2397         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
2398         Likewise.
2399
2400 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2401
2402         nonblocking tests: Fix test failure on Linux/PPC.
2403         Suggested by Prerna Saxena in
2404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
2405         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
2406         Set to 1100000.
2407
2408 2011-12-12  Jim Meyering  <meyering@redhat.com>
2409
2410         argmatch: don't hard-code `' when listing valid option arguments
2411         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
2412         use the quote function to add quotes.  Use fputs rather than
2413         fprintf for the format string with no format directive.
2414
2415 2011-12-07  Eric Blake  <eblake@redhat.com>
2416
2417         bootstrap: detect tools required by gnulib-tool
2418         * build-aux/bootstrap (buildreq): Provide minimum implicit
2419         dependencies.
2420         * DEPENDENCIES: Mention patch as a prereq.
2421
2422 2011-12-04  Bruno Haible  <bruno@clisp.org>
2423
2424         sethostname: Port to Windows platforms.
2425         * lib/sethostname.c: Provide an alternate implementation for Windows
2426         platforms.
2427         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
2428         (main): Skip the test if sethostname() fails with EPERM. On Windows
2429         platforms, don't check the result of gethostname().
2430
2431 2011-12-04  Bruno Haible  <bruno@clisp.org>
2432             Jim Meyering  <meyering@redhat.com>
2433
2434         tests: Avoid spurious error message on platforms without mktemp program.
2435         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
2436
2437 2011-12-04  Bruno Haible  <bruno@clisp.org>
2438
2439         sethostname: Fix documentation.
2440         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
2441         "not fixed" section.
2442
2443 2011-12-03  Bruno Haible  <bruno@clisp.org>
2444
2445         gnulib-tool: Verify that the License field is present and non-empty.
2446         * gnulib-tool (func_get_license_raw): New function, extracted from
2447         func_get_license.
2448         (func_get_license): Use it. Warn if the module is not a test module and
2449         has no license.
2450         Suggested by Jim Meyering.
2451
2452 2011-12-03  Bruno Haible  <bruno@clisp.org>
2453
2454         sethostname tests: Fix link error on mingw.
2455         * tests/test-sethostname1.c: New file, extracted from
2456         tests/test-sethostname.c.
2457         * tests/test-sethostname2.c: New file, extracted from
2458         tests/test-sethostname.c.
2459         * tests/test-sethostname.c: Remove file.
2460         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
2461         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
2462         (Depends-on): Add gethostname.
2463         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
2464         Link the latter with $(GETHOSTNAME_LIB).
2465
2466         sethostname tests: Fix compilation error on mingw.
2467         * tests/test-sethostname.c: Don't include <sys/types.h>.
2468         (geteuid): Use a dummy value without uid_t.
2469         * modules/sethostname-tests (Depends-on): Remove sys_types.
2470
2471         sethostname tests: Avoid a gcc warning.
2472         * tests/test-sethostname.c (main): Remove an unused variable.
2473
2474         Tweak last commit.
2475         * modules/sethostname-tests (Files): Sort by decreasing importance.
2476         (configure.ac): Check for geteuid.
2477         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
2478         the test when there's nothing to test. Drop an unnecessary cast.
2479         Improve an error message. Verify that the final sethostname() call
2480         succeeds.
2481
2482 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2483
2484         Add a test suite for the sethostname module.
2485         * modules/sethostname-tests: New file.  A test program
2486         for the sethostname module.
2487         * tests/test-sethostname.c: Likewise.
2488
2489 2011-12-03  Bruno Haible  <bruno@clisp.org>
2490
2491         Tweak last commit.
2492         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
2493         Fix preprocessor directives indentation. Fix typos.
2494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
2495         * modules/unistd (Makefile): Likewise.
2496
2497 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2498
2499         Integrate the sethostname module into unistd.
2500         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
2501         into the unistd.h header.
2502         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
2503         preprocessor directives.
2504         * modules/unistd: Setup the Makefile substitutions of the
2505         SETHOSTNAME preprocessor directives.
2506
2507 2011-12-03  Bruno Haible  <bruno@clisp.org>
2508
2509         Tweak last commit.
2510         * lib/sethostname.c: Don't include <string.h>.
2511         (sethostname): No need to copy the argument string to the stack. Don't
2512         call clearerr. Preserve errno when fprintf failed.
2513         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
2514         Don't invoke AC_REPLACE_FUNCS.
2515         * modules/sethostname (Link): Remove empty section.
2516         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
2517         failure problem.
2518
2519 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2520
2521         New module 'sethostname'.
2522         * lib/sethostname.c (sethostname): New file.  Provide sethostname
2523         for systems that lack it.
2524         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
2525         sethostname declaration and function.
2526         * modules/sethostname: New file.  Define the sethostname module.
2527
2528 2011-12-03  Bruno Haible  <bruno@clisp.org>
2529
2530         Tweak last commit.
2531         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
2532
2533 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2534
2535         Split the HOST_NAME_MAX detection into a separate m4 macro.
2536         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
2537         macro so it can be used by the pending sethostname module.
2538
2539 2011-12-03  Bruno Haible  <bruno@clisp.org>
2540
2541         Fix module descriptions syntax.
2542         * modules/argv-iter (License): Fix syntax.
2543         * modules/di-set (License): Likewise.
2544         * modules/ino-map (License): Likewise.
2545         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
2546
2547 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2548
2549         stdalign: port to Clang 3.0
2550         Problem reported by Simon Josefsson in
2551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
2552         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
2553         which has <stdalign.h> but which does not define alignof.
2554         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
2555
2556 2011-12-01  Eric Blake  <eblake@redhat.com>
2557
2558         mktempd: silence dd usage
2559         * build-aux/mktempd (rand_bytes): Silence dd.
2560
2561 2011-11-30  Simon Josefsson  <simon@josefsson.org>
2562
2563         manywarnings: Don't mention gcc version in docstring.
2564         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
2565         Jim Meyering <meyering@redhat.com>.
2566
2567 2011-11-30  Jim Meyering  <meyering@redhat.com>
2568
2569         hash: mark a few floating point constants with "f" suffix
2570         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
2571         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
2572         floating point constants with "f", since they're destined to be
2573         saved/used as "float"s.
2574
2575 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
2576
2577         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
2578         * tests/test-float.c (test_long_double): Correct and re-enable the
2579         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
2580
2581 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
2582
2583         Avoid subtracting two pointers that don't point into the same block.
2584         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
2585         only pointers into the same memory block are subtracted. We cannot
2586         assume that sizeof (ptrdiff_t) == sizeof (void *).
2587
2588 2011-11-29  Eric Blake  <eblake@redhat.com>
2589
2590         maint.mk: add syntax check for use of compare from init.sh
2591         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
2592         moved here from coreutils.
2593
2594         manywarnings: drop -Wunsuffixed-float-constants
2595         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
2596         '1.0D', which is the only way to silence this warning for 'double'.
2597
2598 2011-11-29  Jim Meyering  <meyering@redhat.com>
2599
2600         hash: mark compute_bucket_size with the pure attribute
2601         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
2602
2603         quotearg, propername: correct pragma guard expression
2604         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
2605         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
2606
2607 2011-11-28  Jim Meyering  <meyering@redhat.com>
2608
2609         propername: do not mark proper_name with the const attribute
2610         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
2611         since it examines data pointed to by its parameter.
2612         * lib/propername.c (proper_name): Instead, add a pragma to suppress
2613         the suggestion from -Wsuggest-attribute=const.
2614
2615         propername: mark one more function as const
2616         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2617
2618 2011-11-27  Jim Meyering  <meyering@redhat.com>
2619
2620         mark functions with const and pure attributes
2621
2622         Mark functions per suggestions from gcc-4.6 when using these options:
2623         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
2624         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
2625         Follow these guidelines: when possible, apply the attribute to
2626         an extern declaration, not to its definition.  Apply it to the
2627         definition only when the definition is static.
2628         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
2629         * lib/argv-iter.h (argv_iter_n_args): Likewise.
2630         * lib/base64.h (isbase64): Likewise.
2631         * lib/basename-lgpl.c (last_component, base_len): Likewise.
2632         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
2633         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
2634         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
2635         (c_tolower, c_toupper): Likewise.
2636         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
2637         * lib/chdir-long.c (find_non_slash): Likewise.
2638         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
2639         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
2640         * lib/file-type.h (file_type): Likewise.
2641         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
2642         * lib/filevercmp.c (verrevcmp): Likewise.
2643         * lib/freadahead.h (freadahead): Likewise.
2644         * lib/fts.c (fts_maxarglen): Likewise.
2645         * lib/hash-pjw.h (hash_pjw): Likewise.
2646         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
2647         * lib/hash.c (is_prime, next_prime): Likewise.
2648         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
2649         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
2650         (hash_table_ok, hash_get_first, hash_string): Likewise.
2651         (compute_bucket_size): Likewise.
2652         * lib/i-ring.h (i_ring_empty): Likewise.
2653         * lib/isnan.c (isnanl): Likewise.
2654         * lib/math.h (isnanl, rpl_isnanl): Likewise.
2655         * lib/memcasecmp.h (memcasecmp): Likewise.
2656         * lib/memchr2.h (memchr2): Likewise.
2657         * lib/memcmp2.h (memcmp2): Likewise.
2658         * lib/parse-datetime.y (lookup_zone): Likewise.
2659         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
2660         [!WINDOWS_SOCKETS]: Likewise.
2661         * lib/strnlen1.h (strnlen1): Likewise.
2662         * lib/uniwidth.in.h (uc_width): Likewise.
2663         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
2664         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
2665         (quoting_options_from_style): Add a comment.
2666         * lib/propername.h (proper_name): Add a comment.
2667
2668 2011-11-27  Bruno Haible  <bruno@clisp.org>
2669
2670         Remove unused macros from !_LIBC code in glibc-borrowed files.
2671         * lib/fnmatch.c (STRCOLL): Remove macro.
2672         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
2673         * lib/glob.c (__stat, __readdir64): Remove macros.
2674         * lib/tempname.c (__open64, __xstat64): Remove macros.
2675         Suggested by Paul Eggert.
2676
2677 2011-11-27  Bruno Haible  <bruno@clisp.org>
2678
2679         getcwd: Fix link error on MSVC 9.
2680         * modules/getcwd (Depends-on): Add readdir, rewinddir.
2681
2682 2011-11-27  Bruno Haible  <bruno@clisp.org>
2683
2684         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
2685         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
2686         HAVE_OPENDIR is 0.
2687         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
2688         HAVE_CLOSEDIR is 0.
2689         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
2690         is 0.
2691         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2692
2693 2011-11-27  Bruno Haible  <bruno@clisp.org>
2694
2695         getcwd: Fix bug from 2011-08-17.
2696         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
2697         platforms that need it.
2698         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
2699         code of 4 to be a failure, not a success. This ensures that
2700         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2701
2702 2011-11-27  Bruno Haible  <bruno@clisp.org>
2703
2704         binary-io tests: Avoid test failure on mingw when libtool is used.
2705         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
2706         Don't verify the size of t-bin-out1.tmp here.
2707         * tests/test-binary-io.sh: Verify it here.
2708         Reported by Simon Josefsson.
2709
2710 2011-11-26  Bruno Haible  <bruno@clisp.org>
2711
2712         Fix conflict between two instantiations of module 'unistd'.
2713         * gnulib-tool (func_emit_autoconf_snippet): Substitute
2714         ${include_guard_prefix} also in the autoconf snippet.
2715         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
2716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
2717         GNULIB_UNISTD_H_GETOPT.
2718         * modules/getopt-posix (configure.ac): Set the
2719         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
2720         * modules/getopt-gnu (configure.ac): Likewise.
2721         * modules/unistd (Makefile.am): Change the substitution value of
2722         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
2723         Reported by Simon Josefsson.
2724
2725 2011-11-25  Bruno Haible  <bruno@clisp.org>
2726
2727         pagealign_alloc: Doc and comments.
2728         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
2729         module.
2730         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2731
2732 2011-11-25  Jim Meyering  <meyering@redhat.com>
2733
2734         test-update-copyright.sh: avoid false-positive failure
2735         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
2736         around false positive failure on Cygwin/Windows.  The latter was
2737         matching erroneously-created files with names like
2738         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
2739
2740 2011-11-25  Simon Josefsson  <simon@josefsson.org>
2741
2742         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
2743         * m4/valgrind-tests.m4: Check that the parameters that will be
2744         used works, not just a subset of them.  Reported by Bruno Haible
2745         <bruno@clisp.org>.
2746
2747 2011-11-24  Jim Meyering  <meyering@redhat.com>
2748
2749         test-stdalign.c: comment out long double tests
2750         * tests/test-stdalign.c: Don't try to reduce alignment of long double
2751         variables.  That provokes errors like this from gcc-4.7.0 20111124:
2752         error: '_Alignas' specifiers cannot reduce alignment of \
2753         'static_longdouble_alignas'.
2754
2755 2011-11-22  Jim Meyering  <meyering@redhat.com>
2756
2757         init.sh: make "compare /dev/null FILE" output more readable
2758         * tests/init.sh (compare_): Document the preferred order of arguments.
2759         (emit_diff_u_header_): New function.
2760         (compare_dev_null_): Emit a simulated diff, rather than just the
2761         contents of the unexpected file.  Suggestion from Bruno Haible.
2762
2763 2011-11-21  Jim Meyering  <meyering@redhat.com>
2764             Eric Blake  <eblake@redhat.com>
2765
2766         init.sh: work around OSF/1 5.1's mishandling of /dev/null
2767         * tests/init.sh: Make our compare function slightly more portable.
2768         Reported by Bruno Haible in
2769         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2770
2771 2011-11-21  Simon Josefsson  <simon@josefsson.org>
2772
2773         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
2774         before using it, in code that ends up in config.h.
2775
2776 2011-11-20  Bruno Haible  <bruno@clisp.org>
2777
2778         getcwd: Work around getcwd bug on AIX 5..7.
2779         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
2780         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
2781         Use a different value for gl_cv_func_getcwd_path_max. Move the
2782         definition of HAVE_PARTLY_WORKING_GETCWD from here...
2783         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
2784         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
2785         Define HAVE_MINIMALLY_WORKING_GETCWD.
2786         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
2787         where it is not even minimally working, that is, on AIX.
2788         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
2789         m4/getcwd-path-max.m4.
2790         (main): Update exit code computation.
2791         * doc/posix-functions/getcwd.texi: Mention list of platforms where
2792         getcwd does not handle long file names.
2793
2794 2011-11-20  Bruno Haible  <bruno@clisp.org>
2795
2796         getcwd: Fix bug from 2009-09-10.
2797         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
2798         like "no".
2799
2800 2011-11-20  Simon Josefsson  <simon@josefsson.org>
2801
2802         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2803
2804 2011-11-20  Bruno Haible  <bruno@clisp.org>
2805
2806         fma tests: Avoid shadowing local variables.
2807         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
2808         expected.
2809
2810 2011-11-20  Bruno Haible  <bruno@clisp.org>
2811
2812         copysignf tests: Fix.
2813         * tests/test-copysignf.c: Fix signature check.
2814
2815 2011-11-20  Bruno Haible  <bruno@clisp.org>
2816
2817         fma: Remove unused code.
2818         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
2819         unused macros.
2820
2821 2011-11-20  Bruno Haible  <bruno@clisp.org>
2822
2823         sethostname: Fix doc about AIX.
2824         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
2825         sethostname; it has it.
2826
2827         sethostname: Mention more portability problems.
2828         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
2829         problem.
2830         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2831
2832 2011-11-19  Bruno Haible  <bruno@clisp.org>
2833
2834         Depend on module fcntl-h when AT_FDCWD is used.
2835         * modules/utimens (Depends-on): Add fcntl-h.
2836         * modules/areadlinkat (Depends-on): Likewise.
2837         * modules/areadlinkat-with-size (Depends-on): Likewise.
2838         * modules/faccessat (Depends-on): Likewise.
2839         * modules/fchmodat (Depends-on): Likewise.
2840         * modules/fchownat (Depends-on): Likewise.
2841         * modules/getcwd (Depends-on): Likewise.
2842         * modules/mkdirat (Depends-on): Likewise.
2843         * modules/mkfifoat (Depends-on): Likewise.
2844         * modules/readlinkat (Depends-on): Likewise.
2845         * modules/symlinkat (Depends-on): Likewise.
2846         * modules/dup2-tests (Depends-on): Likewise.
2847         * modules/fdutimensat-tests (Depends-on): Likewise.
2848         * modules/futimens-tests (Depends-on): Likewise.
2849
2850 2011-11-19  Bruno Haible  <bruno@clisp.org>
2851
2852         euidaccess: Update a comment.
2853         * lib/euidaccess.c: Update comment about platforms with faccessat.
2854
2855 2011-11-19  Bruno Haible  <bruno@clisp.org>
2856
2857         openat: Fix file list.
2858         * modules/openat (Files): Remove lib/at-func.c.
2859
2860 2011-11-19  Bruno Haible  <bruno@clisp.org>
2861
2862         fstatat: Simplify.
2863         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
2864         gnulib should define rpl_fstatat, there is a
2865         "#define fstatat rpl_fstatat" in <sys/stat.h>.
2866
2867 2011-11-19  Bruno Haible  <bruno@clisp.org>
2868
2869         Ensure 'inline' can be used in tests/test-utimens-common.h.
2870         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
2871         * modules/futimens-tests (configure.ac): Likewise.
2872         * modules/utimens-tests (configure.ac): Likewise.
2873         * modules/utimensat-tests (configure.ac): Likewise.
2874
2875 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2876
2877         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
2878         not hash_insert0.
2879         (hash_insert_if_absent): Doc fix.
2880
2881 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2882
2883         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2884
2885 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2886
2887         test-getcwd: disambiguate exit status
2888         * tests/test-getcwd.c (test_long_name): Return 0..7.
2889         (main): Exit with an unambiguous exit status.  The old
2890         code yielded a mysterious mixture of two failure codes.
2891
2892         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
2893         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
2894         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
2895         rpl_fstatat or fstatat.  This should fix the other problem
2896         reported by Kai Habel in
2897         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2898         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
2899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
2900         and I reproduced it on a Solaris 8 host we still have in production.
2901
2902 2011-11-18  Jim Meyering  <meyering@redhat.com>
2903
2904         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
2905         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
2906         Add a sentence to the comment.
2907         (hash_insert0): New function that simply calls hash_insert_if_absent.
2908         * lib/hash.h (hash_insert_if_absent): Declare it.
2909         (hash_insert0): Add deprecation attribute.
2910         (_GL_ATTRIBUTE_DEPRECATED): Define.
2911         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
2912         not hash_insert0.
2913         * NEWS: Mention it, even though it's not really an incompatible change.
2914
2915 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
2916
2917         openat: avoid compilation failure due to lack of <errno.h> inclusion
2918         * lib/openat.c: Include <errno.h>.
2919
2920 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2921
2922         * modules/getcwd (Depends-on): Add fdopendir.
2923         This fixes one of the two problems reported by Kai Habel in
2924         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2925
2926         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
2927         stdalign problem reported by Ian Beckwith in
2928         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
2929         * modules/crypto/gc-arcfour (Depends-on):
2930         Depend conditionally on crypto/arcfour.
2931         * modules/crypto/gc-arctwo (Depends-on):
2932         Depend conditionally on crypto/arctwo.
2933         * modules/crypto/gc-des (Depends-on):
2934         Depend conditionally on crypto/des.
2935         * modules/crypto/gc-hmac-md5 (Depends-on):
2936         Depend conditionally on crypto/hmac-md5.
2937         * modules/crypto/gc-hmac-sha1 (Depends-on):
2938         Depend conditionally on crypto/hmac-sha1.
2939         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
2940         * modules/crypto/gc-md4 (Depends-on):
2941         Depend conditionally on crypto/md4.
2942         * modules/crypto/gc-md5 (Depends-on):
2943         Depend conditionally on crypto/md5.
2944         * modules/crypto/gc-rijndael (Depends-on):
2945         Depend conditionally on crypto/rijndael.
2946         * modules/crypto/gc-sha1 (Depends-on):
2947         Depend conditionally on crypto/sha1.
2948         * modules/crypto/gc-arcfour:
2949         * modules/crypto/gc-arctwo:
2950         * modules/crypto/gc-des:
2951         * modules/crypto/gc-hmac-md5:
2952         * modules/crypto/gc-hmac-sha1:
2953         * modules/crypto/gc-md2:
2954         * modules/crypto/gc-md4:
2955         * modules/crypto/gc-md5:
2956         * modules/crypto/gc-rijndael:
2957         * modules/crypto/gc-sha1:
2958         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
2959         now that the conditional dependencies do the work for us.
2960
2961 2011-11-17  Jim Meyering  <meyering@redhat.com>
2962
2963         tests: factor st_ctime-comparison out of two headers
2964         * tests/test-utimens-common.h (ctime_compare): Define.
2965         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
2966         * tests/test-lutimens.h (test_lutimens): Likewise.
2967         * tests/test-utimens.h (test_utimens): Likewise.
2968
2969         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
2970         Invoke the test program via an init.sh-using wrapper.
2971         * tests/test-getcwd.sh: New file.
2972         * modules/getcwd-tests (Files): Add it.
2973         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
2974
2975 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
2976
2977         gitlog-to-changelog: support multi-author commits.
2978         The FSF cares about keeping track of all authors of patches to its
2979         projects, but Git doesn't provide obvious support for multi-author
2980         changesets. Consensus seems to be forming around the use of extra
2981         Signed-off-by inspired lines in the log message formatted as
2982         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
2983         multi-author commits between version control systems.
2984         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
2985         log message and output in standard ChangeLog multi-author format.
2986         Reported by Peter Rosin <peda@lysator.liu.se>
2987
2988 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
2989             Bruno Haible  <bruno@clisp.org>
2990
2991         Fix some modules' file list.
2992         * modules/fstatat (Files): Add m4/lstat.m4.
2993         * modules/openat (Files): Likewise.
2994         * modules/unlinkat (Files): Likewise.
2995
2996 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
2997
2998         maint.mk: fix tight-scope.mk generation in VPATH builds.
2999         * top/maint.mk (tight-scope.mk): Make sure to prefix file
3000         reference with $(srcdir) so that the file is found correctly even
3001         when running `make syntax-check' in a VPATH build.
3002
3003 2011-11-13  Bruno Haible  <bruno@clisp.org>
3004             Jim Meyering  <meyering@redhat.com>
3005
3006         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
3007         * tests/init.sh (compare): Remove "No differences encountered" or
3008         synonymous output from the 'diff' program.
3009
3010 2011-11-13  Bruno Haible  <bruno@clisp.org>
3011
3012         Makefile: Tweak indentation.
3013         * Makefile: Use tab as first character in every line that contains rule
3014         commands.
3015
3016 2011-11-13  Bruno Haible  <bruno@clisp.org>
3017
3018         Syntax check for copyright statements.
3019         * check-copyright: New file.
3020         * Makefile (sc_check_copyright): New rule.
3021
3022 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3023
3024         * build-aux/git-version-gen: Add --prefix to configure the tag
3025         match string.
3026
3027 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3028
3029         * build-aux/git-version-gen: Add --help and --version.
3030
3031 2011-11-12  Jim Meyering  <meyering@redhat.com>
3032
3033         revamp the other test-exclude?.sh scripts to use init.sh, too
3034         * tests/test-exclude1.sh: Use init.sh.
3035         * tests/test-exclude2.sh: Likewise.
3036         * tests/test-exclude3.sh: Likewise.
3037         * tests/test-exclude4.sh: Likewise.
3038         * tests/test-exclude5.sh: Likewise.
3039         * tests/test-exclude6.sh: Likewise.
3040         * tests/test-exclude7.sh: Likewise.
3041         * tests/test-exclude8.sh: Likewise.
3042         * modules/exclude-tests (Files): List init.sh.
3043
3044         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
3045         These shell scripts ignored failure of the binary test-exclude,
3046         so making the latter return 77 didn't cause them to be skipped.
3047         * tests/test-exclude5.sh: Exit with test-exclude's error status
3048         when that program fails.  Revamp to use init.sh.
3049         * tests/test-exclude2.sh: Likewise.
3050
3051         test-exclude: fix a typo
3052         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
3053
3054 2011-11-11  Bruno Haible  <bruno@clisp.org>
3055
3056         obstack: Fix compilation error on MSVC 9.
3057         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
3058
3059 2011-11-11  Jim Meyering  <meyering@redhat.com>
3060
3061         test-exclude: skip tests rather than failing on deficient systems
3062         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
3063         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
3064         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
3065         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
3066
3067 2011-11-10  Bruno Haible  <bruno@clisp.org>
3068
3069         ptsname_r test: Avoid gcc warning on glibc systems.
3070         * tests/test-ptsname_r.c (null_ptr): New function.
3071         (test_errors): Use it.
3072
3073 2011-11-10  Bruno Haible  <bruno@clisp.org>
3074
3075         ptsname_r: Avoid compilation error on OSF/1 5.1.
3076         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
3077         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
3078         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
3079         function is not declared or incompatibly declared.
3080         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
3081         * modules/ptsname_r (Depends-on, configure.ac): Update.
3082         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
3083
3084 2011-11-10  Bruno Haible  <bruno@clisp.org>
3085
3086         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
3087         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
3088         When cross-compiling, guess yes on all platforms except AIX.
3089         Reported by Ludovic Courtès <ludo@gnu.org>.
3090
3091 2011-11-09  Bruno Haible  <bruno@clisp.org>
3092
3093         ptsname_r tests: Fix bugs.
3094         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
3095         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
3096
3097 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3098
3099         fstatat: work with cross-compilation
3100         Problem reported by Ludovic Courtès in
3101         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
3102         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
3103         "cross-compiling" and assume the bug is present.  Replace
3104         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
3105         an inverted sense, to be more conservative about our assumptions.
3106         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
3107
3108 2011-11-09  Bruno Haible  <bruno@clisp.org>
3109
3110         Improve MODULES.html output.
3111         * modules/mkfifoat (Description): Use the word "function".
3112         * modules/readlinkat (Description): Likewise.
3113         * modules/symlinkat (Description): Likewise.
3114
3115 2011-11-09  Eric Blake  <eblake@redhat.com>
3116
3117         ptsname_r-tests: new test module
3118         * modules/ptsname_r-tests: New module.
3119         * tests/test-ptsname_r.c: New file.
3120
3121         ptsname_r: new module
3122         * modules/ptsname_r: New module.
3123         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
3124         * lib/ptsname.c (__ptsname_r): Split...
3125         * lib/ptsname_r.c: ...into new file.
3126         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3127         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
3128         * modules/stdlib (Makefile.am): Substitute witnesses.
3129         * lib/stdlib.in.h (ptsname_r): Declare it.
3130         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
3131         * MODULES.html.sh (Misc): Likewise.
3132         * modules/ptsname (Depends-on): Alter dependency.
3133         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
3134
3135 2011-11-09  Jim Meyering  <meyering@redhat.com>
3136
3137         announce-gen: be more concise when there's only one URL+tarball
3138         * build-aux/announce-gen (get_tool_versions): When you distribute
3139         only one type of tarball, combine the first two "Here are..."
3140         sections and make the key-checking grammar independent of
3141         how many tarballs there are.
3142
3143 2011-11-09  Eric Blake  <eblake@redhat.com>
3144
3145         openpty: provide a stub on mingw
3146         * lib/pty.in.h (includes): Provide forward declarations.
3147         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
3148
3149         raise: fix mingw handling of SIGPIPE
3150         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
3151
3152 2011-11-08  Bruno Haible  <bruno@clisp.org>
3153
3154         More conditional dependencies.
3155         * modules/faccessat (Depends-on): Add conditions.
3156         * modules/fchmodat (Depends-on): Likewise.
3157         * modules/fchownat (Depends-on): Likewise.
3158         * modules/fstatat (Depends-on): Likewise.
3159         * modules/mkfifoat (Depends-on): Likewise.
3160         * modules/readlinkat (Depends-on): Likewise.
3161         * modules/symlinkat (Depends-on): Likewise.
3162         * modules/unlinkat (Depends-on): Likewise.
3163         * modules/utimensat (Depends-on): Likewise.
3164         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
3165         * modules/linkat (Depends-on): Refine the conditions.
3166         * modules/renameat (Depends-on): Likewise.
3167
3168 2011-11-08  Bruno Haible  <bruno@clisp.org>
3169
3170         faccessat: Move AC_LIBOBJ invocation to module description.
3171         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
3172         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
3173         invocation from here...
3174         * modules/faccessat (configure.ac): ... to here. Invoke
3175         gl_PREREQ_FACCESSAT.
3176
3177 2011-11-08  Bruno Haible  <bruno@clisp.org>
3178
3179         faccessat: Simplify autoconf macro.
3180         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
3181         gl_FUNC_EUIDACCESS.
3182
3183 2011-11-08  Bruno Haible  <bruno@clisp.org>
3184
3185         renameat: Fix dependencies.
3186         * modules/renameat (Depends-on): Add stdbool.
3187
3188 2011-11-08  Bruno Haible  <bruno@clisp.org>
3189
3190         mkfifoat: Fix module description.
3191         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
3192         not gl_UNISTD_MODULE_INDICATOR.
3193
3194 2011-11-08  Bruno Haible  <bruno@clisp.org>
3195
3196         fstatat: Remove unused dependency.
3197         * modules/fstatat (Depends-on): Remove fstat.
3198
3199 2011-11-08  Simon Josefsson  <simon@josefsson.org>
3200
3201         GNUmakefile: behave when Makefile is missing.
3202         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
3203
3204 2011-11-08  Bruno Haible  <bruno@clisp.org>
3205
3206         openat: Conditionalize dependencies.
3207         * lib/openat.c: Reduce the scope of some #includes.
3208         * modules/openat (Depends-on): Add conditions.
3209
3210 2011-11-07  Jim Meyering  <meyering@redhat.com>
3211
3212         maint.mk: extract GPG key ID without using a temporary file
3213         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
3214         without using a temporary file.  Based on a suggestion from Werner Koch
3215         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
3216
3217 2011-11-07  Eric Blake  <eblake@redhat.com>
3218
3219         grantpt: fix typo
3220         * lib/stdlib.in.h (grantpt): Check correct function.
3221
3222         maint.mk: silence new syntax check
3223         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
3224
3225 2011-11-06  Bruno Haible  <bruno@clisp.org>
3226
3227         Doc about floating-point and math API.
3228         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
3229         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
3230
3231 2011-11-06  Bruno Haible  <bruno@clisp.org>
3232
3233         stdalign tests: Skip the test when compiled by Sun C.
3234         * tests/test-stdalign.c (main): Skip the test on Sun C.
3235
3236 2011-11-06  Bruno Haible  <bruno@clisp.org>
3237
3238         ansi-c++-opt: Complete the 2011-06-05 change.
3239         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
3240         does not support namespaces, set the variable to "no", not to ":".
3241
3242 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3243
3244         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
3245
3246 2011-11-06  Bruno Haible  <bruno@clisp.org>
3247
3248         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
3249         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
3250         (minus_zerol) [HP-UX]: New macro.
3251         (unary_minus) [HP-UX]: New function.
3252         (copysignl) [HP-UX]: Use unary_minus function.
3253
3254 2011-11-06  Bruno Haible  <bruno@clisp.org>
3255
3256         ldexp, ldexpf, ldexpl: Enhance tests.
3257         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
3258         and tests/test-ldexpl.c.
3259         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
3260         LDEXP, MIN_EXP, MAX_EXP): New macros.
3261         Include test-ldexp.h.
3262         (main): Just call test_function.
3263         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
3264         infinity.h, nan.h.
3265         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3266         MAX_EXP): New macros.
3267         Include test-ldexp.h.
3268         (x, y): Remove variables.
3269         (main): Just call test_function.
3270         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
3271         infinity.h, nan.h.
3272         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3273         MAX_EXP): New macros.
3274         Include test-ldexp.h.
3275         (x, y): Remove variables.
3276         (main): Just call test_function.
3277         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
3278         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
3279         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3280         (Depends-on): Add isnand-nolibm, signbit, float.
3281         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
3282         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3283         (Depends-on): Add isnanf-nolibm, signbit, float.
3284
3285 2011-11-06  Bruno Haible  <bruno@clisp.org>
3286
3287         math tests: Cosmetics.
3288         * tests/test-math-c++.cc: Reorder declarations.
3289
3290 2011-11-05  Bruno Haible  <bruno@clisp.org>
3291
3292         fma*: Simplify test.
3293         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
3294         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
3295
3296         Tests for module 'fmal'.
3297         * modules/fmal-tests: New file.
3298         * tests/test-fmal1.c: New file.
3299         * tests/test-fmal2.c: New file.
3300
3301         New module 'fmal'.
3302         * lib/math.in.h (fmal): New declaration.
3303         * lib/fmal.c: New file.
3304         * m4/fmal.m4: New file.
3305         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
3306         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
3307         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
3308         REPLACE_FMAL.
3309         * modules/fmal: New file.
3310         * doc/posix-functions/fmal.texi: Mention the new module and the various
3311         bugs.
3312
3313         Tests for module 'fmaf'.
3314         * modules/fmaf-tests: New file.
3315         * tests/test-fmaf1.c: New file.
3316         * tests/test-fmaf2.c: New file.
3317
3318         New module 'fmaf'.
3319         * lib/math.in.h (fmaf): New declaration.
3320         * lib/fmaf.c: New file.
3321         * m4/fmaf.m4: New file.
3322         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
3323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
3324         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
3325         REPLACE_FMAF.
3326         * modules/fmaf: New file.
3327         * doc/posix-functions/fmaf.texi: Mention the new module and the various
3328         bugs.
3329
3330         Tests for module 'fma'.
3331         * modules/fma-tests: New file.
3332         * tests/test-fma1.c: New file.
3333         * tests/test-fma1.h: New file.
3334         * tests/test-fma2.c: New file.
3335         * tests/test-fma2.h: New file.
3336
3337         New module 'fma'.
3338         * lib/math.in.h (fma): New declaration.
3339         * lib/fma.c: New file.
3340         * m4/fma.m4: New file.
3341         * m4/fegetround.m4: New file.
3342         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
3343         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
3344         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
3345         REPLACE_FMA.
3346         * modules/fma: New file.
3347         * doc/posix-functions/fma.texi: Mention the new module and the various
3348         bugs.
3349
3350         Extend gl_MATHFUNC.
3351         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
3352         Support 'void' as argument type.
3353         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
3354
3355 2011-11-05  Jim Meyering  <meyering@redhat.com>
3356
3357         maint.mk: also prohibit inclusion of dirent.h without use
3358         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
3359
3360 2011-11-05  Bruno Haible  <bruno@clisp.org>
3361
3362         ldexpl tests: Avoid test failure on MSVC 9.
3363         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
3364         value. Needed in order to enforce the conversion from a value greater
3365         than LDBL_MAX to Infinity.
3366
3367 2011-11-05  Bruno Haible  <bruno@clisp.org>
3368
3369         New modules 'at-internal', 'openat-h', split off from module 'openat'.
3370         * modules/at-internal: New file, extracted from modules/openat.
3371         * modules/openat-h: New file.
3372         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
3373         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
3374         * modules/openat (Description): Add reference to POSIX function.
3375         (Files): Remove lib/openat.h, lib/openat-proc.c.
3376         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
3377         intprops, unistd.
3378         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
3379         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
3380         gl_FCNTL_MODULE_INDICATOR.
3381         (Include): Remove unistd.h, openat.h.
3382         * modules/areadlinkat (Files): Add lib/at-func.c.
3383         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3384         openat-die, openat-h, save-cwd.
3385         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
3386         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3387         openat-die, openat-h, save-cwd, unistd.
3388         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
3389         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3390         openat-h, save-cwd. Remove fcntl-h, openat.
3391         * modules/fchmodat (Files): Remove lib/openat.h.
3392         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3393         openat, stdbool, unistd.
3394         * modules/fchownat (Files): Remove lib/openat.h.
3395         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3396         openat, stdbool, sys_stat.
3397         * modules/fdopendir (Files): Remove lib/openat-priv.h,
3398         lib/openat-proc.c.
3399         (Depends-on): Add at-internal.
3400         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
3401         * modules/fstatat (Files): Remove lib/openat.h.
3402         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3403         stdbool, unistd.
3404         * modules/fts (Depends-on): Add openat-h.
3405         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
3406         openat.
3407         * modules/mkdirat (Files): Remove lib/openat.h.
3408         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3409         openat, stdbool, sys_stat.
3410         * modules/mkfifoat (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/openat-die (Depends-on): Add openat-h. Remove openat.
3414         * modules/readlinkat (Files): Add lib/at-func.c.
3415         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3416         openat-h, save-cwd. Remove fcntl-h, openat.
3417         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
3418         openat.
3419         * modules/selinux-at (Files): Add lib/at-func.c.
3420         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3421         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
3422         * modules/symlinkat (Files): Add lib/at-func.c.
3423         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3424         openat-h, save-cwd. Remove fcntl-h, openat.
3425         * modules/unlinkat (Files): Remove lib/openat.h.
3426         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3427         stdbool.
3428         * modules/utimensat (Files): Add lib/at-func.c.
3429         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
3430         openat-die, openat-h, save-cwd.
3431         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
3432         * modules/fdutimensat-tests (Depends-on): Add openat.
3433         * modules/fstatat-tests (Depends-on): Add openat-h.
3434         * modules/readlinkat-tests (Depends-on): Add openat.
3435         * modules/symlinkat-tests (Depends-on): Add openat.
3436
3437 2011-11-05  Bruno Haible  <bruno@clisp.org>
3438
3439         openat: Include <stdbool.h>.
3440         * lib/openat.c: Include <stdbool.h>.
3441
3442 2011-11-04  Bruno Haible  <bruno@clisp.org>
3443
3444         fchownat, renameat, unlinkat: Fix dependencies.
3445         * modules/fchownat (Depends-on): Add fstatat.
3446         * modules/renameat (Depends-on): Likewise.
3447         * modules/unlinkat (Depends-on): Likewise.
3448
3449 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3450
3451         openat: remove direct dependency on dirent
3452         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
3453         and hasn't been needed ever since fdopendir was split into its own
3454         module on 2009-08-31.
3455         * modules/openat (Depends-on): Remove dirent.
3456
3457 2011-11-04  Bruno Haible  <bruno@clisp.org>
3458
3459         renameat: Optimize code size.
3460         * modules/renameat (configure.ac): Don't compile at-func2.c if
3461         REPLACE_RENAMEAT is 1.
3462
3463 2011-11-04  Bruno Haible  <bruno@clisp.org>
3464
3465         openat tests: Fix file list.
3466         * modules/openat-tests (Files): Add tests/test-open.h.
3467
3468 2011-11-04  Bruno Haible  <bruno@clisp.org>
3469
3470         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
3471         * modules/fchmodat (Depends-on): Add openat-die.
3472         * modules/fchownat (Depends-on): Likewise.
3473         * modules/linkat (Depends-on): Likewise.
3474         * modules/renameat (Depends-on): Likewise.
3475         * modules/openat (Depends-on): Add dirent.
3476
3477 2011-11-04  Jim Meyering  <meyering@redhat.com>
3478
3479         at-func*.c: fix comments
3480         * lib/at-func2.c: Correct/improve first-line comment.
3481         * lib/at-func.c: Correct grammar in first-line comment.
3482
3483 2011-11-04  Bruno Haible  <bruno@clisp.org>
3484
3485         New module 'mkdirat', split off from module 'openat'.
3486         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
3487         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
3488         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
3489         * modules/mkdirat: New file, extracted from modules/openat.
3490         * modules/openat (Files): Remove lib/mkdirat.c.
3491         (Depends-on): Remove mkdir.
3492         (configure.ac): Remove AC_LIBOBJ of mkdirat.
3493         (Include): Remove <sys/stat.h>.
3494         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
3495         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
3496         tests/test-mkdir.h.
3497         (Depends-on): Remove ignore-value.
3498         (Makefile.am): Remove rules for test-mkdirat.
3499         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
3500         of module 'openat'.
3501         * NEWS: Mention the change.
3502
3503 2011-11-04  Bruno Haible  <bruno@clisp.org>
3504
3505         closedir: Avoid warning on mingw.
3506         * lib/closedir.c: Include <unistd.h>.
3507
3508 2011-11-04  Bruno Haible  <bruno@clisp.org>
3509
3510         New module 'fstatat', split off from module 'openat'.
3511         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
3512         defined.
3513         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
3514         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
3515         gl_FUNC_FSTATAT.
3516         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
3517         * modules/fstatat: New file, extracted from modules/openat.
3518         * modules/openat (Files): Remove lib/fstatat.c.
3519         (Depends-on): Remove lstat.
3520         (configure.ac): Remove AC_LIBOBJ of fstatat.
3521         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
3522         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
3523         tests/test-lstat.h, tests/test-stat.h.
3524         (Depends-on): Remove getcwd-lgpl.
3525         (Makefile.am): Remove rules for test-fstatat.
3526         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
3527         of module 'openat'.
3528         * NEWS: Mention the change.
3529         * modules/getcwd (Depends-on): Add fstatat.
3530         * modules/linkat (Depends-on): Likewise.
3531         * modules/mkfifoat-tests (Depends-on): Likewise.
3532         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
3533
3534 2011-11-03  Bruno Haible  <bruno@clisp.org>
3535
3536         New module 'unlinkat', split off from module 'openat'.
3537         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
3538         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
3539         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
3540         * modules/unlinkat: New file, extracted from modules/openat. Correct
3541         the dependency conditions.
3542         * modules/openat (Files): Remove lib/unlinkat.c.
3543         (Depends-on): Remove rmdir, unlink.
3544         (configure.ac): Remove AC_LIBOBJ of unlinkat.
3545         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
3546         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
3547         tests/test-rmdir.h, tests/test-unlink.h.
3548         (Depends-on): Remove unlinkdir.
3549         (Makefile.am): Remove rules for test-unlinkat.
3550         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
3551         of module 'openat'.
3552         * NEWS: Mention the change.
3553         * modules/linkat-tests (Depends-on): Add unlinkat.
3554         * modules/mkfifoat-tests (Depends-on): Likewise.
3555         * modules/readlinkat-tests (Depends-on): Likewise.
3556
3557 2011-11-02  Bruno Haible  <bruno@clisp.org>
3558
3559         New module 'fchmodat', split off from module 'openat'.
3560         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
3561         defined.
3562         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
3563         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
3564         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
3565         * modules/fchmodat: New file, extracted from modules/openat.
3566         * modules/openat (Files): Remove lib/fchmodat.c.
3567         (configure.ac): Remove AC_LIBOBJ of fchmodat.
3568         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
3569         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
3570         (Makefile.am): Remove rules for test-fchmodat.
3571         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
3572         of module 'openat'.
3573         * NEWS: Mention the change.
3574
3575 2011-11-02  Jim Meyering  <meyering@redhat.com>
3576
3577         putenv: indent #definition of "environ" to placate cppi
3578         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
3579
3580         gitlog-to-changelog: provide a ChangeLog-repair mechanism
3581         Git logs are often treated as immutable, because editing them
3582         changes the SHA1 checksums of all descendants.  Thus, errors in
3583         git logs tend to stay there forever.  However, when we generate
3584         a ChangeLog file -- typically for distribution -- from that git log,
3585         we can actually make corrections in the generated file.  The key
3586         lies in recording in machine-readable/applicable form the desired
3587         corrections.  See --help for description and an example.
3588         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
3589         (usage): Describe it; alphabetize option descriptions.
3590         (main): Honor the new option, carefully.
3591
3592 2011-11-01  Jim Meyering  <meyering@redhat.com>
3593
3594         gitlog-to-changelog: avoid an infloop
3595         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
3596         that ends up being empty.
3597
3598 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3599
3600         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
3601         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
3602         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
3603         contains (possibly-quoted) backslashes.  This should avoid
3604         all-too-common shell bugs if COMPLICATED contains backslashes in
3605         the "wrong" places.  Reported by David Evans in
3606         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
3607         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
3608         because we want ASCII ranges.  Is there some reason we don't use
3609         the C locale everywhere in this script?
3610         (func_module, top level): Avoid unwanted pathname expansion when
3611         $repo_url_prefix or $repo_url_suffix_repl contain shell
3612         metacharacters like '?' and '*'.
3613
3614 2011-11-01  Bruno Haible  <bruno@clisp.org>
3615
3616         fchownat: Improve description.
3617         * modules/fchownat (Description): Add link to function.
3618
3619 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3620
3621         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
3622         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
3623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
3624         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
3625
3626 2011-11-01  Bruno Haible  <bruno@clisp.org>
3627
3628         alignof: Avoid collision with stdalign module.
3629         * lib/alignof.h (alignof): Remove macro.
3630         * NEWS: Mention the change.
3631         Reported by Paul Eggert.
3632
3633 2011-11-01  Bruno Haible  <bruno@clisp.org>
3634
3635         New module 'fchownat', split off from module 'openat'.
3636         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
3637         defined.
3638         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
3639         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
3640         invoke gl_FUNC_FCHOWNAT.
3641         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
3642         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
3643         * modules/fchownat: New file, extracted from modules/openat.
3644         * modules/openat (Files): Remove lib/fchownat.c.
3645         (Depends-on): Remove lchown.
3646         (configure.ac): Remove AC_LIBOBJ of fchownat.
3647         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
3648         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
3649         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
3650         (Depends-on): Remove mgetgroups, usleep, stat-time.
3651         (configure.ac): Remove test for getegid.
3652         (Makefile.am): Remove rules for test-fchownat.
3653         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
3654         of module 'openat'.
3655         * NEWS: Mention the change.
3656
3657 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3658
3659         stdalign: port better to MSVC and to Sun C 5.11
3660         This fixes some of the problems reported by Bruno Haible in
3661         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
3662         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
3663         shortcomings of MSVC and of Sun C 5.11.
3664         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
3665         around __declspec arg.
3666         * modules/stdalign-tests (Files): Add tests/macros.h.
3667         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
3668         Include macros.h, for ASSERT.
3669         (DECLARE_ALIGNED): Remove.
3670         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
3671         to catch bug), and to 1 if not (simplifies the rest of the code).
3672         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
3673         (CHECK_AUTO): Remove.
3674         (CHECK_ALIGNED): Check only the alignment of the static vars,
3675         since auto var alignment isn't supported by Sun C 5.11.
3676         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
3677         ASSERT failures are easier to diagnose.
3678
3679 2011-10-31  Bruno Haible  <bruno@clisp.org>
3680
3681         doc about some IRIX 5.3 problems.
3682         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
3683         on IRIX 5.3.
3684         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
3685         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
3686         5.3.
3687         * doc/posix-functions/grantpt.texi: Likewise.
3688         * doc/posix-functions/unlockpt.texi: Likewise.
3689         * doc/posix-functions/lgamma.texi: Likewise.
3690         * doc/posix-functions/nextafter.texi: Likewise.
3691         * doc/posix-functions/remainder.texi: Likewise.
3692         * doc/posix-functions/select.texi: Mention misplaced declaration on
3693         IRIX 5.3.
3694         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3695
3696 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
3697
3698         gitlog-to-changelog: fix git-log invocation.
3699         git-log mishandles date strings before 1970-01-01 UTC, and there is
3700         no use to specify --since=1970-01-01 by default anyway.
3701         * build-aux/gitlog-to-changelog: By default, when no --since option
3702         was given, do not specify explicit --since option to git-log.
3703
3704 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
3705
3706         gitlog-to-changelog: new option --append-dot.
3707         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
3708         first non-blank line of each commit message terminated with a dot.
3709
3710 2011-10-30  Bruno Haible  <bruno@clisp.org>
3711
3712         ffsl, ffsll: Avoid compilation error due to 'restrict'.
3713         * lib/ffsl.h: Include <config.h>.
3714         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
3715
3716 2011-10-30  Jim Meyering  <meyering@redhat.com>
3717
3718         GNUmakefile: reenable "make syntax-check" for most projects
3719         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
3720         build-aux variable", "syntax-check" would do nothing but succeed with
3721         the "No version control files detected..." diagnostic (unless you
3722         happened to override _build-aux via cfg.mk).
3723         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
3724         to precede inclusion of maint.mk.  Otherwise, these variables would
3725         be used undefined in any project that does not override the default.
3726
3727 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
3728
3729         gitlog-to-changelog: treat a message with only blank lines as empty.
3730         * build-aux/gitlog-to-changelog: Move the code that removes leading and
3731         trailing blank lines before the code that issues a warning about an
3732         empty commit message.
3733
3734 2011-10-30  Jim Meyering  <meyering@redhat.com>
3735
3736         test-parse-datetime.c: avoid new DST-related false positive test failure
3737         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
3738         based on the time/date we'll convert, not the current time.
3739         Otherwise, the moment we cross a DST boundary like today's in
3740         Europe, (CEST to CET), that offset ends up being one hour off.
3741
3742 2011-10-27  Bruno Haible  <bruno@clisp.org>
3743
3744         fstat: Tweak documentation.
3745         * modules/fstat (Description): More precise description.
3746
3747 2011-10-27  Bruno Haible  <bruno@clisp.org>
3748
3749         Update documentation regarding 'largefile' module.
3750         * doc/posix-functions/fstat.texi: Tweak wording.
3751         * doc/posix-functions/opendir.texi: Mention that the module fixes the
3752         problems with huge directories and/or small ino_t types.
3753         * doc/posix-functions/readdir.texi: Likewise.
3754         * doc/posix-functions/rewinddir.texi: Likewise.
3755
3756 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
3757
3758         maint.mk: don't maintain a second build-aux variable.
3759         * maint.mk (build_aux): Removed.  The maintainer-makefile module
3760         depends on GNUmakefile, which already maintains a cfg.mk
3761         overridable $(_build-aux) for projects with a non-standard
3762         build-aux directory location, although without the $(srcdir)
3763         prefix.  Use that variable consistently instead of introducing a
3764         second one.  Adjust all call sites.
3765
3766 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3767
3768         Add stdalign module and use it in other modules.
3769         This is based on a previous proposal by Bruno Haible
3770         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
3771
3772         stdalign: new module
3773         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
3774         * modules/stdalign: New files.
3775         * MODULES.html.sh (c1x_core_properties): Add stdalign.
3776         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
3777
3778         stdalign-tests: new module
3779         * modules/stdalign-tests, tests/test-stdalign.c: New files.
3780
3781         argp: use stdalign
3782         * lib/argp-parse.c: Include <stdalign.h>.
3783         (alignof): Remove.
3784         * modules/argp (Depends-on): Add stdalign.
3785
3786         crypto libraries: use stdalign
3787         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3788         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
3789         Do not include <stdlib.h> twice, in md4.c.
3790         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
3791         because we are accessing a pointer's bit-pattern, not a size.
3792         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
3793         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
3794         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3795         * modules/crypto/sha512: Likewise.
3796
3797         sys_socket: use stdalign, not alignof
3798         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
3799         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
3800
3801 2011-10-27  Bruno Haible  <bruno@clisp.org>
3802
3803         raise test: Avoid a test failure on Linux/MIPS.
3804         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
3805         because 99 is a valid signal on Linux/MIPS.
3806
3807 2011-10-27  Bruno Haible  <bruno@clisp.org>
3808
3809         nonblocking tests: Fix test failure on Linux/MIPS.
3810         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
3811         Set to 270000.
3812
3813 2011-10-27  Bruno Haible  <bruno@clisp.org>
3814
3815         utimensat: Work around problem on Linux/hppa.
3816         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
3817         values.
3818         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
3819
3820 2011-10-25  Jim Meyering  <meyering@redhat.com>
3821
3822         maint.mk: fix a bug in sc_prohibit_stddef_without_use
3823         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
3824         after symbols like NULL, size_t, etc.
3825         Reported by Alfred M. Szmidt.
3826
3827         maint.mk: exempt ENODATA from a syntax-check rule
3828         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
3829         from the sc_prohibit_always-defined_macros syntax-check rule.
3830         Add a comment.  See this for more details:
3831         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
3832
3833 2011-10-23  Jim Meyering  <meyering@redhat.com>
3834
3835         fts: close parent dir FD before returning from post-traversal fts_read
3836         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
3837         unlink A, even though an FD open on A remained.  This is suboptimal
3838         (holding a file descriptor open longer than needed), but otherwise not
3839         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
3840         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
3841         that represents a real problem: it causes the removal of A to fail
3842         with e.g., "rm: cannot remove `A': Device or resource busy"
3843
3844         fts visits each directory twice and keeps a cache (fts_fd_ring) of
3845         directory file descriptors.  After completing the final, FTS_DP,
3846         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
3847         cache, but then proceeded to add a new FD to it via the subsequent
3848         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
3849         final file descriptor would be closed only via fts_close's call to
3850         fd_ring_clear.  Now, it is usually closed earlier, via the final
3851         FTS_DP-returning fts_read call.
3852         * lib/fts.c (restore_initial_cwd): New function, converted from
3853         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
3854         Update callers.
3855         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
3856         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
3857
3858 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
3859             Bruno Haible  <bruno@clisp.org>
3860             Jim Meyering  <jim@meyering.net>
3861
3862         readme-release: improve safety of release prep instructions.
3863         * README-release: Don't git pull all branches when only master
3864         is needed for the release process.
3865         Run make maintainer-clean before changing trees and merging.
3866         Don't try to run ./configure right after git pull in case files
3867         that influence the bootstrap process have changed, move the
3868         ./configure step to after running ./bootstrap.
3869         Don't bootstrap "one last time"... it's the first time!
3870
3871 2011-10-22  Bruno Haible  <bruno@clisp.org>
3872
3873         errno, strerror-override: Support for MSVC 10.
3874         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
3875         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
3876         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
3877         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
3878         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
3879         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
3880         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
3881         Assign values compatible with MSVC 10.
3882         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
3883         New macros.
3884         (GNULIB_defined_EWINSOCK): New macro.
3885         * lib/strerror-override.c (strerror_override): Update accordingly.
3886         * lib/strerror-override.h: Likewise.
3887         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
3888         longer equal to the corresponding errno value.
3889         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3890
3891 2011-10-22  Bruno Haible  <bruno@clisp.org>
3892
3893         perror: Recognize when test program crashes.
3894         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
3895         strerror, set gl_cv_func_perror_works to no.
3896         Reported by Daniel Richard G. <skunk@iskunk.org>.
3897
3898         perror: Fix indentation.
3899         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
3900
3901 2011-10-22  Bruno Haible  <bruno@clisp.org>
3902
3903         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
3904         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
3905         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
3906         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
3907         functions, not as a macro.
3908         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
3909         macros.
3910         (isfinite, isinf, isnan, signbit): Check overloaded functions and
3911         absence of macro.
3912         Suggested by Eric Blake.
3913         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3914
3915 2011-10-21  Bruno Haible  <bruno@clisp.org>
3916
3917         relocatable-prog-wrapper: Don't leave object files behind.
3918         * build-aux/install-reloc: Re-synchronize list of .o files to be
3919         removed with list of compilation units.
3920
3921 2011-10-20  Bruno Haible  <bruno@clisp.org>
3922
3923         openpty, posix_openpt: Remove code duplication.
3924         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
3925         * lib/openpty.c: Include <stdlib.h>.
3926         (openpty): Use posix_openpt on all platforms except IRIX.
3927         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
3928
3929 2011-10-20  Bruno Haible  <bruno@clisp.org>
3930
3931         unlockpt: Detect invalid argument.
3932         * lib/unlockpt.c: Include <fcntl.h>.
3933         (unlockpt): Check whether fd is valid, using fcntl().
3934         * modules/unlockpt (Depends-on): Add fcntl-h.
3935
3936 2011-10-20  Bruno Haible  <bruno@clisp.org>
3937
3938         openpty: Avoid compilation error on AIX 6.1.
3939         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
3940
3941 2011-10-20  Bruno Haible  <bruno@clisp.org>
3942
3943         posix_openpt: Support for OpenBSD.
3944         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
3945         (posix_openpt) [OpenBSD]: New code.
3946         * lib/grantpt.c: Include <fcntl.h>.
3947         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
3948         * modules/grantpt (Depends-on): Add fcntl-h.
3949
3950 2011-10-20  Bruno Haible  <bruno@clisp.org>
3951
3952         posix_openpt test: Coding style.
3953         * tests/test-posix_openpt.c: Use GNU coding style.
3954
3955 2011-10-20  Bruno Haible  <bruno@clisp.org>
3956
3957         grantpt: Support --avoid=pt_chown.
3958         * modules/grantpt (Files): Add lib/pty-private.h.
3959
3960 2011-10-20  Bruno Haible  <bruno@clisp.org>
3961
3962         posix_openpt: Fix autoconf macro.
3963         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
3964         unneeded check for _getpty.
3965
3966 2011-10-20  Bruno Haible  <bruno@clisp.org>
3967
3968         openpty: Update comments.
3969         * lib/openpty.c: Add comments about Minix.
3970
3971 2011-10-19  Eric Blake  <eblake@redhat.com>
3972
3973         openpty: relax license
3974         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
3975
3976         pt_chown: use configmake to simplify build
3977         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
3978
3979         ptsname and others: relax license
3980         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
3981         * modules/unlockpt (License): Likewise.
3982         * modules/pt_chown (License): Likewise.
3983         * modules/ptsname (License): Likewise.
3984         * modules/ttyname_r (License): Likewise.
3985
3986 2011-10-19  Jim Meyering  <meyering@redhat.com>
3987
3988         posix_openpt: remove spurious #endif
3989         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
3990
3991 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
3992
3993         maint.mk: Respect $(build_aux) in web-manual rule.
3994         * top/maint.mk (web-manual): Find gen-announce script in user's
3995         $(build_aux) directory instead of hard-coding 'build-aux'.
3996
3997 2011-10-19  Bruno Haible  <bruno@clisp.org>
3998
3999         posix_openpt: Fix compilation error.
4000         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
4001         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
4002         Mention the openpty module as an alternative.
4003
4004 2011-10-19  Bruno Haible  <bruno@clisp.org>
4005
4006         Support for old NeXTstep 3.3 frexp().
4007         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
4008         execution time of the test to 5 seconds.
4009         Reported by Daniel Richard G. <skunk@iskunk.org>.
4010
4011 2011-10-19  Bruno Haible  <bruno@clisp.org>
4012
4013         Support for old NeXTstep 3.3 sed.
4014         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
4015         part, use /.../, not \|...|. Escape periods in the header file name.
4016         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4017         Reported by Daniel Richard G. <skunk@iskunk.org>.
4018
4019 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4020
4021         Support for old NeXTstep 3.3 gcc.
4022         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
4023         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
4024         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
4025         * lib/spawn.in.h (_Restrict_arr_): Likewise.
4026         * lib/regex.h (_Restrict_arr_): Likewise.
4027         * lib/regex_internal.h (re_token_t): Likewise.
4028         * lib/regexec.c (check_node_accept_bytes): Likewise.
4029         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
4030
4031 2011-10-18  Eric Blake  <eblake@redhat.com>
4032
4033         posix_openpt: new module
4034         * modules/posix_openpt: New module.
4035         * m4/posix_openpt.m4: New file.
4036         * lib/posix_openpt.c: Likewise.
4037         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4038         (gl_STDLIB_H_DEFAULTS): Set defaults.
4039         * modules/stdlib (Makefile.am): Substitute macros.
4040         * lib/stdlib.in.h (posix_openpt): Declare.
4041         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
4042         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
4043         * modules/posix_openpt-tests: New test module.
4044         * tests/test-posix_openpt.c: New test.
4045
4046 2011-10-15  Bruno Haible  <bruno@clisp.org>
4047
4048         xstrtoll: Fix compilation failure.
4049         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
4050         from lib/strtol.c.
4051         * doc/posix-headers/limits.texi: Mention missing numerical limits on
4052         some platforms.
4053         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4054
4055 2011-10-15  Bruno Haible  <bruno@clisp.org>
4056
4057         vasnprintf: Optimize bit search operation.
4058         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
4059         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
4060         gl_DOUBLE_EXPONENT_LOCATION.
4061         * modules/vasnprintf (Files): Add m4/exponentd.m4.
4062         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4063         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4064         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4065         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4066         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4067         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4068         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4069         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
4070
4071 2011-10-15  Bruno Haible  <bruno@clisp.org>
4072
4073         vasnprintf: Fix comments.
4074         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
4075
4076 2011-10-14  Bruno Haible  <bruno@clisp.org>
4077
4078         Tests for module 'integer_length_ll'.
4079         * modules/integer_length_ll-tests: New file.
4080         * tests/test-integer_length_ll.c: New file.
4081
4082         New module 'integer_length_ll'.
4083         * lib/integer_length_ll.c: New file.
4084         * modules/integer_length_ll: New file.
4085
4086 2011-10-14  Bruno Haible  <bruno@clisp.org>
4087
4088         Tests for module 'integer_length_l'.
4089         * modules/integer_length_l-tests: New file.
4090         * tests/test-integer_length_l.c: New file.
4091
4092         New module 'integer_length_l'.
4093         * lib/integer_length_l.c: New file.
4094         * modules/integer_length_l: New file.
4095
4096 2011-10-14  Bruno Haible  <bruno@clisp.org>
4097
4098         Tests for module 'integer_length'.
4099         * modules/integer_length-tests: New file.
4100         * tests/test-integer_length.c: New file.
4101
4102         New module 'integer_length'.
4103         * lib/integer_length.h: New file.
4104         * lib/integer_length.c: New file.
4105         * modules/integer_length: New file.
4106
4107 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4108
4109         popen: Fix dependency conditions.
4110         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
4111
4112 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4113
4114         perror: Fix autoconf test.
4115         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
4116         <stdlib.h> and <string.h>.
4117
4118 2011-10-14  Bruno Haible  <bruno@clisp.org>
4119
4120         ffsl: Optimize on 64-bit platforms.
4121         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
4122         unrolling.
4123
4124 2011-10-13  Bruno Haible  <bruno@clisp.org>
4125
4126         ffsl: Optimize on 32-bit platforms.
4127         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
4128         use ffs() without a loop.
4129
4130         ffsl, ffsll: Optimize for GCC.
4131         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
4132         * lib/ffsl.c (GCC_BUILTIN): New macro.
4133         * lib/ffsll.c (GCC_BUILTIN): Likewise.
4134
4135 2011-10-13  Bruno Haible  <bruno@clisp.org>
4136
4137         ffs, bcopy, memset: Support symbol renaming via config.h.
4138         * lib/ffs.c: Include <config.h>.
4139         * lib/bcopy.c: Likewise.
4140         * lib/memset.c: Likewise.
4141
4142 2011-10-10  Bruno Haible  <bruno@clisp.org>
4143
4144         atanl: Simplify for platforms where 'long double' == 'double'.
4145         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4146         alternative implementation.
4147         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4148         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4149         * modules/atanl (Depends-on): Add atan. Update conditions.
4150
4151 2011-10-10  Bruno Haible  <bruno@clisp.org>
4152
4153         acosl: Simplify for platforms where 'long double' == 'double'.
4154         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4155         alternative implementation.
4156         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4157         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4158         * modules/acosl (Depends-on): Add acos. Update conditions.
4159
4160 2011-10-10  Bruno Haible  <bruno@clisp.org>
4161
4162         asinl: Simplify for platforms where 'long double' == 'double'.
4163         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4164         alternative implementation.
4165         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4166         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4167         * modules/asinl (Depends-on): Add asin. Update conditions.
4168
4169 2011-10-10  Bruno Haible  <bruno@clisp.org>
4170
4171         tanl: Simplify for platforms where 'long double' == 'double'.
4172         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4173         implementation.
4174         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4175         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4176         * modules/tanl (Depends-on): Add tan. Update conditions.
4177         (configure.ac): Don't compile trigl.c if
4178         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4179
4180 2011-10-10  Bruno Haible  <bruno@clisp.org>
4181
4182         cosl: Simplify for platforms where 'long double' == 'double'.
4183         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4184         implementation.
4185         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4186         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4187         * modules/cosl (Depends-on): Add cos. Update conditions.
4188         (configure.ac): Don't compile sincosl.c and trigl.c if
4189         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4190
4191 2011-10-10  Bruno Haible  <bruno@clisp.org>
4192
4193         sinl: Simplify for platforms where 'long double' == 'double'.
4194         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4195         implementation.
4196         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4197         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4198         * modules/sinl (Depends-on): Add sin. Update conditions.
4199         (configure.ac): Don't compile sincosl.c and trigl.c if
4200         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4201
4202 2011-10-10  Bruno Haible  <bruno@clisp.org>
4203
4204         logl: Simplify for platforms where 'long double' == 'double'.
4205         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4206         implementation.
4207         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4208         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4209         * modules/logl (Depends-on): Add log. Update conditions.
4210
4211 2011-10-10  Bruno Haible  <bruno@clisp.org>
4212
4213         expl: Simplify for platforms where 'long double' == 'double'.
4214         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4215         implementation.
4216         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4217         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4218         * modules/expl (Depends-on): Add exp. Update conditions.
4219
4220 2011-10-10  Bruno Haible  <bruno@clisp.org>
4221
4222         sqrtl: Simplify for platforms where 'long double' == 'double'.
4223         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4224         alternative implementation.
4225         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4226         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4227         * modules/sqrtl (Depends-on): Update conditions.
4228
4229 2011-10-10  Bruno Haible  <bruno@clisp.org>
4230
4231         ldexpl: Simplify for platforms where 'long double' == 'double'.
4232         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4233         alternative implementation.
4234         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4235         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4236         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
4237
4238 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
4239
4240         ffsll: set correct witness
4241         * modules/ffsll (configure.ac): Fix typo.
4242
4243 2011-10-10  Bruno Haible  <bruno@clisp.org>
4244
4245         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
4246         * lib/printf-frexpl.c: Include <config.h>.
4247         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4248         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
4249         second time.
4250         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
4251         gl_LONG_DOUBLE_VS_DOUBLE.
4252         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
4253         conditions.
4254
4255 2011-10-10  Bruno Haible  <bruno@clisp.org>
4256
4257         frexpl: Simplify for platforms where 'long double' == 'double'.
4258         * lib/frexpl.c: Include <config.h>.
4259         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4260         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4261         time.
4262         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4263         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4264         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
4265         * modules/frexpl (Depends-on): Add frexp. Update conditions.
4266         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
4267         conditions.
4268
4269 2011-10-10  Jim Meyering  <meyering@redhat.com>
4270
4271         test-renameat: don't leave behind a temporary file
4272         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
4273           ERROR: files left in build directory after distclean:
4274           ./gltests/test-renameat.too
4275           make[1]: *** [distcleancheck] Error 1
4276         Reported by Tom G. Christensen.
4277
4278 2011-10-09  Bruno Haible  <bruno@clisp.org>
4279
4280         rint: Determine RINT_LIBM correctly on AIX 7.
4281         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
4282         directly, not only through a function pointer. Also accept an optional
4283         4th argument with extra code.
4284         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
4285         rintf() call by gcc when optimizing.
4286
4287         mathfunc.m4: Refactor.
4288         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
4289         m4 variable.
4290
4291 2011-10-09  Bruno Haible  <bruno@clisp.org>
4292
4293         rintl: Simplify for platforms where 'long double' == 'double'.
4294         * lib/rintl.c: Include <config.h>.
4295         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4296         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4297         time.
4298         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4299         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4300         * modules/rintl (Depends-on): Add rint. Update conditions.
4301
4302 2011-10-09  Bruno Haible  <bruno@clisp.org>
4303
4304         roundl: Simplify for platforms where 'long double' == 'double'.
4305         * lib/roundl.c: Include <config.h>.
4306         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4307         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4308         time.
4309         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4310         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4311         * modules/roundl (Depends-on): Add round. Update conditions.
4312
4313 2011-10-09  Bruno Haible  <bruno@clisp.org>
4314
4315         truncl: Simplify for platforms where 'long double' == 'double'.
4316         * lib/truncl.c: Include <config.h>.
4317         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4318         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4319         time.
4320         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4321         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4322         * modules/truncl (Depends-on): Add trunc. Update conditions.
4323
4324 2011-10-09  Bruno Haible  <bruno@clisp.org>
4325
4326         ceill: Simplify for platforms where 'long double' == 'double'.
4327         * lib/ceill.c: Include <config.h>.
4328         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4329         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4330         time.
4331         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4332         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4333         * modules/ceill (Depends-on): Add ceil. Update conditions.
4334
4335 2011-10-09  Bruno Haible  <bruno@clisp.org>
4336
4337         floorl: Simplify for platforms where 'long double' == 'double'.
4338         * lib/floorl.c: Include <config.h>.
4339         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4340         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4341         time.
4342         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4343         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4344         * modules/floorl (Depends-on): Add floor. Update conditions.
4345
4346 2011-10-09  Bruno Haible  <bruno@clisp.org>
4347
4348         rint: Fix ordering constraints.
4349         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
4350         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4351         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4352
4353 2011-10-09  Bruno Haible  <bruno@clisp.org>
4354
4355         copysignl: Simplify for platforms where 'long double' == 'double'.
4356         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4357         alternative.
4358         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4359         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4360         * modules/copysignl (Depends-on): Add copysign. Update conditions.
4361
4362 2011-10-09  Bruno Haible  <bruno@clisp.org>
4363
4364         Tests for module 'rintl'.
4365         * modules/rintl-tests: New file.
4366         * tests/test-rintl.c: New file.
4367
4368         New module 'rintl'.
4369         * lib/math.in.h (rintl): New declaration.
4370         * lib/rintl.c: New file.
4371         * m4/rintl.m4: New file.
4372         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
4373         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
4374         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
4375         * modules/rintl: New file.
4376         * tests/test-math-c++.cc: Check the declaration of rintl.
4377         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4378         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
4379         * doc/posix-functions/rintl.texi: Mention the new module.
4380
4381 2011-10-09  Bruno Haible  <bruno@clisp.org>
4382
4383         Tests for module 'rintf'.
4384         * modules/rintf-tests: New file.
4385         * tests/test-rintf.c: New file.
4386
4387         New module 'rintf'.
4388         * lib/math.in.h (rintf): New declaration.
4389         * lib/rintf.c: New file.
4390         * m4/rintf.m4: New file.
4391         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
4392         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
4393         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
4394         * modules/rintf: New file.
4395         * tests/test-math-c++.cc: Check the declaration of rintf.
4396         * doc/posix-functions/rintf.texi: Mention the new module.
4397
4398 2011-10-09  Bruno Haible  <bruno@clisp.org>
4399
4400         rint: Support for MSVC.
4401         * lib/math.in.h (rint): New declaration.
4402         * lib/rint.c: New file.
4403         * m4/rint.m4: New file.
4404         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
4405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
4406         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
4407         * modules/rint (Description): Fix.
4408         (Files): Add lib/rint.c, m4/rint.m4.
4409         (Depends-on): Add math.
4410         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
4411         gl_MATH_MODULE_INDICATOR.
4412         * tests/test-math-c++.cc: Check the declaration of rint.
4413         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4414         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
4415         * doc/posix-functions/rint.texi: Mention the replacement provided by
4416         the module.
4417
4418         rint tests: More tests.
4419         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
4420         minus-zero.h, infinity.h, nan.h.
4421         (main): Skip the test if the current rounding mode is not standard. Add
4422         tests for negative numbers, minus zero, infinity, NaN.
4423         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
4424         tests/nan.h.
4425         (Depends-on): Add isnand-nolibm.
4426
4427 2011-10-09  Bruno Haible  <bruno@clisp.org>
4428
4429         Tests for module 'copysignl'.
4430         * modules/copysignl-tests: New file.
4431         * tests/test-copysignl.c: New file.
4432
4433         New module 'copysignl'.
4434         * lib/math.in.h (copysignl): New declaration.
4435         * lib/copysignl.c: New file.
4436         * m4/copysignl.m4: New file.
4437         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
4438         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
4439         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
4440         HAVE_COPYSIGNL.
4441         * modules/copysignl: New file.
4442         * tests/test-math-c++.cc: Check the declaration of copysignl.
4443         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4444         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
4445         * doc/posix-functions/copysignl.texi: Mention the new module.
4446
4447 2011-10-09  Bruno Haible  <bruno@clisp.org>
4448
4449         Tests for module 'copysignf'.
4450         * modules/copysignf-tests: New file.
4451         * tests/test-copysignf.c: New file.
4452
4453         New module 'copysignf'.
4454         * lib/math.in.h (copysignf): New declaration.
4455         * lib/copysignf.c: New file.
4456         * m4/copysignf.m4: New file.
4457         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
4458         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
4459         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
4460         HAVE_COPYSIGNF.
4461         * modules/copysignf: New file.
4462         * tests/test-math-c++.cc: Check the declaration of copysignf.
4463         * doc/posix-functions/copysignf.texi: Mention the new module.
4464
4465 2011-10-09  Bruno Haible  <bruno@clisp.org>
4466
4467         Ensure that HAVE_* variables are set to 1 before they are set to 0.
4468         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
4469         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
4470         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4471         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
4472         gl_SIGNAL_H_DEFAULTS.
4473
4474 2011-10-09  Bruno Haible  <bruno@clisp.org>
4475
4476         poll: Make macro safer.
4477         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
4478         ac_cv_header_poll_h is not set.
4479
4480 2011-10-09  Bruno Haible  <bruno@clisp.org>
4481
4482         copysign: Provide replacement.
4483         * lib/math.in.h (copysign): New declaration.
4484         * lib/copysign.c: New file.
4485         * m4/copysign.m4: New file.
4486         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
4487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
4488         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
4489         HAVE_COPYSIGN.
4490         * modules/copysign (Description): Clarify.
4491         (Files): Add lib/copysign.c, m4/copysign.m4.
4492         (Depends-on): Add math, signbit.
4493         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
4494         gl_MATH_MODULE_INDICATOR.
4495         * tests/test-math-c++.cc: Check the declaration of copysign.
4496         * doc/posix-functions/copysign.texi: Mention the effects of the module
4497         on Minix and MSVC.
4498
4499 2011-10-09  Bruno Haible  <bruno@clisp.org>
4500
4501         isinf: Ensure macro on AIX 5.1.
4502         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
4503         macro.
4504         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
4505
4506 2011-10-09  Bruno Haible  <bruno@clisp.org>
4507
4508         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
4509         * modules/snprintf-posix-tests (configure.ac): Require
4510         gl_LONG_DOUBLE_VS_DOUBLE.
4511         * modules/sprintf-posix-tests (configure.ac): Likewise.
4512         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
4513         * modules/vasprintf-posix-tests (configure.ac): Likewise.
4514         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
4515         * modules/vsprintf-posix-tests (configure.ac): Likewise.
4516         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
4517         tests on platforms where 'long double' is the same as 'double'.
4518         * tests/test-sprintf-posix.h (test_function): Likewise.
4519         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4520         * tests/test-vasprintf-posix.c (test_function): Likewise.
4521
4522         *printf: Fix for platforms where 'long double' == 'double'.
4523         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
4524         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
4525         * modules/dprintf-posix (Files): Add m4/math_h.m4.
4526         * modules/fprintf-posix (Files): Likewise.
4527         * modules/obstack-printf-posix (Files): Likewise.
4528         * modules/snprintf-posix (Files): Likewise.
4529         * modules/sprintf-posix (Files): Likewise.
4530         * modules/vasnprintf (Files): Likewise.
4531         * modules/vasnprintf-posix (Files): Likewise.
4532         * modules/vasprintf-posix (Files): Likewise.
4533         * modules/vdprintf-posix (Files): Likewise.
4534         * modules/vfprintf-posix (Files): Likewise.
4535         * modules/vsnprintf-posix (Files): Likewise.
4536         * modules/vsprintf-posix (Files): Likewise.
4537         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4538         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4539         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4540         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4541         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4542         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4543         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4544
4545         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
4546         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
4547         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4548         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
4549         'long double'.
4550         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
4551
4552         isinf: Fix for platforms where 'long double' == 'double'.
4553         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4554         Don't blindly assume 80-bit 'long double'.
4555
4556         isfinite: Fix for platforms where 'long double' == 'double'.
4557         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4558         Don't blindly assume 80-bit 'long double'.
4559
4560         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
4561         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
4562         * modules/isfinite-tests (configure.ac): Require
4563         gl_LONG_DOUBLE_VS_DOUBLE.
4564         * modules/isinf-tests (configure.ac): Likewise.
4565         * modules/isnan-tests (configure.ac): Likewise.
4566         * modules/isnanl-tests (configure.ac): Likewise.
4567         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
4568         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
4569         tests on platforms where 'long double' is the same as 'double'.
4570         * tests/test-isinf.c (test_isinfl): Likewise.
4571         * tests/test-isnan.c (test_long_double): Likewise.
4572         * tests/test-isnanl.h (main): Likewise.
4573
4574 2011-10-08  Bruno Haible  <bruno@clisp.org>
4575
4576         Tests for module 'tanhf'.
4577         * modules/tanhf-tests: New file.
4578         * tests/test-tanhf.c: New file.
4579
4580         New module 'tanhf'.
4581         * lib/math.in.h (tanhf): New declaration.
4582         * lib/tanhf.c: New file.
4583         * m4/tanhf.m4: New file.
4584         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
4585         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
4586         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
4587         * modules/tanhf: New file.
4588         * tests/test-math-c++.cc: Check the declaration of tanhf.
4589         * doc/posix-functions/tanhf.texi: Mention the new module.
4590
4591         tanh: Use a .m4 file.
4592         * m4/tanh.m4: New file.
4593         * modules/tanh (Files): Add it.
4594         (configure.ac): Just invoke gl_FUNC_TANH.
4595
4596 2011-10-08  Bruno Haible  <bruno@clisp.org>
4597
4598         Tests for module 'coshf'.
4599         * modules/coshf-tests: New file.
4600         * tests/test-coshf.c: New file.
4601
4602         New module 'coshf'.
4603         * lib/math.in.h (coshf): New declaration.
4604         * lib/coshf.c: New file.
4605         * m4/coshf.m4: New file.
4606         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
4607         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
4608         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
4609         * modules/coshf: New file.
4610         * tests/test-math-c++.cc: Check the declaration of coshf.
4611         * doc/posix-functions/coshf.texi: Mention the new module.
4612
4613         cosh: Use a .m4 file.
4614         * m4/cosh.m4: New file.
4615         * modules/cosh (Files): Add it.
4616         (configure.ac): Just invoke gl_FUNC_COSH.
4617
4618 2011-10-08  Bruno Haible  <bruno@clisp.org>
4619
4620         Tests for module 'sinhf'.
4621         * modules/sinhf-tests: New file.
4622         * tests/test-sinhf.c: New file.
4623
4624         New module 'sinhf'.
4625         * lib/math.in.h (sinhf): New declaration.
4626         * lib/sinhf.c: New file.
4627         * m4/sinhf.m4: New file.
4628         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
4629         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
4630         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
4631         * modules/sinhf: New file.
4632         * tests/test-math-c++.cc: Check the declaration of sinhf.
4633         * doc/posix-functions/sinhf.texi: Mention the new module.
4634
4635         sinh: Use a .m4 file.
4636         * m4/sinh.m4: New file.
4637         * modules/sinh (Files): Add it.
4638         (configure.ac): Just invoke gl_FUNC_SINH.
4639
4640 2011-10-08  Bruno Haible  <bruno@clisp.org>
4641
4642         Tests for module 'atan2f'.
4643         * modules/atan2f-tests: New file.
4644         * tests/test-atan2f.c: New file.
4645
4646         New module 'atan2f'.
4647         * lib/math.in.h (atan2f): New declaration.
4648         * lib/atan2f.c: New file.
4649         * m4/atan2f.m4: New file.
4650         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
4651         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
4652         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
4653         * modules/atan2f: New file.
4654         * tests/test-math-c++.cc: Check the declaration of atan2f.
4655         * doc/posix-functions/atan2f.texi: Mention the new module.
4656
4657         atan2: Use a .m4 file.
4658         * m4/atan2.m4: New file.
4659         * modules/atan2 (Files): Add it.
4660         (configure.ac): Just invoke gl_FUNC_ATAN2.
4661
4662 2011-10-08  Bruno Haible  <bruno@clisp.org>
4663
4664         Tests for module 'atanf'.
4665         * modules/atanf-tests: New file.
4666         * tests/test-atanf.c: New file.
4667
4668         New module 'atanf'.
4669         * lib/math.in.h (atanf): New declaration.
4670         * lib/atanf.c: New file.
4671         * m4/atanf.m4: New file.
4672         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
4673         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
4674         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
4675         * modules/atanf: New file.
4676         * tests/test-math-c++.cc: Check the declaration of atanf.
4677         * doc/posix-functions/atanf.texi: Mention the new module.
4678
4679         atan: Use a .m4 file.
4680         * m4/atan.m4: New file.
4681         * modules/atan (Files): Add it.
4682         (configure.ac): Just invoke gl_FUNC_ATAN.
4683
4684 2011-10-08  Bruno Haible  <bruno@clisp.org>
4685
4686         Tests for module 'acosf'.
4687         * modules/acosf-tests: New file.
4688         * tests/test-acosf.c: New file.
4689
4690         New module 'acosf'.
4691         * lib/math.in.h (acosf): New declaration.
4692         * lib/acosf.c: New file.
4693         * m4/acosf.m4: New file.
4694         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
4695         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
4696         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
4697         * modules/acosf: New file.
4698         * tests/test-math-c++.cc: Check the declaration of acosf.
4699         * doc/posix-functions/acosf.texi: Mention the new module.
4700
4701         acos: Use a .m4 file.
4702         * m4/acos.m4: New file.
4703         * modules/acos (Files): Add it.
4704         (configure.ac): Just invoke gl_FUNC_ACOS.
4705
4706 2011-10-08  Bruno Haible  <bruno@clisp.org>
4707
4708         Tests for module 'asinf'.
4709         * modules/asinf-tests: New file.
4710         * tests/test-asinf.c: New file.
4711
4712         New module 'asinf'.
4713         * lib/math.in.h (asinf): New declaration.
4714         * lib/asinf.c: New file.
4715         * m4/asinf.m4: New file.
4716         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
4717         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
4718         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
4719         * modules/asinf: New file.
4720         * tests/test-math-c++.cc: Check the declaration of asinf.
4721         * doc/posix-functions/asinf.texi: Mention the new module.
4722
4723         asin: Use a .m4 file.
4724         * m4/asin.m4: New file.
4725         * modules/asin (Files): Add it.
4726         (configure.ac): Just invoke gl_FUNC_ASIN.
4727
4728 2011-10-08  Bruno Haible  <bruno@clisp.org>
4729
4730         Tests for module 'tanf'.
4731         * modules/tanf-tests: New file.
4732         * tests/test-tanf.c: New file.
4733
4734         New module 'tanf'.
4735         * lib/math.in.h (tanf): New declaration.
4736         * lib/tanf.c: New file.
4737         * m4/tanf.m4: New file.
4738         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
4739         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
4740         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
4741         * modules/tanf: New file.
4742         * tests/test-math-c++.cc: Check the declaration of tanf.
4743         * doc/posix-functions/tanf.texi: Mention the new module.
4744
4745         tan: Use a .m4 file.
4746         * m4/tan.m4: New file.
4747         * modules/tan (Files): Add it.
4748         (configure.ac): Just invoke gl_FUNC_TAN.
4749
4750 2011-10-08  Bruno Haible  <bruno@clisp.org>
4751
4752         Tests for module 'cosf'.
4753         * modules/cosf-tests: New file.
4754         * tests/test-cosf.c: New file.
4755
4756         New module 'cosf'.
4757         * lib/math.in.h (cosf): New declaration.
4758         * lib/cosf.c: New file.
4759         * m4/cosf.m4: New file.
4760         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
4761         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
4762         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
4763         * modules/cosf: New file.
4764         * tests/test-math-c++.cc: Check the declaration of cosf.
4765         * doc/posix-functions/cosf.texi: Mention the new module.
4766
4767         cos: Use a .m4 file.
4768         * m4/cos.m4: New file.
4769         * modules/cos (Files): Add it.
4770         (configure.ac): Just invoke gl_FUNC_COS.
4771
4772 2011-10-08  Bruno Haible  <bruno@clisp.org>
4773
4774         Tests for module 'sinf'.
4775         * modules/sinf-tests: New file.
4776         * tests/test-sinf.c: New file.
4777
4778         New module 'sinf'.
4779         * lib/math.in.h (sinf): New declaration.
4780         * lib/sinf.c: New file.
4781         * m4/sinf.m4: New file.
4782         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
4783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
4784         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
4785         * modules/sinf: New file.
4786         * tests/test-math-c++.cc: Check the declaration of sinf.
4787         * doc/posix-functions/sinf.texi: Mention the new module.
4788
4789         sin: Use a .m4 file.
4790         * m4/sin.m4: New file.
4791         * modules/sin (Files): Add it.
4792         (configure.ac): Just invoke gl_FUNC_SIN.
4793
4794 2011-10-08  Bruno Haible  <bruno@clisp.org>
4795
4796         Tests for module 'powf'.
4797         * modules/powf-tests: New file.
4798         * tests/test-powf.c: New file.
4799
4800         New module 'powf'.
4801         * lib/math.in.h (powf): New declaration.
4802         * lib/powf.c: New file.
4803         * m4/powf.m4: New file.
4804         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
4805         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
4806         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
4807         * modules/powf: New file.
4808         * tests/test-math-c++.cc: Check the declaration of powf.
4809         * doc/posix-functions/powf.texi: Mention the new module.
4810
4811         pow: Use a .m4 file.
4812         * m4/pow.m4: New file.
4813         * modules/pow (Files): Add it.
4814         (configure.ac): Just invoke gl_FUNC_POW.
4815
4816 2011-10-08  Bruno Haible  <bruno@clisp.org>
4817
4818         Tests for module 'log10f'.
4819         * modules/log10f-tests: New file.
4820         * tests/test-log10f.c: New file.
4821
4822         New module 'log10f'.
4823         * lib/math.in.h (log10f): New declaration.
4824         * lib/log10f.c: New file.
4825         * m4/log10f.m4: New file.
4826         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
4827         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
4828         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
4829         * modules/log10f: New file.
4830         * tests/test-math-c++.cc: Check the declaration of log10f.
4831         * doc/posix-functions/log10f.texi: Mention the new module.
4832
4833         log10: Use a .m4 file.
4834         * m4/log10.m4: New file.
4835         * modules/log10 (Files): Add it.
4836         (configure.ac): Just invoke gl_FUNC_LOG10.
4837
4838 2011-10-08  Bruno Haible  <bruno@clisp.org>
4839
4840         Tests for module 'logf'.
4841         * modules/logf-tests: New file.
4842         * tests/test-logf.c: New file.
4843
4844         New module 'logf'.
4845         * lib/math.in.h (logf): New declaration.
4846         * lib/logf.c: New file.
4847         * m4/logf.m4: New file.
4848         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
4849         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
4850         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
4851         * modules/logf: New file.
4852         * tests/test-math-c++.cc: Check the declaration of logf.
4853         * doc/posix-functions/logf.texi: Mention the new module.
4854
4855         log: Use a .m4 file.
4856         * m4/log.m4: New file.
4857         * modules/log (Files): Add it.
4858         (configure.ac): Just invoke gl_FUNC_LOG.
4859
4860 2011-10-08  Bruno Haible  <bruno@clisp.org>
4861
4862         Tests for module 'expf'.
4863         * modules/expf-tests: New file.
4864         * tests/test-expf.c: New file.
4865
4866         New module 'expf'.
4867         * lib/math.in.h (expf): New declaration.
4868         * lib/expf.c: New file.
4869         * m4/expf.m4: New file.
4870         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
4871         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
4872         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
4873         * modules/expf: New file.
4874         * tests/test-math-c++.cc: Check the declaration of expf.
4875         * doc/posix-functions/expf.texi: Mention the new module.
4876
4877         exp: Use a .m4 file.
4878         * m4/exp.m4: New file.
4879         * modules/exp (Files): Add it.
4880         (configure.ac): Just invoke gl_FUNC_EXP.
4881
4882 2011-10-08  Bruno Haible  <bruno@clisp.org>
4883
4884         Tests for module 'sqrtf'.
4885         * modules/sqrtf-tests: New file.
4886         * tests/test-sqrtf.c: New file.
4887
4888         New module 'sqrtf'.
4889         * lib/math.in.h (sqrtf): New declaration.
4890         * lib/sqrtf.c: New file.
4891         * m4/sqrtf.m4: New file.
4892         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
4893         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
4894         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
4895         * modules/sqrtf: New file.
4896         * tests/test-math-c++.cc: Check the declaration of sqrtf.
4897         * doc/posix-functions/sqrtf.texi: Mention the new module.
4898
4899 2011-10-08  Bruno Haible  <bruno@clisp.org>
4900
4901         Tests: Avoid link failures w.r.t. libintl.
4902         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
4903         $(LIBINTL).
4904         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
4905         $(LIBINTL).
4906         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
4907         against $(LIBINTL).
4908         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
4909         $(LIBINTL).
4910         * modules/openat-tests (Makefile.am): Link test-fchmodat against
4911         $(LIBINTL).
4912         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
4913
4914 2011-10-08  Bruno Haible  <bruno@clisp.org>
4915
4916         pow tests: Defeat compiler optimizations.
4917         * tests/test-pow.c (main): Assign arguments to x and y before use.
4918
4919 2011-10-08  Bruno Haible  <bruno@clisp.org>
4920
4921         gnulib-tool: Improve last commit.
4922         * gnulib-tool (func_modules_transitive_closure): Simplify code.
4923         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
4924         ignore dependencies that are not among the modules list.
4925
4926 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
4927
4928         gnulib-tool: don't follow dependencies to avoided modules
4929         This fixes a bug that is related to the previous one.
4930         * gnulib-tool (func_modules_transitive_closure)
4931         (func_emit_autoconf_snippets):
4932         Check whether a dependency is acceptable before using it.
4933         (--extract-dependencies): Report an error if --avoid is also used,
4934         since this combination of options is not yet supported.
4935
4936         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
4937         Problem reported by Peter Dyballa in
4938         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
4939         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
4940         when echoing "$condition".
4941
4942 2011-10-07  Bruno Haible  <bruno@clisp.org>
4943
4944         Fix documentation about math functions on MacOS X.
4945         * doc/posix-functions/exp2.texi: Don't say the function is missing on
4946         MacOS X 10.5.
4947         * doc/posix-functions/fdim.texi: Likewise.
4948         * doc/posix-functions/feclearexcept.texi: Likewise.
4949         * doc/posix-functions/fegetenv.texi: Likewise.
4950         * doc/posix-functions/fegetround.texi: Likewise.
4951         * doc/posix-functions/feholdexcept.texi: Likewise.
4952         * doc/posix-functions/feraiseexcept.texi: Likewise.
4953         * doc/posix-functions/fesetenv.texi: Likewise.
4954         * doc/posix-functions/fesetround.texi: Likewise.
4955         * doc/posix-functions/fetestexcept.texi: Likewise.
4956         * doc/posix-functions/feupdateenv.texi: Likewise.
4957         * doc/posix-functions/fmax.texi: Likewise.
4958         * doc/posix-functions/fmin.texi: Likewise.
4959         * doc/posix-functions/log2.texi: Likewise.
4960         * doc/posix-functions/modff.texi: Likewise.
4961         * doc/posix-functions/nan.texi: Likewise.
4962         * doc/posix-functions/nanf.texi: Likewise.
4963         * doc/posix-functions/nextafterf.texi: Likewise.
4964         * doc/posix-functions/remquo.texi: Likewise.
4965
4966 2011-10-07  Bruno Haible  <bruno@clisp.org>
4967
4968         modff: Drop assumption about library that defines modff.
4969         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
4970         AC_CHECK_FUNCS.
4971         * modules/modff (Files): Add m4/mathfunc.m4.
4972
4973 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
4974
4975         raise tests: Avoid a GCC warning.
4976         * tests/test-raise.c (handler): Use _Noreturn.
4977
4978 2011-10-07  Bruno Haible  <bruno@clisp.org>
4979
4980         Tests for module 'ldexpf'.
4981         * modules/ldexpf-tests: New file.
4982         * tests/test-ldexpf.c: New file.
4983
4984         New module 'ldexpf'.
4985         * lib/math.in.h (ldexpf): New declaration.
4986         * lib/ldexpf.c: New file.
4987         * m4/ldexpf.m4: New file.
4988         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
4989         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
4990         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
4991         * modules/ldexpf: New file.
4992         * tests/test-math-c++.cc: Check the declaration of ldexpf.
4993         * doc/posix-functions/ldexpf.texi: Mention the new module.
4994
4995 2011-10-06  Bruno Haible  <bruno@clisp.org>
4996
4997         frexpf: Work around problems on IRIX and mingw.
4998         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
4999         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
5000         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
5001         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
5002         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
5003         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
5004         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
5005
5006 2011-10-06  Bruno Haible  <bruno@clisp.org>
5007
5008         fabsf: Drop assumption about library that defines fabsf.
5009         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
5010         AC_CHECK_FUNCS.
5011         * modules/fabsf (Files): Add m4/mathfunc.m4.
5012
5013 2011-10-06  Bruno Haible  <bruno@clisp.org>
5014
5015         frexpf: Drop assumption about library that defines frexpf.
5016         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
5017         'int *', 'float *', 'long double *', 'float', 'long double'.
5018         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
5019         AC_CHECK_FUNCS.
5020         * modules/frexpf (Files): Add m4/mathfunc.m4.
5021
5022         Tests for module 'frexpf'.
5023         * modules/frexpf-tests: New file.
5024         * tests/test-frexpf.c: New file.
5025
5026         New module 'frexpf'.
5027         * lib/math.in.h (frexpf): New declaration.
5028         * lib/frexpf.c: New file.
5029         * m4/frexpf.m4: New file.
5030         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
5031         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
5032         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
5033         * modules/frexpf: New file.
5034         * tests/test-math-c++.cc: Check the declaration of frexpf.
5035         * doc/posix-functions/frexpf.texi: Mention the new module.
5036
5037 2011-10-06  Bruno Haible  <bruno@clisp.org>
5038
5039         math: Sort function declarations of math.in.h.
5040         * lib/math.in.h (frexp, logb): Move declarations.
5041
5042 2011-10-05  Bruno Haible  <bruno@clisp.org>
5043
5044         Tests for module 'modff'.
5045         * modules/modff-tests: New file.
5046         * tests/test-modff.c: New file.
5047
5048         New module 'modff'.
5049         * lib/math.in.h (modff): New declaration.
5050         * lib/modff.c: New file.
5051         * m4/modff.m4: New file.
5052         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
5053         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
5054         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
5055         * modules/modff: New file.
5056         * tests/test-math-c++.cc: Check the declaration of modff.
5057         * doc/posix-functions/modff.texi: Mention the new module.
5058
5059         modf tests: Make test sharper.
5060         * tests/test-modf.c (main): Strengthen upper bound.
5061
5062         modf: Use a .m4 file.
5063         * m4/modf.m4: New file.
5064         * modules/modf (Files): Add it.
5065         (configure.ac): Just invoke gl_FUNC_MODF.
5066
5067 2011-10-05  Bruno Haible  <bruno@clisp.org>
5068
5069         Tests for module 'fmodf'.
5070         * modules/fmodf-tests: New file.
5071         * tests/test-fmodf.c: New file.
5072
5073         New module 'fmodf'.
5074         * lib/math.in.h (fmodf): New declaration.
5075         * lib/fmodf.c: New file.
5076         * m4/fmodf.m4: New file.
5077         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
5078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
5079         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
5080         * modules/fmodf: New file.
5081         * tests/test-math-c++.cc: Check the declaration of fmodf.
5082         * doc/posix-functions/fmodf.texi: Mention the new module.
5083
5084         fmod: Use a .m4 file.
5085         * m4/fmod.m4: New file.
5086         * modules/fmod (Files): Add it.
5087         (configure.ac): Just invoke gl_FUNC_FMOD.
5088
5089 2011-10-05  Bruno Haible  <bruno@clisp.org>
5090
5091         Tests for module 'fabsf'.
5092         * modules/fabsf-tests: New file.
5093         * tests/test-fabsf.c: New file.
5094
5095         New module 'fabsf'.
5096         * lib/math.in.h (fabsf): New declaration.
5097         * lib/fabsf.c: New file.
5098         * m4/fabsf.m4: New file.
5099         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
5100         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
5101         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
5102         * modules/fabsf: New file.
5103         * tests/test-math-c++.cc: Check the declaration of fabsf.
5104         * doc/posix-functions/fabsf.texi: Mention the new module.
5105
5106         fabs: Use a .m4 file.
5107         * m4/fabs.m4: New file.
5108         * modules/fabs (Files): Add it.
5109         (configure.ac): Just invoke gl_FUNC_FABS.
5110
5111 2011-10-05  Jim Meyering  <meyering@redhat.com>
5112
5113         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
5114         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
5115         ls -lL regression introduced in coreutils-8.12, it does so at the
5116         cost of an additional stat call in the common case.  Besides, now
5117         that the kernel change that prompted commit 95f7c57f has been reverted
5118         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
5119         we have no use for commit 95f7c57f, "file-has-acl: use
5120         acl_extended_file_nofollow if available".
5121
5122 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
5123
5124         file-has-acl: revert unintended change in behavior of ls -L
5125         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
5126         derived from...
5127         (file_has_acl): ...code here.  Call it.
5128         This problem was introduced with 2011-07-22 commit 95f7c57f,
5129         "file-has-acl: use acl_extended_file_nofollow if available".
5130         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
5131
5132 2011-10-03  Bruno Haible  <bruno@clisp.org>
5133
5134         poll: Avoid link errors on MSVC.
5135         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
5136         * modules/poll (Depends-on): Add sockets.
5137         (Link): New section.
5138         * NEWS: Mention the change.
5139         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
5140         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
5141         $(LIB_POLL) instead of $(LIBSOCKET).
5142
5143 2011-10-03  Bruno Haible  <bruno@clisp.org>
5144
5145         sys_select tests: Fix link error on MSVC 9.
5146         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
5147         with $(LIB_SELECT) instead of $(LIBSOCKET).
5148
5149 2011-10-03  Bruno Haible  <bruno@clisp.org>
5150
5151         sys_select: Fix compilation error on mingw.
5152         * lib/sys_select.in.h: On native Windows, include <io.h>.
5153
5154 2011-10-03  Bruno Haible  <bruno@clisp.org>
5155
5156         wmemset: Support for MSVC.
5157         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
5158         whether wmemset() exists.
5159
5160 2011-10-03  Bruno Haible  <bruno@clisp.org>
5161
5162         wmemmove: Support for MSVC.
5163         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
5164         whether wmemmove() exists.
5165
5166 2011-10-03  Bruno Haible  <bruno@clisp.org>
5167
5168         wmemcpy: Support for MSVC.
5169         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
5170         whether wmemcpy() exists.
5171
5172 2011-10-03  Bruno Haible  <bruno@clisp.org>
5173
5174         wmemcmp: Support for MSVC.
5175         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
5176         whether wmemcmp() exists.
5177
5178 2011-10-03  Bruno Haible  <bruno@clisp.org>
5179
5180         wmemchr: Support for MSVC.
5181         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
5182         whether wmemchr() exists.
5183
5184 2011-10-03  Bruno Haible  <bruno@clisp.org>
5185
5186         glthread/*, strsignal: Support for MSVC.
5187         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
5188         including <winsock.h> on MSVC 9.
5189         * lib/glthread/lock.h: Likewise.
5190         * lib/glthread/thread.h: Likewise.
5191         * lib/glthread/tls.h: Likewise.
5192         * lib/glthread/yield.h: Likewise.
5193         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
5194         if HAVE_UNISTD_H is false.
5195         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
5196
5197 2011-10-03  Bruno Haible  <bruno@clisp.org>
5198
5199         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
5200         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
5201         Set to 100000.
5202
5203 2011-10-03  Bruno Haible  <bruno@clisp.org>
5204
5205         acl: Fix specification.
5206         * lib/file-has-acl.c (file_has_acl): Fix specification.
5207
5208 2011-10-03  Bruno Haible  <bruno@clisp.org>
5209
5210         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
5211         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
5212         (compute_curr_prefix, shared_library_fullname,
5213         find_shared_library_fullname, get_shared_library_fullname, relocate):
5214         Use it together with PIC && INSTALLDIR.
5215         Reported by <jojelino@gmail.com>
5216         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
5217
5218 2011-10-01  Jim Meyering  <meyering@redhat.com>
5219
5220         maint.mk: adjust a release-related rule not to require use of gzip
5221         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
5222         Instead, check each file in $(DIST_ARCHIVES).  This is better for
5223         projects that build only .tar.xz files.  Also fix an erroneous test.
5224
5225         test-linkat: don't leave behind a temporary file
5226         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
5227         Otherwise, coreutils' "make distcheck" would fail with this:
5228           Only in /c/cu/tests/torture/coreutils/test/\
5229             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
5230           make[2]: *** [my-distcheck] Error 1
5231
5232         float, math: add omitted file
5233         * lib/itold.c: Add file, required for yesterday's float change.
5234
5235 2011-10-01  Bruno Haible  <bruno@clisp.org>
5236
5237         isinf: Fix for OpenBSD/x86.
5238         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
5239         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
5240         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
5241
5242 2011-10-01  Bruno Haible  <bruno@clisp.org>
5243
5244         isfinite: Fix syntax error in configure test.
5245         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
5246
5247         isfinite: Fix typo.
5248         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
5249         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
5250
5251 2011-10-01  Bruno Haible  <bruno@clisp.org>
5252
5253         nonblocking tests: Fix test failure on Linux/IA-64.
5254         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
5255         Set to 270000.
5256
5257 2011-10-01  Bruno Haible  <bruno@clisp.org>
5258
5259         mkfifoat tests: Fix a test failure on mingw.
5260         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
5261         with error ENOSYS.
5262
5263 2011-09-30  Bruno Haible  <bruno@clisp.org>
5264
5265         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
5266         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
5267         'long double'. Set REPLACE_ITOLD.
5268         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
5269         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
5270         * lib/itold.c: New file.
5271         * modules/float (Files): Add lib/itold.c.
5272         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
5273         (Makefile.am): Substitute REPLACE_ITOLD.
5274         * modules/math (Depends-on): Add float.
5275         (Makefile.am): Substitute REPLACE_ITOLD.
5276         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
5277         * doc/posix-headers/math.texi: Likewise.
5278         * doc/posix-functions/logl.texi: Likewise.
5279
5280 2011-09-30  Bruno Haible  <bruno@clisp.org>
5281
5282         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
5283         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
5284         Set to 140000.
5285
5286 2011-09-30  Bruno Haible  <bruno@clisp.org>
5287
5288         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
5289         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
5290         invocation, say "right after AC_PROG_CC_STDC", not "right after
5291         AC_PROG_CC".
5292         Reported by Gary V. Vaughan <gary@gnu.org>.
5293
5294 2011-09-30  Bruno Haible  <bruno@clisp.org>
5295
5296         Centralize C99 requirement.
5297         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
5298         * modules/stdarg (configure.ac-early): Invoke it instead of
5299         AC_PROG_CC_STDC.
5300         Reported by Gary V. Vaughan and Paul Eggert.
5301
5302 2011-09-29  Bruno Haible  <bruno@clisp.org>
5303
5304         float: Fix LDBL_MAX value on Linux/PowerPC.
5305         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
5306         on Linux/PowerPC.
5307         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
5308         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
5309         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
5310         platform.
5311         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
5312
5313 2011-09-29  Bruno Haible  <bruno@clisp.org>
5314
5315         doc: Improve doc about gl_EARLY.
5316         * doc/gnulib-tool.texi (Initial import): Mention where to place an
5317         AC_PROG_CC_STDC invocation.
5318         Reported by Gary V. Vaughan <gary@gnu.org>.
5319
5320 2011-09-28  Bruno Haible  <bruno@clisp.org>
5321
5322         fgetc, fputc, fread, fwrite tests: Fix link error.
5323         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
5324         on non-MSVC platforms.
5325         * tests/test-fputc.c (main): Likewise.
5326         * tests/test-fread.c (main): Likewise.
5327         * tests/test-fwrite.c (main): Likewise.
5328         Reported by Jim Meyering.
5329
5330 2011-09-27  Bruno Haible  <bruno@clisp.org>
5331
5332         fputc, fwrite tests: Avoid test failure on MSVC.
5333         * tests/test-fgetc.c: Include msvc-inval.h.
5334         (main): Invoke gl_msvc_inval_ensure_handler.
5335         * tests/test-fputc.c: Include msvc-inval.h.
5336         (main): Invoke gl_msvc_inval_ensure_handler.
5337         * tests/test-fread.c: Include msvc-inval.h.
5338         (main): Invoke gl_msvc_inval_ensure_handler.
5339         * tests/test-fwrite.c: Include msvc-inval.h.
5340         (main): Invoke gl_msvc_inval_ensure_handler.
5341         * modules/fgetc-tests (Depends-on): Add msvc-inval.
5342         * modules/fputc-tests (Depends-on): Likewise.
5343         * modules/fread-tests (Depends-on): Likewise.
5344         * modules/fwrite-tests (Depends-on): Likewise.
5345
5346 2011-09-27  Bruno Haible  <bruno@clisp.org>
5347
5348         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
5349         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
5350         (raise): Remove older, duplicated declaration.
5351         (_gl_raise_SIGPIPE): New declaration.
5352         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
5353         (rpl_raise): Remove function.
5354         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
5355         a gnulib-defined SIGPIPE here.
5356         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
5357         'sigprocmask' has detected missing signal-blocking and the module
5358         'sigpipe' is enabled.
5359         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5360
5361 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
5362
5363         base64-tests: avoid memory leak
5364         * tests/test-base64.c (main): Plug memory leak.
5365
5366         base32: new module
5367         * modules/base32: New module.
5368         * lib/base32.c: New file.
5369         * lib/base32.h: Likewise.
5370         * m4/base32.m4: Likewise.
5371         * modules/base32-tests: New test.
5372         * tests/test-base32.c: Likewise.
5373         * MODULES.html.sh (Misc): Mention it.
5374
5375 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5376
5377         gnulib: use more-standard license notice wording
5378         * gnulib-tool (func_emit_copyright_notice): When emitting a
5379         license notice into a file, use the standard wording as suggested
5380         by the current information for GNU maintainers, except say "file"
5381         rather than "program".  The new wording gives a license version
5382         number, which addresses an issue raised by Glenn Morris in
5383         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
5384         * m4/onceonly.m4: Use that same wording here, too.
5385
5386         dup2: minor simplification
5387         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
5388         as lib/dup2.c no longer uses 'inline'.
5389
5390 2011-09-25  Bruno Haible  <bruno@clisp.org>
5391
5392         strings: Fix compilation error on MSVC.
5393         * lib/strings.in.h: Include <stddef.h> for size_t.
5394
5395 2011-09-25  Bruno Haible  <bruno@clisp.org>
5396
5397         fflush et al.: Document limitation on MSVC.
5398         * doc/posix-functions/fflush.texi: Document possible crash in handling
5399         mode other than DEFAULT_HANDLING.
5400         * doc/posix-functions/fgetc.texi: Likewise.
5401         * doc/posix-functions/fputc.texi: Likewise.
5402         * doc/posix-functions/fread.texi: Likewise.
5403         * doc/posix-functions/fwrite.texi: Likewise.
5404
5405 2011-09-25  Bruno Haible  <bruno@clisp.org>
5406
5407         msvc-inval: Allow three invalid parameter handling modes.
5408         * lib/msvc-inval.h: Don't include <stdlib.h> here.
5409         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
5410         macros.
5411         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
5412         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
5413         SANE_LIBRARY_HANDLING as a no-op.
5414         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
5415         <stdlib.h>.
5416         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
5417
5418 2011-09-25  Bruno Haible  <bruno@clisp.org>
5419
5420         msvc-inval: Make handler multithread-safe.
5421         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
5422         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
5423         declarations.
5424         (gl_msvc_inval_current): New declaration.
5425         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5426         Operate on the structure returned by gl_msvc_inval_current().
5427         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
5428         Remove varaiables.
5429         (tls_index, tls_initialized): New variables.
5430         (not_per_thread): New variable.
5431         (gl_msvc_inval_current): New function.
5432         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
5433         returned by gl_msvc_inval_current().
5434
5435 2011-09-25  Bruno Haible  <bruno@clisp.org>
5436
5437         msvc-inval: Install handler globally.
5438         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
5439         !_MSC_VER.
5440         (gl_msvc_invalid_parameter_handler): Remove declaration.
5441         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
5442         declarations.
5443         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5444         Install the handler globally, don't uninstall it.
5445         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
5446         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
5447         currently valid, call RaiseException instead.
5448         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
5449         for !_MSC_VER.
5450
5451 2011-09-25  Bruno Haible  <bruno@clisp.org>
5452
5453         strerror_r-posix: Fix for MSVC 9.
5454         * lib/strerror_r.c (local_snprintf): New function.
5455         (snprintf): Define to local_snprintf, not to _snprintf.
5456
5457 2011-09-25  Bruno Haible  <bruno@clisp.org>
5458
5459         ftruncate: Support for MSVC 9.
5460         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
5461         (chsize_nothrow): New function.
5462         (chsize): Redefine as a macro.
5463         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
5464         * modules/ftruncate (Depends-on): Add msvc-inval.
5465
5466 2011-09-25  Bruno Haible  <bruno@clisp.org>
5467
5468         New module 'fstat'.
5469         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
5470         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
5471         * lib/fchdir.c (rpl_fstat): Remove function.
5472         * m4/fstat.m4: New file.
5473         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
5474         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
5475         declared.
5476         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
5477         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
5478         * modules/fstat: New file.
5479         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
5480         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
5481         is set.
5482         * doc/posix-functions/fstat.texi: Mention the new module and the
5483         problem on MSVC.
5484         * NEWS: Mention the change.
5485         * modules/acl (Depends-on): Add fstat.
5486         * modules/chdir-safer (Depends-on): Likewise.
5487         * modules/chown (Depends-on): Likewise.
5488         * modules/copy-file (Depends-on): Likewise.
5489         * modules/fchdir (Depends-on): Likewise.
5490         * modules/fdopendir (Depends-on): Likewise.
5491         * modules/fopen (Depends-on): Likewise.
5492         * modules/fts (Depends-on): Likewise.
5493         * modules/getcwd (Depends-on): Likewise.
5494         * modules/isapipe (Depends-on): Likewise.
5495         * modules/linkat (Depends-on): Likewise.
5496         * modules/lseek (Depends-on): Likewise.
5497         * modules/mkdir-p (Depends-on): Likewise.
5498         * modules/open (Depends-on): Likewise.
5499         * modules/openat (Depends-on): Likewise.
5500         * modules/read-file (Depends-on): Likewise.
5501         * modules/renameat (Depends-on): Likewise.
5502         * modules/utimens (Depends-on): Likewise.
5503
5504 2011-09-25  Bruno Haible  <bruno@clisp.org>
5505
5506         linkat: Fix compilation on MSVC 9.
5507         * lib/linkat.c: Don't include <stdint.h>.
5508
5509 2011-09-25  Bruno Haible  <bruno@clisp.org>
5510
5511         fclose: Support for MSVC 9.
5512         * lib/fclose.c: Include msvc-inval.h.
5513         (fclose_nothrow): New function.
5514         (rpl_fclose): Use it.
5515         * modules/fclose (Depends-on): Add msvc-inval.
5516         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
5517
5518 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
5519
5520         dup2: minor simplifications
5521         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
5522         that it's a performance win.
5523         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
5524         ! defined __CYGWIN__)" to "ifdef F_GETFL".
5525
5526 2011-09-24  Jim Meyering  <meyering@redhat.com>
5527
5528         test-futimens: avoid a warning from gcc -Wshadow
5529         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
5530         to avoid a shadowing warning.
5531
5532 2011-09-24  Bruno Haible  <bruno@clisp.org>
5533
5534         fdopen: Support for MSVC 9.
5535         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
5536         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
5537         * lib/fdopen.c: Include msvc-inval.h.
5538         (fdopen_nothrow): New function.
5539         (rpl_fdopen): Use it.
5540         * modules/fdopen (Depends-on): Add msvc-inval.
5541         * modules/fclose-tests (Depends-on): Add fdopen.
5542         * modules/fflush-tests (Depends-on): Likewise.
5543         * modules/fgetc-tests (Depends-on): Likewise.
5544         * modules/fputc-tests (Depends-on): Likewise.
5545         * modules/fread-tests (Depends-on): Likewise.
5546         * modules/freopen-tests (Depends-on): Likewise.
5547         * modules/fseeko-tests (Depends-on): Likewise.
5548         * modules/ftello-tests (Depends-on): Likewise.
5549         * modules/fwrite-tests  (Depends-on): Likewise.
5550         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
5551
5552 2011-09-24  Bruno Haible  <bruno@clisp.org>
5553
5554         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
5555         * modules/fgetc-tests (Depends-on): Add unistd.
5556         * modules/fputc-tests (Depends-on): Likewise.
5557         * modules/fread-tests (Depends-on): Likewise.
5558         * modules/fwrite-tests (Depends-on): Likewise.
5559
5560 2011-09-24  Bruno Haible  <bruno@clisp.org>
5561
5562         dup: Simplify autoconf test.
5563         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
5564         on gl_MSVC_INVAL's result.
5565
5566 2011-09-24  Bruno Haible  <bruno@clisp.org>
5567
5568         Tests for function fwrite().
5569         * modules/fwrite-tests: New file.
5570         * tests/test-fwrite.c: New file.
5571         * modules/stdio-tests (Depends-on): Add fwrite-tests.
5572
5573         Tests for function fread().
5574         * modules/fread-tests: New file.
5575         * tests/test-fread.c: New file.
5576         * modules/stdio-tests (Depends-on): Add fread-tests.
5577
5578         Activate fputc tests.
5579         * modules/stdio-tests (Depends-on): Add fputc-tests.
5580
5581         Enhance fgetc, fputc tests.
5582         * tests/test-fgetc.c (main): Also test the stream's error indicator.
5583         * tests/test-fputc.c (main): Likewise.
5584
5585 2011-09-24  Bruno Haible  <bruno@clisp.org>
5586
5587         write: Support for MSVC 9.
5588         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5589         is not 1.
5590         * lib/write.c (write_nothrow): New function.
5591         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
5592         not 1. Use write_nothrow.
5593         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
5594         invalid parameter handler.
5595         (gl_PREREQ_WRITE): New macro.
5596         * modules/write (Depends-on): Add msvc-inval.
5597         (configure.ac): Invoke gl_PREREQ_WRITE.
5598         * doc/posix-functions/write.texi: Mention the problem on MSVC.
5599
5600 2011-09-24  Bruno Haible  <bruno@clisp.org>
5601
5602         read: Fix last commit.
5603         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
5604
5605 2011-09-24  Bruno Haible  <bruno@clisp.org>
5606
5607         dup2: Fix last commit.
5608         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
5609         (rpl_dup2): Disable fcntl workaround on native Windows.
5610
5611         sigprocmask: Make code safer.
5612         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
5613         section that changes macro definitions for this compilation unit.
5614
5615 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5616
5617         dup2: clarify by coalescing Windows-specific material
5618         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
5619         "msvc-nothrow.h"' to the Windows-specific section, so that the
5620         Emacs source need not contain these include files.
5621         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
5622         Windows-specific fixes into this function rather than just the
5623         nothrow fix, as this shortens and clarifies the code.  Always
5624         define as a function, as that's a bit cleaner than having it be
5625         sometimes a function and sometimes a macro.
5626         (rpl_dup2): Move the Windows-specific stuff out of here and into
5627         ms_windows_dup2.  Don't protect the Haiku-related fix with
5628         "#if !defined __linux__", as the same code also works around
5629         a Linux kernel bug, and it doesn't add any system calls on any
5630         platform.  Add comment about FreeBSD 6.1.
5631
5632         sigprocmask: move #include directive
5633         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
5634         Windows-specific section, so that the Emacs source need not
5635         contain msvc-inval.h.
5636
5637 2011-09-23  Bruno Haible  <bruno@clisp.org>
5638
5639         read: Support for MSVC 9.
5640         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5641         is not 1.
5642         * lib/read.c (read_nothrow): New function.
5643         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
5644         read_nothrow.
5645         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
5646         invalid parameter handler.
5647         (gl_PREREQ_READ): New macro.
5648         * modules/read (Depends-on): Add msvc-inval.
5649         (configure.ac): Invoke gl_PREREQ_READ.
5650         * doc/posix-functions/read.texi: Mention the problem on MSVC.
5651
5652 2011-09-23  Bruno Haible  <bruno@clisp.org>
5653
5654         close: Support for MSVC 9.
5655         * lib/close.c: Include <errno.h>, msvc-inval.h.
5656         (close_nothrow): New function.
5657         (rpl_close): Use it.
5658         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
5659         invalid parameter handler.
5660         * modules/close (Depends-on): Add msvc-inval.
5661         * modules/dup2-tests (Depends-on): Add close.
5662         * modules/dup3-tests (Depends-on): Likewise.
5663         * modules/fcntl-tests (Depends-on): Likewise.
5664         * modules/spawn-pipe-tests (Depends-on): Likewise.
5665         * modules/unistd-safer-tests (Depends-on): Likewise.
5666         * doc/posix-functions/close.texi: Mention the problem on MSVC.
5667
5668 2011-09-23  Bruno Haible  <bruno@clisp.org>
5669
5670         New module 'dup'.
5671         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
5672         Allow replacement.
5673         * lib/dup.c: New file.
5674         * lib/fchdir.c (rpl_dup): Remove function.
5675         * m4/dup.m4: New file.
5676         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
5677         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
5678         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
5679         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
5680         * modules/dup: New file.
5681         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
5682         'dup' module is in use.
5683         * modules/fdopendir (Depends-on): Add dup.
5684         * modules/fdutimensat-tests (Depends-on): Likewise.
5685         * modules/fts (Depends-on): Likewise.
5686         * modules/futimens-tests (Depends-on): Likewise.
5687         * modules/posix_spawnp-tests (Depends-on): Likewise.
5688         * modules/unistd-safer-tests (Depends-on): Likewise.
5689         * modules/utimens-tests (Depends-on): Likewise.
5690         * doc/posix-functions/dup.texi: Mention the new module and the problem
5691         on MSVC.
5692
5693 2011-09-23  Bruno Haible  <bruno@clisp.org>
5694
5695         getdtablesize: Support for MSVC 9.
5696         * lib/getdtablesize.c: Include msvc-inval.h.
5697         (_setmaxstdio_nothrow): New function.
5698         (_setmaxstdio): Redefine it.
5699         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
5700         * modules/getdtablesize (Depends-on): Add msvc-inval.
5701         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
5702
5703 2011-09-23  Bruno Haible  <bruno@clisp.org>
5704
5705         signal-h: Rename from signal.
5706         * modules/signal-h: Renamed from modules/signal.
5707         * modules/pthread_sigmask (Depends-on): Update.
5708         * modules/raise (Depends-on): Likewise.
5709         * modules/sigaction (Depends-on): Likewise.
5710         * modules/sigpipe (Depends-on): Likewise.
5711         * modules/sigprocmask (Depends-on): Likewise.
5712         * modules/sys_select (Depends-on): Likewise.
5713         * modules/signal-h-tests: Renamed from modules/signal-tests.
5714         (Files, Depends-on, Makefile.am): Update.
5715         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
5716         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
5717         (Files, Makefile.am): Update.
5718         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
5719         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
5720         * modules/signal: New placeholder file.
5721         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
5722         * doc/posix-headers/signal.texi: Update.
5723         * NEWS: Mention the change.
5724
5725 2011-09-23  Bruno Haible  <bruno@clisp.org>
5726
5727         sigprocmask: Avoid crashes through signal() on MSVC 9.
5728         * lib/sigprocmask.c: Include msvc-inval.h.
5729         (signal_nothrow): New function.
5730         (signal): Redefine it.
5731         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
5732         * modules/sigprocmask (Depends-on): Add msvc-inval.
5733         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
5734
5735 2011-09-23  Bruno Haible  <bruno@clisp.org>
5736
5737         Tests for module 'raise'.
5738         * modules/raise-tests: New file.
5739         * tests/test-raise.c: New file.
5740
5741         raise: Support for MSVC.
5742         * lib/signal.in.h (raise): New declaration.
5743         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
5744         for native Windows platforms.
5745         * m4/raise.m4: New file.
5746         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
5747         HAVE_RAISE, REPLACE_RAISE.
5748         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
5749         REPLACE_RAISE.
5750         * modules/raise (Status, Notice): Remove fields.
5751         (Files): Add m4/raise.m4.
5752         (Depends-on): Add signal, msvc-inval.
5753         (configure.ac): Use the common idioms.
5754         (Maintainer): Add me.
5755         * tests/test-signal-c++.cc: Check the signature of raise.
5756         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
5757
5758 2011-09-23  Bruno Haible  <bruno@clisp.org>
5759
5760         pipe2: Fix compilation on pre-C99 compilers.
5761         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
5762
5763 2011-09-23  Bruno Haible  <bruno@clisp.org>
5764
5765         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
5766         * lib/msvc-nothrow.h: New file.
5767         * lib/msvc-nothrow.c: New file.
5768         * m4/msvc-nothrow.m4: New file.
5769         * modules/msvc-nothrow: New file.
5770         * lib/dup2.c: Include msvc-nothrow.h.
5771         (rpl_dup2): No need to protect _get_osfhandle call here.
5772         * lib/accept4.c: Include msvc-nothrow.h.
5773         * lib/error.c: Likewise.
5774         * lib/fcntl.c: Likewise.
5775         * lib/lseek.c: Likewise.
5776         * lib/nonblocking.c: Likewise.
5777         * lib/poll.c: Likewise.
5778         * lib/read.c: Likewise.
5779         * lib/select.c: Likewise.
5780         * lib/sockets.h: Likewise.
5781         * lib/sockets.c: Likewise.
5782         * lib/stdio-read.c: Likewise.
5783         * lib/stdio-write.c: Likewise.
5784         * lib/write.c: Likewise.
5785         * lib/w32sock.h: Likewise.
5786         * lib/w32spawn.h: Likewise.
5787         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
5788         * lib/fsync.c: Likewise.
5789         * lib/isapipe.c: Likewise.
5790         * modules/dup2 (Depends-on): Add msvc-nothrow.
5791         * modules/accept4 (Depends-on): Likewise.
5792         * modules/error (Depends-on): Likewise.
5793         * modules/fcntl (Depends-on): Likewise.
5794         * modules/lseek (Depends-on): Likewise.
5795         * modules/nonblocking (Depends-on): Likewise.
5796         * modules/poll (Depends-on): Likewise.
5797         * modules/read (Depends-on): Likewise.
5798         * modules/select (Depends-on): Likewise.
5799         * modules/sockets (Depends-on): Likewise.
5800         * modules/sigpipe (Depends-on): Likewise.
5801         * modules/write (Depends-on): Likewise.
5802         * modules/accept (Depends-on): Likewise.
5803         * modules/bind (Depends-on): Likewise.
5804         * modules/connect (Depends-on): Likewise.
5805         * modules/gethostname (Depends-on): Likewise.
5806         * modules/getpeername (Depends-on): Likewise.
5807         * modules/getsockname (Depends-on): Likewise.
5808         * modules/getsockopt (Depends-on): Likewise.
5809         * modules/ioctl (Depends-on): Likewise.
5810         * modules/listen (Depends-on): Likewise.
5811         * modules/recv (Depends-on): Likewise.
5812         * modules/recvfrom (Depends-on): Likewise.
5813         * modules/send (Depends-on): Likewise.
5814         * modules/sendto (Depends-on): Likewise.
5815         * modules/setsockopt (Depends-on): Likewise.
5816         * modules/shutdown (Depends-on): Likewise.
5817         * modules/socket (Depends-on): Likewise.
5818         * modules/execute (Depends-on): Likewise.
5819         * modules/spawn-pipe (Depends-on): Likewise.
5820         * modules/flock (Depends-on): Likewise.
5821         * modules/fsync (Depends-on): Likewise.
5822         * modules/isapipe (Depends-on): Likewise.
5823         * tests/test-cloexec.c: Include msvc-nothrow.h.
5824         * tests/test-dup-safer.c: Likewise.
5825         * tests/test-dup2.c: Likewise.
5826         * tests/test-dup3.c: Likewise.
5827         * tests/test-fcntl.c: Likewise.
5828         * tests/test-pipe.c: Likewise.
5829         * tests/test-pipe2.c: Likewise.
5830         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
5831         * modules/unistd-safer-tests (Depends-on): Likewise.
5832         * modules/dup2-tests (Depends-on): Likewise.
5833         * modules/dup3-tests (Depends-on): Likewise.
5834         * modules/fcntl-tests (Depends-on): Likewise.
5835         * modules/pipe-posix-tests (Depends-on): Likewise.
5836         * modules/pipe2-tests (Depends-on): Likewise.
5837
5838 2011-09-23  Bruno Haible  <bruno@clisp.org>
5839
5840         dup2: Make code more maintainable.
5841         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
5842         (rpl_dup2): Use it.
5843         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
5844         * modules/dup2 (configure.ac): Invoke it.
5845         Reported by Paul Eggert.
5846
5847 2011-09-23  Bruno Haible  <bruno@clisp.org>
5848
5849         msvc-inval: Fix compilation error.
5850         * lib/msvc-inval.h: Include <excpt.h>.
5851
5852 2011-09-23  Bruno Haible  <bruno@clisp.org>
5853
5854         mkdir: Tweak for MSVC 9.
5855         * lib/sys_stat.in.h: Update comments.
5856         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
5857
5858         Tests for module 'chdir'.
5859         * modules/chdir-tests: New file.
5860         * tests/test-chdir.c: New file.
5861
5862         New module 'chdir'.
5863         * modules/chdir: New file.
5864         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
5865         (chdir): New declaration.
5866         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
5867         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
5868         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
5869         * tests/test-unistd-c++.cc: Check signature of chdir.
5870         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
5871         * modules/chdir-long (Depends-on): Add chdir.
5872         * modules/fchdir (Depends-on): Likewise.
5873         * modules/rename (Depends-on): Likewise.
5874         * modules/savewd (Depends-on): Likewise.
5875
5876         rmdir: Support for mingw, MSVC 9.
5877         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
5878         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
5879
5880         getcwd: Tweak for MSVC 9.
5881         * lib/unistd.in.h: Update comments.
5882         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
5883
5884 2011-09-22  Bruno Haible  <bruno@clisp.org>
5885
5886         strerror_r-posix: Avoid a link error on MSVC.
5887         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
5888         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
5889
5890 2011-09-22  Bruno Haible  <bruno@clisp.org>
5891
5892         select: Avoid link errors on MSVC.
5893         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
5894         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
5895         * modules/pselect (Link): Likewise.
5896         * NEWS: Mention the change.
5897         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
5898         test-select-stdin against $(LIB_SELECT).
5899         * modules/pselect-tests (Makefile.am): Link test-pselect against
5900         $(LIB_SELECT).
5901
5902 2011-09-22  Bruno Haible  <bruno@clisp.org>
5903
5904         select: Avoid compilation error on MSVC.
5905         * lib/select.c: Don't include <stdbool.h>.
5906
5907 2011-09-21  Bruno Haible  <bruno@clisp.org>
5908
5909         Consolidate all uses of PATH_MAX in *.m4 files.
5910         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
5911         macros.
5912         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
5913         and gl_PATHMAX_SNIPPET.
5914         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5915         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5916         * modules/chdir-long (Files): Add m4/pathmax.m4.
5917         * modules/getcwd (Files): Likewise.
5918
5919 2011-09-21  Bruno Haible  <bruno@clisp.org>
5920
5921         ftruncate: Un-deprecate, concentrate on Win32 support.
5922         * modules/ftruncate (Status, Notice): Remove sections.
5923         (Depends-on): Add largefile.
5924         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
5925         non-mingw platforms.
5926         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
5927         include <io.h>.
5928         * modules/perror-tests (Depends-on): Add ftruncate.
5929         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
5930         'ftruncate' module.
5931
5932 2011-09-21  Bruno Haible  <bruno@clisp.org>
5933
5934         Add dependencies to new dirent related modules.
5935         * modules/opendir (Depends-on): Add closedir.
5936         * modules/getcwd (Depends-on): Add opendir, closedir.
5937         * modules/dirent-safer-tests (Depends-on): Likewise.
5938         * modules/fdopendir-tests (Depends-on): Likewise.
5939         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
5940         * modules/renameat-tests (Depends-on): Likewise.
5941
5942 2011-09-21  Bruno Haible  <bruno@clisp.org>
5943
5944         opendir: Avoid compilation error on mingw.
5945         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
5946         * modules/opendir (Depends-on): Add unistd.
5947
5948 2011-09-21  Bruno Haible  <bruno@clisp.org>
5949
5950         ftruncate tests: Avoid a test failure on mingw.
5951         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
5952
5953 2011-09-21  Bruno Haible  <bruno@clisp.org>
5954
5955         select tests: Avoid test failures on OSF/1 5.1 and mingw.
5956         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
5957         native Windows.
5958
5959 2011-09-21  Bruno Haible  <bruno@clisp.org>
5960
5961         New module 'fdopen'.
5962         * lib/stdio.in.h (fdopen): New declaration.
5963         * lib/fdopen.c: New file.
5964         * m4/fdopen.m4: New file.
5965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
5966         REPLACE_FDOPEN.
5967         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
5968         REPLACE_FDOPEN.
5969         * modules/fdopen: New file.
5970         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
5971         * tests/test-stdio-c++.cc: Check signature of fdopen.
5972         * doc/posix-functions/fdopen.texi: Mention the new module.
5973
5974 2011-09-21  Bruno Haible  <bruno@clisp.org>
5975
5976         unlockpt tests: Avoid test failure on NetBSD 5.1.
5977         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
5978         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
5979
5980 2011-09-21  Bruno Haible  <bruno@clisp.org>
5981
5982         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
5983         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
5984         * tests/test-getlogin_r.c (main): Likewise.
5985
5986 2011-09-20  Bruno Haible  <bruno@clisp.org>
5987
5988         time tests: Don't require pid_t.
5989         * doc/posix-headers/time.texi: Revert last change.
5990         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
5991         * tests/test-time.c: Comment out the check for pid_t.
5992
5993 2011-09-20  Bruno Haible  <bruno@clisp.org>
5994
5995         fsync tests: Avoid a test failure on mingw.
5996         * tests/test-fsync.c (main): Allow a failure with EIO.
5997
5998 2011-09-20  Bruno Haible  <bruno@clisp.org>
5999
6000         euidaccess: Update comments.
6001         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
6002
6003 2011-09-20  Bruno Haible  <bruno@clisp.org>
6004
6005         Ensure EBADF returns for socket functions on mingw.
6006         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
6007         descriptor is invalid.
6008         * lib/bind.c (rpl_bind): Likewise.
6009         * lib/connect.c (rpl_connect): Likewise.
6010         * lib/getpeername.c (rpl_getpeername): Likewise.
6011         * lib/getsockname.c (rpl_getsockname): Likewise.
6012         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6013         * lib/listen.c (rpl_listen): Likewise.
6014         * lib/recv.c (rpl_recv): Likewise.
6015         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6016         * lib/send.c (rpl_send): Likewise.
6017         * lib/sendto.c (rpl_sendto): Likewise.
6018         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6019         * lib/shutdown.c (rpl_shutdown): Likewise.
6020
6021 2011-09-20  Bruno Haible  <bruno@clisp.org>
6022
6023         select tests: EBADF tests.
6024         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
6025         test_bad_fd): New functions.
6026         (test_function): Invoke also test_bad_fd.
6027
6028 2011-09-20  Bruno Haible  <bruno@clisp.org>
6029
6030         Tests for module 'posix_spawn_file_actions_addopen.
6031         * modules/posix_spawn_file_actions_addopen-tests: New file.
6032         * tests/test-posix_spawn_file_actions_addopen.c: New file.
6033
6034         Tests for module 'posix_spawn_file_actions_adddup2'.
6035         * modules/posix_spawn_file_actions_adddup2-tests: New file.
6036         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
6037
6038         Tests for module 'posix_spawn_file_actions_addclose'.
6039         * modules/posix_spawn_file_actions_addclose-tests: New file.
6040         * tests/test-posix_spawn_file_actions_addclose.c: New file.
6041
6042 2011-09-20  Bruno Haible  <bruno@clisp.org>
6043
6044         Tests for module 'unlockpt'.
6045         * modules/unlockpt-tests: New file.
6046         * tests/test-unlockpt.c: New file.
6047         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
6048
6049         Tests for module 'grantpt'.
6050         * modules/grantpt-tests: New file.
6051         * tests/test-grantpt.c: New file.
6052         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
6053
6054 2011-09-20  Bruno Haible  <bruno@clisp.org>
6055
6056         freopen tests: EBADF tests.
6057         * tests/test-freopen.c: Include errno.h, unistd.h.
6058         (main): Add tests for EBADF, commented out for the moment.
6059
6060         fclose tests: EBADF tests.
6061         * tests/test-fclose.c (main): Add tests for EBADF.
6062
6063         fflush tests: EBADF tests.
6064         * tests/test-fflush.c: Include errno.h, macros.h.
6065         (main): Add tests for EBADF.
6066
6067         ftello tests: EBADF tests.
6068         * tests/test-ftello4.sh: New file.
6069         * tests/test-ftello4.c: New file.
6070         * modules/ftello-tests (Files): Add them.
6071         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
6072
6073         fseeko tests: EBADF tests.
6074         * tests/test-fseeko4.sh: New file.
6075         * tests/test-fseeko4.c: New file.
6076         * modules/fseeko-tests (Files): Add them.
6077         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
6078
6079         Tests for function fputc().
6080         * modules/fputc-tests: New file.
6081         * tests/test-fputc.c: New file.
6082         * modules/stdio-tests (Depends-on): Add fputc-tests.
6083
6084         Tests for function fgetc().
6085         * modules/fgetc-tests: New file.
6086         * tests/test-fgetc.c: New file.
6087         * modules/stdio-tests (Depends-on): Add fgetc-tests.
6088
6089         Tests for function fdopen().
6090         * modules/fdopen-tests: New file.
6091         * tests/test-fdopen.c: New file.
6092         * modules/stdio-tests (Depends-on): Add fdopen-tests.
6093
6094         Tests for module 'vdprintf'.
6095         * modules/vdprintf-tests: New file.
6096         * tests/test-vdprintf.c: New file.
6097
6098         Tests for module 'dprintf'.
6099         * modules/dprintf-tests: New file.
6100         * tests/test-dprintf.c: New file.
6101
6102 2011-09-20  Bruno Haible  <bruno@clisp.org>
6103
6104         Tests for module 'ioctl'.
6105         * modules/ioctl-tests: New file.
6106         * tests/test-ioctl.c: New file.
6107
6108 2011-09-20  Bruno Haible  <bruno@clisp.org>
6109
6110         fcntl tests: EBADF tests.
6111         * tests/test-fcntl.c (main): Add more tests for EBADF.
6112
6113 2011-09-20  Bruno Haible  <bruno@clisp.org>
6114
6115         utimensat tests: EBADF tests.
6116         * tests/test-utimensat.c (main): Add tests for EBADF.
6117
6118         renameat tests: EBADF tests.
6119         * tests/test-renameat.c (main): Add tests for EBADF.
6120
6121         mkfifoat tests: EBADF tests.
6122         * tests/test-mkfifoat.c (main): Add tests for EBADF.
6123
6124         readlinkat tests: EBADF tests.
6125         * tests/test-readlinkat.c (main): Add tests for EBADF.
6126
6127         symlinkat tests: EBADF tests.
6128         * tests/test-symlinkat.c (main): Add tests for EBADF.
6129
6130         linkat tests: EBADF tests.
6131         * tests/test-linkat.c (main): Add tests for EBADF.
6132
6133         Tests for module 'faccessat'.
6134         * modules/faccessat-tests: New file.
6135         * tests/test-faccessat.c: New file.
6136
6137         fdopendir tests: EBADF tests.
6138         * tests/test-fdopendir.c (main): Add more tests for EBADF.
6139
6140         openat tests: EBADF tests.
6141         * tests/test-fchownat.c (main): Add tests for EBADF.
6142         * tests/test-fstatat.c (main): Likewise.
6143         * tests/test-mkdirat.c (main): Likewise.
6144         * tests/test-openat.c (main): Likewise.
6145         * tests/test-unlinkat.c (main): Likewise.
6146         * tests/test-fchmodat.c: New file.
6147         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
6148         (Makefile.am): Also run 'test-fchmodat'.
6149
6150 2011-09-20  Bruno Haible  <bruno@clisp.org>
6151
6152         utimens, futimens, fdutimensat tests: EBADF tests.
6153         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
6154
6155         Tests for function fstat().
6156         * modules/fstat-tests: New file.
6157         * tests/test-fstat.c: New file.
6158         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
6159
6160 2011-09-20  Bruno Haible  <bruno@clisp.org>
6161
6162         test-ttyname_r tests: EBADF tests.
6163         * tests/test-ttyname_r.c (main): Add tests for EBADF.
6164
6165         Tests for module 'isatty'.
6166         * modules/isatty-tests: New file.
6167         * tests/test-isatty.c: New file.
6168
6169         Tests for module 'write'.
6170         * modules/write-tests: New file.
6171         * tests/test-write.c: New file.
6172
6173         Tests for module 'read'.
6174         * modules/read-tests: New file.
6175         * tests/test-read.c: New file.
6176
6177         pwrite tests: EBADF tests.
6178         * tests/test-pwrite.c (main): Add tests for EBADF.
6179
6180         pread tests: EBADF tests.
6181         * tests/test-pread.c (main): Add tests for EBADF.
6182
6183         lseek tests: EBADF tests.
6184         * tests/test-lseek.c (main): Add more tests for EBADF.
6185
6186         Tests for module 'ftruncate'.
6187         * modules/ftruncate-tests: New file.
6188         * tests/test-ftruncate.sh: New file.
6189         * tests/test-ftruncate.c: New file.
6190
6191         fsync tests: EBADF tests.
6192         * tests/test-fsync.c (main): Add more tests for EBADF.
6193
6194         fdatasync tests: EBADF tests.
6195         * tests/test-fdatasync.c (main): Add more tests for EBADF.
6196
6197         Tests for module 'fchown'.
6198         * modules/fchown-tests: New file.
6199         * tests/test-fchown.c: New file.
6200
6201         Tests for module 'fchmod'.
6202         * modules/fchmod-tests: New file.
6203         * tests/test-fchmod.c: New file.
6204
6205         fchdir tests: EBADF tests.
6206         * tests/test-fchdir.c (main): Add more tests for EBADF.
6207
6208         dup2 tests: EBADF tests.
6209         * tests/test-dup2.c (main): Add more tests for EBADF.
6210
6211         Tests for module 'dup'.
6212         * modules/dup-tests: New file.
6213         * tests/test-dup.c: New file.
6214
6215         Tests for module 'close'.
6216         * modules/close-tests: New file.
6217         * tests/test-close.c: New file.
6218
6219 2011-09-20  Bruno Haible  <bruno@clisp.org>
6220
6221         Tests for module 'shutdown'.
6222         * modules/shutdown-tests: New file.
6223         * tests/test-shutdown.c: New file.
6224
6225         Tests for module 'setsockopt'.
6226         * modules/setsockopt-tests: New file.
6227         * tests/test-setsockopt.c: New file.
6228
6229         Tests for module 'sendto'.
6230         * modules/sendto-tests: New file.
6231         * tests/test-sendto.c: New file.
6232
6233         Tests for module 'send'.
6234         * modules/send-tests: New file.
6235         * tests/test-send.c: New file.
6236
6237         Tests for module 'recvfrom'.
6238         * modules/recvfrom-tests: New file.
6239         * tests/test-recvfrom.c: New file.
6240
6241         Tests for module 'recv'.
6242         * modules/recv-tests: New file.
6243         * tests/test-recv.c: New file.
6244
6245         Tests for module 'listen'.
6246         * modules/listen-tests: New file.
6247         * tests/test-listen.c: New file.
6248
6249         Tests for module 'getsockopt'.
6250         * modules/getsockopt-tests: New file.
6251         * tests/test-getsockopt.c: New file.
6252
6253         Tests for module 'getsockname'.
6254         * modules/getsockname-tests: New file.
6255         * tests/test-getsockname.c: New file.
6256
6257         Tests for module 'getpeername'.
6258         * modules/getpeername-tests: New file.
6259         * tests/test-getpeername.c: New file.
6260
6261         Tests for module 'connect'.
6262         * modules/connect-tests: New file.
6263         * tests/test-connect.c: New file.
6264
6265         Tests for module 'bind'.
6266         * modules/bind-tests: New file.
6267         * tests/test-bind.c: New file.
6268
6269         accept4 tests: Fix for native Windows.
6270         * tests/test-accept4.c: Include sockets.h.
6271         (main): Invoke gl_sockets_startup.
6272         * modules/accept4-tests (Depends-on): Add sockets.
6273
6274         accept tests: Fix for native Windows.
6275         * tests/test-accept.c: Include sockets.h.
6276         (main): Invoke gl_sockets_startup.
6277         * modules/accept-tests (Depends-on): Add sockets.
6278
6279 2011-09-19  Bruno Haible  <bruno@clisp.org>
6280
6281         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
6282         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
6283         do...while(0).
6284         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
6285         Suggested by Paul Eggert.
6286
6287 2011-09-19  Bruno Haible  <bruno@clisp.org>
6288
6289         sched: Ensure pid_t is defined.
6290         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
6291         not define pid_t.
6292         * lib/sched.in.h: Include <sys/types.h>.
6293         * doc/posix-headers/sched.texi: Mention the pid_t problem.
6294         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6295
6296 2011-09-19  Bruno Haible  <bruno@clisp.org>
6297
6298         msvc-inval: Ensure the entire expansion is a single statement.
6299         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
6300         of braces.
6301
6302 2011-09-19  Jim Meyering  <meyering@redhat.com>
6303
6304         tests: use printf, not echo in init.sh's warn_ function
6305         * tests/init.sh (warn_): Use printf, not echo.  The latter would
6306         misbehave when given strings containing a backslash or starting
6307         with e.g., -n.  James Youngman suggested setting IFS.
6308
6309 2011-09-19  Eric Blake  <eblake@redhat.com>
6310
6311         futimens: enhance test
6312         * tests/test-futimens.h (test_futimens): Also check for EBADF on
6313         closed non-negative fd.
6314
6315         date: accept 'hence' as opposite of 'ago'
6316         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
6317         * tests/test-parse-datetime.c (main): Enhance test.
6318         Suggested by Jesse Wilson.
6319
6320 2011-09-19  Jim Meyering  <meyering@redhat.com>
6321
6322         getcwd: don't fail in a deep directory on a system without openat
6323         Before this change, getcwd would fail when called from a directory
6324         of depth PATH_MAX / 3 or greater.  That was due to the fact that
6325         the non-openat implementation used "..", "../..", "../../..", etc.
6326         to access ancestor directories.  With too many, that string would
6327         be longer than PATH_MAX.
6328         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
6329         using gnulib's openat replacement.
6330         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
6331         we're using the replacement function.
6332
6333 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
6334
6335         maint.mk: avoid warnings from perl about missing files
6336         * top/maint.mk (def_sym_regex): Ignore files listed in
6337         $(gl_other_headers_) that do not exist, say because a project
6338         does not use a corresponding module.
6339
6340 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6341
6342         stat: use pathmax.h only if needed
6343         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
6344         This is better for Emacs, which does not have a mingw port and
6345         therefore can avoid the pathmax module.
6346
6347         utimens: remove dependency on dup2
6348         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
6349         to work around the Linux kernel bug.
6350         * modules/utimens (Depends-on): Remove dup2.
6351
6352 2011-09-18  Bruno Haible  <bruno@clisp.org>
6353
6354         inet_ntop, inet_pton: Look for it also in libresolv.
6355         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
6356         libnsl, search for it in libresolv.
6357         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6358         Needed on Solaris 7.
6359
6360 2011-09-18  Bruno Haible  <bruno@clisp.org>
6361
6362         accept, accept4 tests: Avoid link error on Solaris.
6363         * modules/accept-tests (Makefile.am): Link test-accept against
6364         $(LIBSOCKET).
6365         * modules/accept4-tests (Makefile.am): Link test-accept4 against
6366         $(LIBSOCKET).
6367
6368         accept4: Avoid link error on Solaris.
6369         * modules/accept4 (Link): New section.
6370
6371         socket functions: Avoid link errors on Solaris.
6372         * modules/accept (Depends-on): Add socketlib.
6373         (Link): New section.
6374         * modules/bind (Depends-on): Add socketlib.
6375         (Link): New section.
6376         * modules/connect (Depends-on): Add socketlib.
6377         (Link): New section.
6378         * modules/getpeername (Depends-on): Add socketlib.
6379         (Link): New section.
6380         * modules/getsockname (Depends-on): Add socketlib.
6381         (Link): New section.
6382         * modules/getsockopt (Depends-on): Add socketlib.
6383         (Link): New section.
6384         * modules/listen (Depends-on): Add socketlib.
6385         (Link): New section.
6386         * modules/recv (Depends-on): Add socketlib.
6387         (Link): New section.
6388         * modules/recvfrom (Depends-on): Add socketlib.
6389         (Link): New section.
6390         * modules/send (Depends-on): Add socketlib.
6391         (Link): New section.
6392         * modules/sendto (Depends-on): Add socketlib.
6393         (Link): New section.
6394         * modules/setsockopt (Depends-on): Add socketlib.
6395         (Link): New section.
6396         * modules/shutdown (Depends-on): Add socketlib.
6397         (Link): New section.
6398         * modules/socket (Depends-on): Add socketlib.
6399         (Link): New section.
6400
6401 2011-09-18  Bruno Haible  <bruno@clisp.org>
6402
6403         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
6404         * tests/test-ptsname.c (main): Terminate the test if it takes longer
6405         than 5 seconds.
6406         * modules/ptsname-tests (configure.ac): Test for alarm.
6407
6408 2011-09-18  Bruno Haible  <bruno@clisp.org>
6409
6410         posix_spawn_file_actions_add*: Fix module dependencies.
6411         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
6412         posix_spawn_file_actions_init.
6413         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
6414         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
6415
6416 2011-09-18  Bruno Haible  <bruno@clisp.org>
6417
6418         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
6419         * tests/test-rename.h (test_rename): Allow error code EEXIST.
6420         * tests/test-renameat.c (main): Likewise.
6421
6422 2011-09-18  Bruno Haible  <bruno@clisp.org>
6423
6424         Tests for module 'accept4'.
6425         * modules/accept4-tests: New file.
6426         * tests/test-accept4.c: New file.
6427
6428 2011-09-18  Bruno Haible  <bruno@clisp.org>
6429
6430         Tests for module 'accept'.
6431         * modules/accept-tests: New file.
6432         * tests/test-accept.c: New file.
6433
6434 2011-09-18  Bruno Haible  <bruno@clisp.org>
6435
6436         dup2: Support for MSVC.
6437         * lib/dup2.c: Include msvc-inval.h.
6438         (rpl_dup2): Handle invalid parameter notifications during dup2 and
6439         _get_osfhandle calls.
6440         * modules/dup2 (Depends-on): Add msvc-inval.
6441         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
6442
6443         New module 'msvc-inval'.
6444         * lib/msvc-inval.h: New file.
6445         * lib/msvc-inval.c: New file.
6446         * m4/msvc-inval.m4: New file.
6447         * modules/msvc-inval: New file.
6448
6449 2011-09-17  Bruno Haible  <bruno@clisp.org>
6450
6451         Tests for module 'pclose'.
6452         * modules/pclose-tests: New file.
6453
6454         New module 'pclose'.
6455         * lib/stdio.in.h (pclose): New declaration.
6456         * lib/pclose.c: New file.
6457         * m4/pclose.m4: New file.
6458         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
6459         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
6460         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
6461         * modules/pclose: New file.
6462         * modules/popen-tests (Depends-on): Add pclose.
6463         * modules/popen-safer-tests (Depends-on): Likewise.
6464         * doc/posix-functions/pclose.texi: Mention the new module.
6465
6466 2011-09-17  Bruno Haible  <bruno@clisp.org>
6467
6468         popen: Support for MSVC.
6469         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
6470         * lib/popen.c (popen): Provide alternate definition for native Windows.
6471         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
6472         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
6473         * modules/popen (Depends-on, configure.ac): Update condition.
6474         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
6475         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
6476         fixed.
6477
6478 2011-09-17  Bruno Haible  <bruno@clisp.org>
6479
6480         isnanl, isnand, isnanf: Work around MSVC bug.
6481         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
6482
6483 2011-09-17  Bruno Haible  <bruno@clisp.org>
6484
6485         sys_socket tests: Fix recent mistake.
6486         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
6487
6488 2011-09-17  Bruno Haible  <bruno@clisp.org>
6489
6490         putenv: Support for MSVC.
6491         * modules/putenv (Depends-on): Add environ.
6492         * lib/putenv.c (environ): Disable declaration.
6493         * lib/unistd.in.h: Update comment.
6494
6495 2011-09-17  Bruno Haible  <bruno@clisp.org>
6496
6497         math: Avoid macro redefinition warnings on MSVC.
6498         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
6499         Undefine before redefining.
6500
6501 2011-09-17  Bruno Haible  <bruno@clisp.org>
6502
6503         doc: Mention functions which are declared as macros.
6504         * doc/posix-functions/*[fl].texi: Mention that some functions are
6505         defined as macros with arguments only.
6506
6507 2011-09-17  Bruno Haible  <bruno@clisp.org>
6508
6509         Add dependencies to new dirent related modules.
6510         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
6511         * modules/fts (Depends-on): Likewise.
6512         * modules/glob (Depends-on): Likewise.
6513         * modules/savedir (Depends-on): Likewise.
6514         * modules/scandir (Depends-on): Likewise.
6515         * modules/dirent-safer (Depends-on): Add opendir, closedir.
6516         * modules/fdopendir (Depends-on): Add opendir.
6517
6518 2011-09-17  Bruno Haible  <bruno@clisp.org>
6519
6520         inet_pton: Support for MSVC on Windows Vista or newer.
6521         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
6522         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
6523         HAVE_DECL_INET_PTON is defined.
6524         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6525         On platforms with <winsock2.h>, test whether inet_pton is declared in
6526         <ws2tcpip.h>. If so, arrange to replace it.
6527         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6528         REPLACE_INET_PTON.
6529         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
6530         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
6531         (Depends-on, configure.ac): Update condition.
6532         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
6533
6534 2011-09-17  Bruno Haible  <bruno@clisp.org>
6535
6536         inet_ntop: Support for MSVC on Windows Vista or newer.
6537         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
6538         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
6539         HAVE_DECL_INET_NTOP is defined.
6540         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6541         On platforms with <winsock2.h>, test whether inet_ntop is declared in
6542         <ws2tcpip.h>. If so, arrange to replace it.
6543         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6544         REPLACE_INET_NTOP.
6545         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
6546         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
6547         (Depends-on, configure.ac): Update condition.
6548         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
6549
6550 2011-09-16  Eric Blake  <eblake@redhat.com>
6551
6552         test-fsync: yet another enhancement
6553         * tests/test-fsync.c (main): Also test behavior on read-only text
6554         file.
6555
6556 2011-09-16  Bruno Haible  <bruno@clisp.org>
6557
6558         Enhance fsync, fdatasync tests.
6559         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
6560         * tests/test-fdatasync.c (main): Likewise.
6561
6562 2011-09-16  Bruno Haible  <bruno@clisp.org>
6563
6564         Support for MSVC compiler: Ensure mode_t gets defined.
6565         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
6566         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6567         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6568         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
6569         * tests/test-fcntl-h.c: Check that mode_t is defined.
6570         * tests/test-sys_stat.c: Likewise.
6571         * tests/test-sys_types.c: Likewise.
6572         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
6573         * doc/posix-headers/sys_stat.texi: Likewise.
6574         * doc/posix-headers/sys_types.texi: Likewise.
6575
6576 2011-09-16  Bruno Haible  <bruno@clisp.org>
6577
6578         sys_stat: Support for MSVC.
6579         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
6580         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
6581         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
6582         MSVC.
6583
6584 2011-09-16  Bruno Haible  <bruno@clisp.org>
6585
6586         Support for MSVC compiler: Ensure off_t gets defined.
6587         * lib/unistd.in.h: Include <sys/types.h>.
6588         * tests/test-fcntl-h.c: Check that off_t is defined.
6589         * tests/test-sys_stat.c: Likewise.
6590         * tests/test-sys_types.c: Likewise.
6591
6592 2011-09-16  Eric Blake  <eblake@redhat.com>
6593
6594         fdatasync: port to Solaris
6595         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
6596         * modules/fdatasync (Link): Document it.
6597         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
6598
6599         fdatasync: port to MacOS X 10.7
6600         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
6601         declared.
6602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
6603         * modules/unistd (Makefile.am): Substitute it.
6604         * lib/unistd.in.h (fdatasync): Declare on MacOS.
6605         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
6606
6607         fdatasync: minor improvements
6608         * modules/fdatasync (Depends-on): Add condition for fsync.
6609         * lib/fdatasync.c (fdatasync): Add comment.
6610         * tests/test-unistd-c++.cc: Test fdatasync.
6611
6612         unistd: update refs to newer POSIX
6613         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
6614         Suggested by Bruno Haible.
6615
6616         fdatasync: new module
6617         * modules/fsync (Description): Document difference to fdatasync.
6618         * modules/fdatasync: New module.
6619         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
6620         * lib/fdatasync.c (fdatasync): Likewise.
6621         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
6622         defaults.
6623         * modules/unistd (Makefile.am): Set witnesses.
6624         * lib/unistd.in.h (fdatasync): Declare.
6625         * MODULES.html.sh: Document it.
6626         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
6627         * modules/fdatasync-tests: New test.
6628         * tests/test-fdatasync.c: Likewise.
6629
6630 2011-09-16  Eric Blake  <eblake@redhat.com>
6631
6632         test-fsync: enhance tests
6633         * modules/fsync-tests (Depends-on): Add errno, for mingw.
6634         * tests/test-fsync.c (main): Enhance test.
6635
6636 2011-09-15  Bruno Haible  <bruno@clisp.org>
6637
6638         Support for MSVC compiler: Ensure ssize_t gets defined.
6639         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
6640         * doc/posix-headers/stdio.texi: Likewise.
6641         * modules/stdio (Depends-on): Add ssize_t.
6642         * modules/sys_socket (Depends-on): Likewise.
6643         * modules/sys_types (Depends-on): Likewise.
6644         * modules/sys_uio (Depends-on): Likewise.
6645         * modules/unistd (Depends-on): Likewise.
6646         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
6647         * tests/test-sys_types.c: Check that ssize_t is defined.
6648
6649 2011-09-14  Bruno Haible  <bruno@clisp.org>
6650
6651         Avoid using #, the m4 comment starter character, near brackets.
6652         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
6653         delimiter character in sed expressions.
6654         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6655         Suggested by Eric Blake.
6656
6657         Properly quote AC_CHECK_DECLS' 4th argument.
6658         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
6659         argument.
6660         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6661         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6662         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6663         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6664         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6665         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
6666         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
6667         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
6668         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
6669         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6670         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
6671         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6672         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6673         * m4/isinf.m4 (gl_ISINF): Likewise.
6674         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6675         * m4/readutmp.m4 (gl_READUTMP): Likewise.
6676         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6677         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6678         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6679         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6680         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6681         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6682         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
6683         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6684         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6685         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6686         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
6687         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6688         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6689         Reported by Eric Blake.
6690
6691         Properly quote AC_CHECK_DECL's 4th argument.
6692         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
6693         argument.
6694         * m4/argp.m4 (gl_ARGP): Likewise.
6695         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6696         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6697         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6698         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6699         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
6700         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
6701         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6702         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6703         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6704         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6705         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6706         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6707         Reported by Eric Blake.
6708
6709 2011-09-14  Eric Blake  <eblake@redhat.com>
6710
6711         opendir: avoid compile warning
6712         * lib/opendir.c (includes): Always include errno.h.
6713         Reported by Tatsuro MATSUOKA.
6714
6715 2011-09-14  Jim Meyering  <meyering@redhat.com>
6716
6717         maint.mk: sc_tight_scope: propagate failure from sub-make
6718         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
6719         Reported by Martin von Gagern.
6720
6721 2011-09-13  Bruno Haible  <bruno@clisp.org>
6722
6723         tempname: Support for MSVC.
6724         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
6725         MSVC.
6726         * modules/tempname (Depends-on): Add fcntl-h.
6727
6728 2011-09-13  Bruno Haible  <bruno@clisp.org>
6729
6730         sys_time: Support for MSVC.
6731         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
6732         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
6733         include <winsock2.h>.
6734         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
6735         function declarations that collide with POSIX.
6736         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
6737         (Makefile.am): Substitute HAVE_WINSOCK2_H.
6738
6739 2011-09-13  Bruno Haible  <bruno@clisp.org>
6740
6741         stat: Support for MSVC.
6742         * lib/stat.c: Include pathmax.h.
6743         * modules/stat (Depends-on): Add pathmax.
6744
6745         pathmax: Support for native Windows.
6746         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
6747
6748 2011-09-12  Bruno Haible  <bruno@clisp.org>
6749
6750         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
6751         * lib/dirent.in.h (struct dirent): New type.
6752         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
6753         DT_WHT): New macros.
6754         (DIR): New type.
6755         (opendir, closedir): Declare only if the module 'opendir' is enabled.
6756         (readdir, rewinddir): New declarations.
6757         * lib/dirent-private.h: New file.
6758         * lib/opendir.c: New file.
6759         * lib/readdir.c: New file.
6760         * lib/rewinddir.c: New file.
6761         * lib/closedir.c: New file.
6762         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
6763         * m4/opendir.m4: New file.
6764         * m4/readdir.m4: New file.
6765         * m4/rewinddir.m4: New file.
6766         * m4/closedir.m4: New file.
6767         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
6768         REPLACE_CLOSEDIR here.
6769         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
6770         readdir, rewinddir are declared.
6771         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
6772         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
6773         HAVE_REWINDDIR, HAVE_CLOSEDIR.
6774         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
6775         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
6776         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
6777         * modules/opendir: New file.
6778         * modules/readdir: New file.
6779         * modules/rewinddir: New file.
6780         * modules/closedir: New file.
6781         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
6782         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
6783         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
6784         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
6785         * NEWS: Mention the 'fchdir' change.
6786
6787 2011-09-11  Bruno Haible  <bruno@clisp.org>
6788
6789         asm-underscore.m4: Support for MSVC.
6790         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
6791         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
6792
6793 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
6794
6795         Doc about crypt functions.
6796         * doc/posix-functions/crypt.texi: Expand range of glibc versions
6797         needing for _GNU_SOURCE to get crypt.
6798         * doc/posix-functions/encrypt.texi: Likewise.
6799         * doc/posix-functions/setkey.texi: Likewise.
6800
6801 2011-09-11  Bruno Haible  <bruno@clisp.org>
6802
6803         doc: Update regarding MSVC 9.
6804         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
6805         tested".
6806         * doc/posix-functions/*.texi: Update with info about MSVC 9.
6807         * doc/posix-headers/*.texi: Likewise.
6808         * doc/pastposix-functions/*.texi: Likewise.
6809         * doc/glibc-functions/*.texi: Likewise.
6810         * doc/glibc-headers/*.texi: Likewise.
6811
6812 2011-09-11  Bruno Haible  <bruno@clisp.org>
6813
6814         unistd et al.: Don't assume <unistd.h> exists.
6815         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
6816         does not exist.
6817         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
6818         exist. But include <stdlib.h>.
6819         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
6820         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
6821         symlink() does not exist.
6822         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
6823         include <io.h> instead.
6824         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
6825         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
6826         include <direct.h> instead.
6827         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6828         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6829         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
6830         <io.h> instead.
6831         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
6832         correctly if the system does not have hard links.
6833         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
6834         <direct.h> instead.
6835         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
6836         it when looking for function declarations.
6837         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
6838         <direct.h> and <io.h> instead.
6839         * doc/posix-headers/unistd.texi: More details about MSVC problem.
6840
6841 2011-09-11  Bruno Haible  <bruno@clisp.org>
6842
6843         strcase: Support for MSVC.
6844         * modules/strcase (Status, Notice): Remove obsoletion mark.
6845         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
6846         * doc/posix-functions/strncasecmp.texi: Likewise.
6847
6848         strings: Don't assume <strings.h> exists.
6849         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
6850         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
6851         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
6852         * doc/posix-headers/strings.texi: Mention the MSVC problem.
6853
6854 2011-09-11  Bruno Haible  <bruno@clisp.org>
6855
6856         dirent: Don't assume <dirent.h> exists.
6857         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
6858         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
6859         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
6860         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
6861
6862 2011-09-11  Bruno Haible  <bruno@clisp.org>
6863
6864         Fix wint_t on MSVC.
6865         * lib/wchar.in.h (wint_t): On MSVC, override it.
6866         * lib/wctype.in.h (wint_t): Likewise.
6867         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
6868         MSVC.
6869         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
6870         * doc/posix-headers/wctype.texi: Likewise.
6871
6872 2011-09-11  Bruno Haible  <bruno@clisp.org>
6873
6874         sys_types: Fix typo.
6875         * lib/sys_types.in.h: Fix typo in comment.
6876         Reported by Paul Eggert.
6877
6878         Support for MSVC compiler: Ensure size_t gets defined.
6879         * modules/strings (Depends-on): Add 'sys_types'.
6880         * modules/sys_uio (Depends-on): Likewise.
6881         * lib/sys_uio.in.h: Update comment.
6882
6883         C++ tests for module 'sys_types'.
6884         * modules/sys_types-c++-tests: New file.
6885         * tests/test-sys_types-c++.cc: New file.
6886
6887         Tests for module 'sys_types'.
6888         * modules/sys_types-tests: New file.
6889         * tests/test-sys_types.c: New file.
6890
6891         New module 'sys_types'.
6892         * lib/sys_types.in.h: New file.
6893         * m4/sys_types_h.m4: New file.
6894         * modules/sys_types: New file.
6895         * doc/posix-headers/sys_types.texi: Mention the new module and the
6896         size_t problem on MSVC 9.
6897
6898 2011-09-11  Bruno Haible  <bruno@clisp.org>
6899
6900         Support for MSVC compiler: Avoid division by a literal 0.
6901         * lib/math.in.h (NAN): Define through a function call also on MSVC.
6902         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
6903         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
6904         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
6905         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
6906         * tests/infinity.h: New file.
6907         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
6908         on MSVC.
6909         * tests/test-ceilf1.c: Include infinity.h.
6910         (main): Use Infinityf.
6911         * tests/test-ceil1.c: Include infinity.h.
6912         (main): Use Infinityd.
6913         * tests/test-ceill.c: Include infinity.h.
6914         (main): Use Infinityl.
6915         * tests/test-dprintf-posix.c: Include infinity.h.
6916         (test_function): Use Infinityd.
6917         * tests/test-floorf1.c: Include infinity.h.
6918         (main): Use Infinityf.
6919         * tests/test-floor1.c: Include infinity.h.
6920         (main): Use Infinityd.
6921         * tests/test-floorl.c: Include infinity.h.
6922         (main): Use Infinityl.
6923         * tests/test-fprintf-posix.c: Include infinity.h.
6924         (test_function): Use Infinityd.
6925         * tests/test-frexp.c: Include infinity.h.
6926         (main): Use Infinityd.
6927         * tests/test-frexpl.c: Include infinity.h.
6928         (main): Use Infinityl.
6929         * tests/test-isfinite.c: Include infinity.h.
6930         (test_isfinitef): Use Infinityf.
6931         (test_isfinited): Use Infinityd.
6932         (test_isfinitel): Use Infinityl.
6933         * tests/test-isinf.c: Include infinity.h.
6934         (test_isinff): Use Infinityf.
6935         (test_isinfd): Use Infinityd.
6936         (test_isinfl): Use Infinityl.
6937         * tests/test-isnan.c: Include infinity.h.
6938         (test_float): Use Infinityf.
6939         (test_double): Use Infinityd.
6940         (test_long_double): Use Infinityl.
6941         * tests/test-isnanf.h: Include infinity.h.
6942         (main): Use Infinityf.
6943         * tests/test-isnand.h: Include infinity.h.
6944         (main): Use Infinityd.
6945         * tests/test-isnanl.h: Include infinity.h.
6946         (main): Use Infinityl.
6947         * tests/test-ldexpl.c: Include infinity.h.
6948         (main): Use Infinityl.
6949         * tests/test-printf-posix.h: Include infinity.h.
6950         (test_function): Use Infinityd.
6951         * tests/test-roundf1.c: Include infinity.h.
6952         (main): Use Infinityf.
6953         * tests/test-round1.c: Include infinity.h.
6954         (main): Use Infinityd.
6955         * tests/test-roundl.c: Include infinity.h.
6956         (main): Use Infinityl.
6957         * tests/test-signbit.c: Include infinity.h.
6958         (test_signbitf): Use Infinityf.
6959         (test_signbitd): Use Infinityd.
6960         (test_signbitl): Use Infinityl.
6961         * tests/test-snprintf-posix.h: Include infinity.h.
6962         (test_function): Use Infinityd, Infinityl.
6963         * tests/test-sprintf-posix.h: Include infinity.h.
6964         (test_function): Use Infinityd, Infinityl.
6965         * tests/test-truncf1.c: Include infinity.h.
6966         (main): Use Infinityf.
6967         * tests/test-trunc1.c: Include infinity.h.
6968         (main): Use Infinityd.
6969         * tests/test-truncl.c: Include infinity.h.
6970         (main): Use Infinityl.
6971         * tests/test-vasnprintf-posix.c: Include infinity.h.
6972         (test_function): Use Infinityd, Infinityl.
6973         * tests/test-vasprintf-posix.c: Include infinity.h.
6974         (test_function): Use Infinityd, Infinityl.
6975         * modules/ceilf-tests (Files): Add tests/infinity.h.
6976         * modules/ceil-tests (Files): Likewise.
6977         * modules/ceill-tests (Files): Likewise.
6978         * modules/dprintf-posix-tests (Files): Likewise.
6979         * modules/floorf-tests (Files): Likewise.
6980         * modules/floor-tests (Files): Likewise.
6981         * modules/floorl-tests (Files): Likewise.
6982         * modules/fprintf-posix-tests (Files): Likewise.
6983         * modules/frexp-tests (Files): Likewise.
6984         * modules/frexp-nolibm-tests (Files): Likewise.
6985         * modules/frexpl-tests (Files): Likewise.
6986         * modules/frexpl-nolibm-tests (Files): Likewise.
6987         * modules/isfinite-tests (Files): Likewise.
6988         * modules/isinf-tests (Files): Likewise.
6989         * modules/isnan-tests (Files): Likewise.
6990         * modules/isnanf-tests (Files): Likewise.
6991         * modules/isnanf-nolibm-tests (Files): Likewise.
6992         * modules/isnand-tests (Files): Likewise.
6993         * modules/isnand-nolibm-tests (Files): Likewise.
6994         * modules/isnanl-tests (Files): Likewise.
6995         * modules/isnanl-nolibm-tests (Files): Likewise.
6996         * modules/ldexpl-tests (Files): Likewise.
6997         * modules/printf-posix-tests (Files): Likewise.
6998         * modules/roundf-tests (Files): Likewise.
6999         * modules/round-tests (Files): Likewise.
7000         * modules/roundl-tests (Files): Likewise.
7001         * modules/signbit-tests (Files): Likewise.
7002         * modules/snprintf-posix-tests (Files): Likewise.
7003         * modules/sprintf-posix-tests (Files): Likewise.
7004         * modules/truncf-tests (Files): Likewise.
7005         * modules/trunc-tests (Files): Likewise.
7006         * modules/truncl-tests (Files): Likewise.
7007         * modules/vasnprintf-posix-tests (Files): Likewise.
7008         * modules/vasprintf-posix-tests (Files): Likewise.
7009         * modules/vdprintf-posix-tests (Files): Likewise.
7010         * modules/vfprintf-posix-tests (Files): Likewise.
7011         * modules/vprintf-posix-tests (Files): Likewise.
7012         * modules/vsnprintf-posix-tests (Files): Likewise.
7013         * modules/vsprintf-posix-tests (Files): Likewise.
7014         * modules/xprintf-posix-tests (Files): Likewise.
7015
7016 2011-09-11  Bruno Haible  <bruno@clisp.org>
7017
7018         Ensure pid_t gets defined.
7019         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
7020         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7021         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7022         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7023         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7024         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7025         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
7026         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7027         * tests/test-fcntl-h.c: Check that pid_t is defined.
7028         * tests/test-sched.c: Likewise.
7029         * tests/test-termios.c: Likewise.
7030         * tests/test-time.c: Likewise.
7031         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
7032         * doc/posix-headers/signal.texi: Likewise.
7033         * doc/posix-headers/sys_types.texi: Likewise.
7034         * doc/posix-headers/time.texi: Likewise.
7035
7036 2011-09-11  Bruno Haible  <bruno@clisp.org>
7037
7038         acl: Fix compilation on Solaris 10 (older version).
7039         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
7040         of ACE_EVERYONE.
7041         * lib/set-mode-acl.c (qset_acl): Likewise.
7042         Reported by Christian Jullien <eligis@orange.fr>.
7043
7044 2011-09-10  Bruno Haible  <bruno@clisp.org>
7045
7046         iconv, unsetenv: Add support for MSVC compiler.
7047         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
7048         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
7049
7050 2011-09-10  Bruno Haible  <bruno@clisp.org>
7051
7052         *printf: Add support for MSVC compiler.
7053         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
7054         handles the exception caused by the %n directive. When cross-compiling,
7055         guess no on native Windows.
7056         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
7057         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
7058         emulate it through vsnprintf.
7059         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
7060         * doc/posix-functions/dprintf.texi: Update documentation regarding
7061         MSVC 9.
7062         * doc/posix-functions/fprintf.texi: Likewise.
7063         * doc/posix-functions/printf.texi: Likewise.
7064         * doc/posix-functions/snprintf.texi: Likewise.
7065         * doc/posix-functions/sprintf.texi: Likewise.
7066         * doc/posix-functions/swprintf.texi: Likewise.
7067         * doc/posix-functions/vdprintf.texi: Likewise.
7068         * doc/posix-functions/vfprintf.texi: Likewise.
7069         * doc/posix-functions/vprintf.texi: Likewise.
7070         * doc/posix-functions/vsnprintf.texi: Likewise.
7071         * doc/posix-functions/vsprintf.texi: Likewise.
7072         * doc/glibc-functions/asprintf.texi: Likewise.
7073         * doc/glibc-functions/obstack_printf.texi: Likewise.
7074         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7075         * doc/glibc-functions/vasprintf.texi: Likewise.
7076
7077 2011-09-10  Bruno Haible  <bruno@clisp.org>
7078
7079         nocrash: Add support for native Windows.
7080         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
7081
7082 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
7083             Bruno Haible  <bruno@clisp.org>
7084
7085         absolute-header, include-next: Add support for MSVC compiler.
7086         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
7087         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
7088         directory separator in #line directives.
7089         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
7090         recognize also backslash as directory separator in #line directives.
7091
7092 2011-09-08  Jim Meyering  <meyering@redhat.com>
7093
7094         maint.mk: mark the post-release commit log with "maint: " prefix
7095         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
7096         one-line commit-log summary.
7097
7098 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
7099             Bruno Haible  <bruno@clisp.org>
7100
7101         Doc about crypt functions.
7102         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
7103         systems.
7104         * doc/posix-functions/encrypt.texi: Likewise.
7105         * doc/posix-functions/setkey.texi: Likewise.
7106
7107 2011-09-08  Simon Josefsson  <simon@josefsson.org>
7108
7109         * lib/gc.h: Fix copyright header.
7110
7111 2011-09-07  Bruno Haible  <bruno@clisp.org>
7112
7113         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
7114         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
7115         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
7116
7117 2011-09-07  Bruno Haible  <bruno@clisp.org>
7118
7119         openat: Work around compilation error with OSF/1 5.1 DTK cc.
7120         * lib/fopen.c: Use different syntax for include of <stdio.h>.
7121         * lib/freopen.c: Likewise.
7122         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
7123         * lib/lstat.c: Likewise.
7124         * lib/stat.c: Likewise.
7125         * lib/open.c: Use different syntax for include of <fcntl.h>.
7126         * lib/openat.c: Include fcntl.h again, explicitly.
7127
7128 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
7129
7130         parse-datetime: document the newly accepted format
7131         * doc/parse-datetime.texi (Combined date and time of day items):
7132         New section.
7133
7134 2011-09-06  Bruno Haible  <bruno@clisp.org>
7135
7136         acl: Fix a test failure on newer Solaris 10 with ZFS.
7137         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
7138         ENOSYS as no ACL.
7139         Reported by Jim Meyering.
7140
7141 2011-09-06  Bruno Haible  <bruno@clisp.org>
7142
7143         acl: Update for AIX >= 5.3 with NFS.
7144         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
7145         ENOSYS as no ACL.
7146
7147         acl: Fix a test failure on AIX >= 5.3 with NFS.
7148         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
7149         as no ACL.
7150
7151 2011-09-06  Bruno Haible  <bruno@clisp.org>
7152
7153         acl: Fix a test failure on IRIX 6.5 with NFS.
7154         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
7155         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
7156         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
7157         * lib/copy-acl.c (qcopy_acl): Likewise.
7158
7159 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7160
7161         openat: port to AIX 7.1 with large files
7162         AIX 7.1 does a "#define openat open64at" if large files are in use,
7163         so we can't simply #undef openat.  Use the orig_openat trick (similar
7164         to orig_open in lib/open.c) to work around the problem.  Problem
7165         reported by Kevin Brott for GNU tar, in the thread containing
7166         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
7167         * lib/openat.c (__need_system_fcntl_h): Define first.
7168         Include <fcntl.h> and <sys/types.h> before undefining.
7169         (orig_openat) [HAVE_OPENAT]: New inline function.
7170         (openat) [HAVE_OPENAT]: Do not undef.
7171         (rpl_openat): Use orig_openat, not openat.
7172
7173 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7174             Bruno Haible  <bruno@clisp.org>
7175
7176         acl: Avoid errors on NonStop Kernel.
7177         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
7178         ENOTSUP errors.
7179
7180 2011-09-05  Bruno Haible  <bruno@clisp.org>
7181
7182         acl: Clean up Solaris code.
7183         * lib/acl-internal.h: Remove no-op #if.
7184         * lib/file-has-acl.c: Likewise.
7185         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
7186         * lib/copy-acl.c (qcopy_acl): Likewise.
7187
7188 2011-09-05  Bruno Haible  <bruno@clisp.org>
7189
7190         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
7191         binaries built on the original Solaris 10.
7192         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
7193         trivial.
7194
7195 2011-09-05  Bruno Haible  <bruno@clisp.org>
7196
7197         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7198         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
7199         10.
7200         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
7201         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
7202         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
7203         instead of acl_get, facl_get, acl_set, facl_set.
7204
7205 2011-09-05  Bruno Haible  <bruno@clisp.org>
7206
7207         copy-file: Try unit tests on more file systems.
7208         * tests/test-copy-file-1.sh: New file.
7209         * tests/test-copy-file-2.sh: New file.
7210         * modules/copy-file-tests (Files): Add them.
7211         (Makefile.am): Add them to TESTS.
7212
7213         acl: Try unit tests on more file systems.
7214         * tests/test-file-has-acl-1.sh: New file.
7215         * tests/test-file-has-acl-2.sh: New file.
7216         * tests/test-set-mode-acl-1.sh: New file.
7217         * tests/test-set-mode-acl-2.sh: New file.
7218         * tests/test-copy-acl-1.sh: New file.
7219         * tests/test-copy-acl-2.sh: New file.
7220         * modules/acl-tests (Files): Add them.
7221         (Makefile.am): Add them to TESTS.
7222
7223 2011-09-04  Bruno Haible  <bruno@clisp.org>
7224
7225         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7226         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
7227         10.
7228         (OLD_ALLOW, OLD_DENY): New macros.
7229         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
7230         ACE_ACCESS_ALLOWED_ACE_TYPE.
7231         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
7232         ACE_ACCESS_DENIED_ACE_TYPE.
7233         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
7234         (NEW_ACE_EXECUTE): Fix value.
7235         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
7236         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
7237         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
7238         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
7239         NEW_ACE_SYNCHRONIZE): New macros.
7240         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
7241         instead of acl_fromtext, acl_set, facl_set.
7242         Fixes a coreutils/tests/cp/perm failure.
7243
7244 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
7245
7246         openat: test for fstatat (..., 0) bug
7247         Further testing with tar suggests that fstatat (..., 0)
7248         does not work in general, on AIX 7.1; see
7249         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
7250         So, give up entirely on AIX 7.1's fstatat, and fall back on our
7251         replacement fstatat (which is what older AIX releases were using
7252         anyway).
7253         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
7254         use is now changed to orig_fstatat.  This was probably the right
7255         thing to do anyway.
7256         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
7257         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
7258         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
7259         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
7260         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
7261         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
7262         if the bug is found.
7263
7264         openat: test for fstatat (AT_FDCWD, ..., 0) bug
7265         This tests for another fstatat bug on AIX 7.1:
7266         fstatat (AT_FDCWD, ..., 0) does not work.  See
7267         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
7268         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
7269         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
7270         (rpl_fstatat): Adjust so that it works around either (or both)
7271         bugs if present.
7272         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
7273
7274 2011-09-03  Karl Berry  <karl@gnu.org>
7275
7276         * doc/regex.texi (Character Class Operators): Avoid literal ":"
7277         in index entries.
7278
7279 2011-09-02  Bruno Haible  <bruno@clisp.org>
7280
7281         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
7282         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
7283         values of AR, ARFLAGS, RANLIB.
7284         Reported by John W. Eaton <jwe@gnu.org> for Octave.
7285
7286 2011-09-02  Bruno Haible  <bruno@clisp.org>
7287
7288         Find 'ar' program that fits with --host argument.
7289         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
7290
7291 2011-09-02  Bruno Haible  <bruno@clisp.org>
7292
7293         tests: init.sh: Support any non-GNU diff.
7294         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
7295         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
7296         Solaris 8.
7297
7298 2011-09-02  Bruno Haible  <bruno@clisp.org>
7299
7300         tests: init.sh: work also with any non-GNU diff that supports -u
7301         * tests/init.sh: Relax check for diff -u support.
7302         Rather than checking for GNU diff via --version, simply check
7303         for support for -u itself.  Useful at least on OpenBSD 4.9,
7304         AIX 7.1, IRIX 6.5, and Solaris 10.
7305
7306 2011-09-01  Bruno Haible  <bruno@clisp.org>
7307
7308         strtoimax, strtoumax: Document problem on HP-UX 11.
7309         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
7310         * doc/posix-functions/strtoumax.texi: Likewise.
7311
7312 2011-09-01  Bruno Haible  <bruno@clisp.org>
7313
7314         strtoumax: Avoid link error on OSF/1 with DTK cc.
7315         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
7316         defined as a function.
7317         * modules/strtoumax (Depends-on, configure.ac): Test only whether
7318         strtoumax is defined, not whether it is declared.
7319
7320 2011-09-01  Bruno Haible  <bruno@clisp.org>
7321
7322         strtoimax: Avoid link error on OSF/1 with DTK cc.
7323         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
7324         defined as a function.
7325         * modules/strtoimax (Depends-on, configure.ac): Test only whether
7326         strtoimax is defined, not whether it is declared.
7327
7328 2011-09-01  Bruno Haible  <bruno@clisp.org>
7329
7330         imaxdiv: Avoid link error on OSF/1 with DTK cc.
7331         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
7332         as a function.
7333         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
7334         whether it is declared.
7335
7336 2011-09-01  Bruno Haible  <bruno@clisp.org>
7337
7338         imaxabs: Avoid link error on OSF/1 with DTK cc.
7339         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
7340         as a function.
7341         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
7342         whether it is declared.
7343
7344 2011-09-01  Bruno Haible  <bruno@clisp.org>
7345
7346         Tests for module 'strtoumax'.
7347         * modules/strtoumax-tests: New file.
7348         * tests/test-strtoumax.c: New file.
7349
7350         Tests for module 'strtoimax'.
7351         * modules/strtoimax-tests: New file.
7352         * tests/test-strtoimax.c: New file.
7353
7354         Tests for module 'imaxdiv'.
7355         * modules/imaxdiv-tests: New file.
7356         * tests/test-imaxdiv.c: New file.
7357
7358         Tests for module 'imaxabs'.
7359         * modules/imaxabs-tests: New file.
7360         * tests/test-imaxabs.c: New file.
7361
7362 2011-09-01  Bruno Haible  <bruno@clisp.org>
7363
7364         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
7365         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
7366         pthread_create.
7367
7368 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7369
7370         openat: work around AIX 7.1 fstatat issue
7371         This should fix the problem that was not properly fixed
7372         in the previous change, dated 2011-08-30.
7373         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
7374         __need_system_stat_h defined.
7375         (orig_fstatat) [HAVE_FSTATAT]: New function.
7376         (rpl_fstatat): Go back to the old way of doing things,
7377         except call orig_fstatat instead of fstatat.
7378         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
7379         Remove unnecessary check whether fstatat fills in st_size etc.
7380
7381 2011-09-01  Bruno Haible  <bruno@clisp.org>
7382
7383         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
7384         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
7385         just include the system's header.
7386
7387 2011-08-31  Jim Meyering  <meyering@redhat.com>
7388
7389         tests: avoid spurious assertion failure in test-float.c on ppc64
7390         * tests/test-float.c (test_long_double): Comment out an assertion,
7391         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
7392         with gcc-4.4.4.
7393
7394         maint: indent with spaces, not TABs
7395         I need to get in the habit of running gnulib's "make check".
7396         Both of these would have been caught.
7397         * m4/largefile.m4: Indent with spaces, not TABs.
7398         * lib/parse-datetime.y (iso_8601_time): Likewise.
7399         Spotted by Pádraig Brady.
7400
7401         test-parse-datetime.c: accommodate a relatively strict gcc warning
7402         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
7403         to avoid a warning from gcc's -Werror=missing-declarations.
7404         Insert a few spaces-before-funcall-parenthesis.
7405
7406 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
7407
7408         parse-datetime: accept ISO 8601 date and time rep with "T" separator
7409         The parser now accepts ISO 8601 date-time strings with "T" as the
7410         separator.  It has long parsed dates like "2004-02-29 16:21:42"
7411         with a space between the date and time strings.  Now it also parses
7412         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
7413         variants like "2004-02-29T16:21:42.333-07:00"
7414         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
7415         of day representation using the 'T' separator character.
7416         * doc/parse-datetime.texi (General date syntax): replace use of
7417         deprecated --iso-8601 option with --rfc-3339 in example of date
7418         command output formats that can be parsed.
7419         * tests/test-parse-datetime.c (tm_diff): New function, taken from
7420         lib/parse-datetime.y.
7421         (gmt_offset): New function.
7422         (main): Add additional test cases to validate ISO8601 extended
7423         date and time of day parsing.
7424
7425 2011-08-31  Bruno Haible  <bruno@clisp.org>
7426
7427         freopen: Documentation.
7428         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
7429         name.
7430         Reported by Claudio Bley <claudio.bley@gmail.com>.
7431
7432 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
7433
7434         freopen: Don't crash if the filename argument is NULL.
7435         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
7436         NULL.
7437
7438 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
7439
7440         openat: work around AIX 7.1 fstatat bug
7441         Problem reported by Kevin Brott for GNU tar, in the thread containing
7442         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
7443         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
7444         FSTATAT_ST_SIZE_ETC_BROKEN.
7445         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
7446         rpl_fstatat.
7447         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
7448         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
7449         AC_CHECK_FUNCS_ONCE for fstatat.
7450         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
7451         fchmodat, mkdirat, openat and unlinkat.
7452
7453 2011-08-30  Bruno Haible  <bruno@clisp.org>
7454
7455         Avoid endless recursions if config.h includes some header files.
7456         * lib/fopen.c (__need_FILE): Define already before including config.h.
7457         * lib/freopen.c (__need_FILE): Likewise.
7458         * lib/open.c (__need_system_fcntl_h): Likewise.
7459         * lib/stat.c (__need_system_sys_stat_h): Likewise.
7460         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
7461         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7462
7463 2011-08-25  Karl Berry  <karl@gnu.org>
7464
7465         * config/srclist.txt (ylwrap): new try.
7466         * build-aux/ylwrap: new file.
7467
7468 2011-08-23  Bruno Haible  <bruno@clisp.org>
7469
7470         tmpdir: Use a good default directory on native Windows.
7471         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
7472         (P_tmpdir): Default to _P_tmpdir on native Windows.
7473         (path_search): On native Windows, try the value returned by GetTempPath
7474         before trying P_tmpdir.
7475         * modules/tmpdir (Depends-on): Add pathmax.
7476         Suggested by John Darrington <john@darrington.wattle.id.au>.
7477
7478 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
7479
7480         doc: fix typo in README-release
7481         * top/README-release: Capitalize first word of a sentence.
7482
7483 2011-08-19  Jim Meyering  <meyering@redhat.com>
7484
7485         fts: do not exhaust memory when processing million-entry directories
7486         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
7487         directory would require about 256*N bytes of memory.  Thus, it was
7488         easy to construct a directory too large to be processed by any of
7489         those tools.  With this change, fts' maximum memory utilization is
7490         now limited to around 30MB.
7491         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
7492         (fts_read): When we've processed the final entry (i.e., when
7493         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
7494         using the parent entry to read any remaining entries.  Dispatch
7495         depending on what fts_build returns:
7496         - NULL+stop, aka failure: stop
7497         - NULL otherwise: move up in the dir hierarchy
7498         - non-NULL: handle this new entry
7499         (fts_build): Declare and use new local, continue_readdir.
7500         Prepare to be called from fts_read, when the entries
7501         from a partially-read directory have just been exhausted.
7502         In that case, we'll skip the opendir and instead use the parent's
7503         fts_dirp and derive dir_fd from that.
7504         Finally, in the readdir loop, if we read max_entries entries,
7505         exit the loop ensuring *not* to call closedir.  This is required
7506         so that fts_dirp can be reused on a subsequent call.
7507         Prompted by Ben England's report of memory exhaustion in find
7508         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
7509
7510         maint: fts: move decl of `dp' down into while loop; split a long line
7511         * lib/fts.c (fts_build): No semantic change.
7512
7513         fts: add/use new struct member, fts_dirp
7514         We are about to use this to manage any directory with
7515         too many entries to read all of them into memory at once.
7516         To do that, we'll need to save the DIR* pointer in each
7517         affected FTSENT struct.
7518         * lib/fts_.h: Include <dirent.h>.
7519         (struct FTSENT) [fts_dirp]: New member.
7520         * lib/fts.c (closedir_and_clear): Define.
7521         Use it in place of closedir so that we are sure to
7522         clear the new fts_dirp member when done with it.
7523         (fts_alloc): Initialize the new member.
7524         (fts_lfree): Free, if needed.
7525
7526         maint: fts: give __opendir2 a new parameter and rename
7527         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
7528         than surreptitiously using sole caller's "dir_fd".
7529         (fts_opendir): Rename from __opendir2.
7530
7531         maint: fts.c: remove __opendir2's now-unused parameter, oflag
7532         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
7533
7534         maint: fts.c: correct off-by-one indentation
7535         * lib/fts.c (fts_build): Correct indentation, change style
7536         of a couple of block comments, and bracing style.
7537
7538         maint: fts.c: move __opendir2 #define "up" out of function body
7539         * lib/fts.c (__opendir2): Move "up".  No semantic change.
7540
7541         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
7542         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
7543         out for a long time and besides was useful only on BSD systems.
7544
7545 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7546
7547         regex: port to Stratus OpenVOS
7548         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
7549         define to empty, rather than attempting nonportable optimizations.
7550         Problem reported by Paul Green in:
7551         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
7552         and fix suggested by Eric Blake in:
7553         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
7554
7555 2011-08-17  Eric Blake  <eblake@redhat.com>
7556
7557         getcwd: fix test failures on mingw
7558         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
7559         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
7560         test if long directory cannot be created, and allow mingw errno.
7561
7562         getcwd-lgpl: fix m4 to match relaxed test for BSD
7563         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
7564         (gl_FUNC_GETCWD_SIGNATURE): New macro.
7565         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
7566         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
7567         signature problem.
7568
7569         getcwd: fix compilation on mingw64
7570         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
7571         getcwd.
7572         Reported by Marc-André Lureau.
7573
7574         pipe2: silence compiler warning
7575         * lib/pipe2.c (pipe2): Hide label if it is not used.
7576
7577 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
7578
7579         relocatable-prog: fix link error
7580         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
7581         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
7582         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
7583         into modules/relocatable-lib without noticing that
7584         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
7585         also needs to build relocatable.c.
7586
7587 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
7588
7589         getaddrinfo: fix sh typo in gai_strerrorA decl checking
7590         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
7591         shell code: it contained a 'break' that was not in a loop.
7592         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
7593         via a shell-language loop; this may have been true in old Autoconf
7594         versions, but it's not true in Autoconf 2.68.  I found this bug
7595         when testing coreutils git on Solaris 8, whose shell complains
7596         about the syntax error.
7597
7598 2011-08-12  Simon Josefsson  <simon@josefsson.org>
7599
7600         * lib/base64.c: Fix comment to reference RFC 4648.
7601         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
7602         <gvtulder@gmail.com>.
7603
7604 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7605
7606         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
7607
7608         po/Makefile.in.in: fix make -q problem
7609         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
7610         rule, since there's no file named 'check-macro-version' and its
7611         use as a file breaks make -q.
7612         (all): Don't depend on check-macro-version.
7613         (CHECK_MACRO_VERSION): New macro.
7614         (stamp-po): Use it.
7615
7616         configmake: fix make -q problem
7617         * modules/configmake (configmake.h): Update configmake.h's time stamp
7618         even if the file does not change.  Otherwise, 'make -q' fails.
7619         Problem reported by Simon Josefsson in
7620         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
7621
7622 2011-08-11  Jim Meyering  <meyering@redhat.com>
7623
7624         git-version-gen: correct the advice in a comment
7625         * build-aux/git-version-gen: Correct comment.
7626         Don't recommend to list .tarball-version in .gitignore.
7627
7628 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7629
7630         base64: fix off-by-one buffer size bug
7631         Problem and (trivial) fix reported by Gijs van Tulder in
7632         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
7633         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
7634         * tests/test-base64.c (main): Catch the bug.
7635
7636 2011-08-10  Eric Blake  <eblake@redhat.com>
7637
7638         closein: correct comments
7639         * lib/closein.c (close_stdin): Improve comments.
7640
7641 2011-08-09  Bruno Haible  <bruno@clisp.org>
7642
7643         More tests for 'fseeko'.
7644         * tests/test-fseeko3.c: New file, from Eric Blake.
7645         * tests/test-fseeko3.sh: New file.
7646         * modules/fseeko-tests (Files): Add them.
7647         (TESTS): Add test-fseeko3.sh.
7648         (check_PROGRAMS): Add test-fseeko3.
7649
7650 2011-08-09  Eric Blake  <eblake@redhat.com>
7651
7652         fseeko: remove unneeded hack
7653         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
7654
7655         fseeko: fix bug on glibc
7656         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
7657         Reported by John W. Eaton.
7658
7659 2011-08-08  Bruno Haible  <bruno@clisp.org>
7660
7661         unictype/base: Fix interoperability with preinstalled libunistring.
7662         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
7663         Reported by Simon Josefsson.
7664
7665 2011-08-08  Bruno Haible  <bruno@clisp.org>
7666
7667         iswblank: Detect declaration correctly.
7668         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
7669         AC_CHECK_DECLS invocation.
7670
7671 2011-08-08  Bruno Haible  <bruno@clisp.org>
7672
7673         tcgetsid: Detect declaration correctly.
7674         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
7675         AC_CHECK_DECLS invocation.
7676         Reported by Simon Josefsson.
7677
7678 2011-08-08  Eric Blake  <eblake@redhat.com>
7679
7680         largefile: fix typo that regressed large file support
7681         * modules/largefile (configure.ac-early): Fix section name.
7682
7683 2011-08-06  Karl Berry  <karl@gnu.org>
7684
7685         * MODULES.html.sh (func_all_files): _Noreturn is no longer
7686         a separate module.
7687
7688 2011-08-05  Simon Josefsson  <simon@josefsson.org>
7689
7690         openat: Fix warnings and commens when building unlinkat.c on Hurd.
7691         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
7692         get prototype for free.
7693
7694 2011-08-04  Bruno Haible  <bruno@clisp.org>
7695
7696         Tests for module 'pathmax'.
7697         * modules/pathmax-tests: New file.
7698         * tests/test-pathmax.c: New file.
7699
7700         canonicalize-lgpl: Support larger filenames on the Hurd.
7701         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
7702         Reported by Paul Eggert.
7703
7704         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
7705         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
7706         * lib/chdir-long.h: Include pathmax.h.
7707         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
7708         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
7709         (PATH_MAX): Remove code that is done by pathmax.h.
7710         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
7711         * lib/tmpfile.c: Add a comment.
7712         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
7713         * modules/chdir-long (Depends-on): Add pathmax.
7714         * modules/getcwd (Depends-on): Add pathmax.
7715         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
7716         is not defined.
7717         * doc/posix-headers/limits.texi: Mention the pathmax module.
7718         * NEWS: Mention the change.
7719
7720 2011-08-02  Bruno Haible  <bruno@clisp.org>
7721
7722         pthread_sigmask: Actually use results of gl_THREADLIB.
7723         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
7724         gl_THREADLIB, not gl_[]THREADLIB.
7725         Reported by Eric Blake.
7726
7727 2011-08-02  Jim Meyering  <meyering@redhat.com>
7728
7729         maint.mk: relax the default _gl_TS_function_match regexp
7730         * top/maint.mk (_gl_TS_function_match): Don't require at least one
7731         space between function name and "(" in an "extern" declaration.
7732         That would fail to match a decl with no space there: extern void foo();
7733
7734 2011-07-31  Iain Nicol  <iain@thenicols.net>
7735
7736         git-version-gen: document that EXTRA_DIST must include .version
7737         * build-aux/git-version-gen: In the how-to-use comment, document
7738         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
7739         will fail when run from an unpacked distribution tarball.
7740
7741 2011-08-01  Bruno Haible  <bruno@clisp.org>
7742
7743         wctype-h: Fix last change.
7744         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
7745         REPLACE_TOWLOWER to 0.
7746         Reported by Sam Steingold <sds@gnu.org>.
7747
7748 2011-07-31  Bruno Haible  <bruno@clisp.org>
7749
7750         frexpl: Update autoconf test.
7751         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
7752         according to changes of 2011-06-20.
7753
7754 2011-07-31  Bruno Haible  <bruno@clisp.org>
7755
7756         sys_utsname: Add support for Minix.
7757         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
7758         <sys/utsname.h>.
7759         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7760         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
7761
7762 2011-07-31  Bruno Haible  <bruno@clisp.org>
7763
7764         strings: Add support for Minix.
7765         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
7766         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7767         * doc/posix-headers/strings.texi: Document the Minix problem.
7768
7769 2011-07-31  Bruno Haible  <bruno@clisp.org>
7770
7771         wctype-h: Add support for Minix.
7772         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
7773         REPLACE_TOWLOWER.
7774         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
7775         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
7776         REPLACE_ISWCNTRL.
7777
7778 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7779
7780         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
7781         This is a performance improvement for 64-bit hosts: it causes the
7782         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
7783
7784 2011-07-31  Bruno Haible  <bruno@clisp.org>
7785
7786         stdioext: Add support for Minix.
7787         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
7788         * lib/fpurge.c (fpurge): Likewise.
7789         * lib/freadahead.c (freadahead): Likewise.
7790         * lib/freadable.c (freadable): Likewise.
7791         * lib/freading.c (freading): Likewise.
7792         * lib/freadptr.c (freadptr): Likewise.
7793         * lib/freadseek.c (freadptrinc): Likewise.
7794         * lib/fseeko.c (rpl_fseeko): Likewise.
7795         * lib/fseterr.c (fseterr): Likewise.
7796         * lib/fwritable.c (fwritable): Likewise.
7797         * lib/fwriting.c (fwriting): Likewise.
7798         * lib/fflush.c (clear_ungetc_buffer): Update comment.
7799         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
7800
7801 2011-07-31  Bruno Haible  <bruno@clisp.org>
7802
7803         errno: Port to Minix.
7804         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
7805         ECONNABORTED are defined.
7806         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
7807         GNULIB_defined_ECONNABORTED): New macros.
7808         * lib/strerror-override.h (strerror_override): Test also
7809         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
7810         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
7811         ECONNABORTED.
7812         * doc/posix-headers/errno.texi: Mention the Minix problem.
7813
7814 2011-07-31  Bruno Haible  <bruno@clisp.org>
7815
7816         Work around declaration collisions on Minix.
7817         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
7818         defined, set REPLACE_MBSINIT.
7819         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
7820         defined, set REPLACE_MBRTOWC.
7821         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
7822         set REPLACE_MBRLEN.
7823         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
7824         defined, set REPLACE_MBSRTOWCS.
7825         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
7826         defined, set REPLACE_WCRTOMB.
7827         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
7828         defined, set REPLACE_WCSRTOMBS.
7829
7830 2011-07-31  Bruno Haible  <bruno@clisp.org>
7831
7832         Add support for Minix with ACK compiler.
7833         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
7834         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
7835         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7836
7837 2011-07-31  Bruno Haible  <bruno@clisp.org>
7838
7839         Documentation about Minix.
7840         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
7841         * doc/glibc-headers/*.texi: Likewise.
7842         * doc/posix-functions/*.texi: Likewise.
7843         * doc/glibc-functions/*.texi: Likewise.
7844
7845 2011-07-31  Bruno Haible  <bruno@clisp.org>
7846
7847         snippet/warn-on-use: Fix indentation.
7848         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
7849
7850 2011-07-25  Jim Meyering  <meyering@redhat.com>
7851
7852         tests: test-update-copyright.sh: remove unnecessary "rm" commands
7853         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
7854         commands.
7855
7856 2011-07-27  Jim Meyering  <meyering@redhat.com>
7857
7858         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
7859         * top/maint.mk (gl_extract_significant_defines_): Now that
7860         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
7861         gnulib/lib/signal.in.h, and now that we recommend to
7862         define-if-undefined those two symbols in application code,
7863         we must filter them out of the "significant" list.
7864         This avoids a "make syntax-check" failure in coreutils.
7865
7866 2011-07-26  Eric Blake  <eblake@redhat.com>
7867
7868         warnings: add comments about previous patch
7869         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
7870         * m4/include_next.m4: Likewise.
7871         * m4/warn-on-use.m4: Likewise.
7872         * m4/warnings.m4: Likewise, and simplify use.
7873         Suggested by Stefano Lattarini.
7874
7875         include-next, warnings: support older autoconf
7876         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
7877         AS_VAR_PUSHDEF in a way that works with older autoconf.
7878         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
7879         Reported by Daniel P. Berrange.
7880
7881 2011-07-25  Bruno Haible  <bruno@clisp.org>
7882
7883         fseek, ftell: Fix doc.
7884         * doc/posix-functions/fseek.texi: Reword statement about
7885         AC_SYS_LARGEFILE.
7886         * doc/posix-functions/ftell.texi: Likewise.
7887
7888 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7889             Bruno Haible  <bruno@clisp.org>
7890
7891         Add dependencies to the 'largefile' module.
7892         * modules/fopen (Depends-on): Add 'largefile'.
7893         * modules/freopen (Depends-on): Likewise.
7894         * modules/fseeko (Depends-on): Likewise.
7895         * modules/ftello (Depends-on): Likewise.
7896         * modules/glob (Depends-on): Likewise.
7897         * modules/lseek (Depends-on): Likewise.
7898         * modules/lstat (Depends-on): Likewise.
7899         * modules/mkostemp (Depends-on): Likewise.
7900         * modules/mkostemps (Depends-on): Likewise.
7901         * modules/mkstemp (Depends-on): Likewise.
7902         * modules/mkstemps (Depends-on): Likewise.
7903         * modules/open (Depends-on): Likewise.
7904         * modules/openat (Depends-on): Likewise.
7905         * modules/pread (Depends-on): Likewise.
7906         * modules/pwrite (Depends-on): Likewise.
7907         * modules/scandir (Depends-on): Likewise.
7908         * modules/stat (Depends-on): Likewise.
7909         * modules/tmpfile (Depends-on): Likewise.
7910         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
7911         since the containing module now depends on the largefile module.
7912         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
7913         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
7914         off_t is fixed by gnulib.
7915         * doc/posix-functions/freopen.texi: Likewise.
7916         * doc/posix-functions/fseeko.texi: Likewise.
7917         * doc/posix-functions/fstatat.texi: Likewise.
7918         * doc/posix-functions/ftello.texi: Likewise.
7919         * doc/posix-functions/glob.texi: Likewise.
7920         * doc/posix-functions/lseek.texi: Likewise.
7921         * doc/posix-functions/lstat.texi: Likewise.
7922         * doc/posix-functions/mkstemp.texi: Likewise.
7923         * doc/posix-functions/open.texi: Likewise.
7924         * doc/posix-functions/openat.texi: Likewise.
7925         * doc/posix-functions/pread.texi: Likewise.
7926         * doc/posix-functions/pwrite.texi: Likewise.
7927         * doc/posix-functions/scandir.texi: Likewise.
7928         * doc/posix-functions/stat.texi: Likewise.
7929         * doc/posix-functions/tmpfile.texi: Likewise.
7930         * doc/glibc-functions/mkostemp.texi: Likewise.
7931         * doc/glibc-functions/mkostemps.texi: Likewise.
7932         * doc/glibc-functions/mkstemps.texi: Likewise.
7933
7934 2011-07-25  Bruno Haible  <bruno@clisp.org>
7935
7936         fcntl: Move AC_LIBOBJ invocation to module description.
7937         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
7938         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
7939
7940         fcntl: Remove call-in from fchdir.m4.
7941         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
7942         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
7943
7944         dup3: Remove potential call-in from fchdir.m4.
7945         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
7946         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
7947
7948         dup2: Move AC_LIBOBJ invocation to module description.
7949         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
7950         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
7951         Don't invoke AC_LIBOBJ.
7952         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
7953
7954         dup2: Remove call-in from fchdir.m4.
7955         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
7956         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
7957
7958         fclose: Move AC_LIBOBJ invocation to module description.
7959         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
7960         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
7961         to 1.
7962         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
7963
7964         fclose: Remove call-in from close.m4.
7965         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
7966         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
7967
7968         close: Move AC_LIBOBJ invocation to module description.
7969         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
7970         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
7971         1.
7972         * modules/close (configure.ac): Invoke AC_LIBOBJ.
7973
7974         close: Remove call-in from fchdir.m4.
7975         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
7976         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
7977
7978         open: Move AC_LIBOBJ invocation to module description.
7979         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
7980         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
7981         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
7982
7983         open: Remove call-in from fchdir.m4.
7984         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
7985         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
7986
7987         fchdir: Start to remove gl_REPLACE_* idiom.
7988         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
7989         (gl_FUNC_FCHDIR): Invoke it.
7990
7991 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7992
7993         * lib/ftell.c (ftell): Comment out cast.
7994
7995         close: use gl_REPLACE_FCLOSE only if defined
7996         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
7997         is defined.  The close module doesn't depend on the fclose module
7998         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
7999         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
8000         I reproduced the problem with "./gnulib-tool --test close sys_socket".
8001
8002 2011-07-24  Jim Meyering  <meyering@redhat.com>
8003
8004         test-select.h: avoid warning when using gcc's -Wmissing-declarations
8005         * tests/test-select.h (test_function): Declare as "static".
8006
8007 2011-07-24  Bruno Haible  <bruno@clisp.org>
8008
8009         doc: Mention the effects of AC_SYS_LARGEFILE.
8010         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
8011         on this function.
8012         * doc/posix-functions/aio_error.texi: Likewise.
8013         * doc/posix-functions/aio_fsync.texi: Likewise.
8014         * doc/posix-functions/aio_read.texi: Likewise.
8015         * doc/posix-functions/aio_return.texi: Likewise.
8016         * doc/posix-functions/aio_suspend.texi: Likewise.
8017         * doc/posix-functions/aio_write.texi: Likewise.
8018         * doc/posix-functions/fgetpos.texi: Likewise.
8019         * doc/posix-functions/fopen.texi: Likewise.
8020         * doc/posix-functions/freopen.texi: Likewise.
8021         * doc/posix-functions/fsetpos.texi: Likewise.
8022         * doc/posix-functions/fstatvfs.texi: Likewise.
8023         * doc/posix-functions/ftruncate.texi: Likewise.
8024         * doc/posix-functions/ftw.texi: Likewise.
8025         * doc/posix-functions/getrlimit.texi: Likewise.
8026         * doc/posix-functions/glob.texi: Likewise.
8027         * doc/posix-functions/lio_listio.texi: Likewise.
8028         * doc/posix-functions/lockf.texi: Likewise.
8029         * doc/posix-functions/mkstemp.texi: Likewise.
8030         * doc/posix-functions/mmap.texi: Likewise.
8031         * doc/posix-functions/nftw.texi: Likewise.
8032         * doc/posix-functions/openat.texi: Likewise.
8033         * doc/posix-functions/opendir.texi: Likewise.
8034         * doc/posix-functions/posix_fadvise.texi: Likewise.
8035         * doc/posix-functions/posix_fallocate.texi: Likewise.
8036         * doc/posix-functions/pread.texi: Likewise.
8037         * doc/posix-functions/pwrite.texi: Likewise.
8038         * doc/posix-functions/readdir.texi: Likewise.
8039         * doc/posix-functions/readdir_r.texi: Likewise.
8040         * doc/posix-functions/rewinddir.texi: Likewise.
8041         * doc/posix-functions/scandir.texi: Likewise.
8042         * doc/posix-functions/seekdir.texi: Likewise.
8043         * doc/posix-functions/setrlimit.texi: Likewise.
8044         * doc/posix-functions/statvfs.texi: Likewise.
8045         * doc/posix-functions/telldir.texi: Likewise.
8046         * doc/posix-functions/tmpfile.texi: Likewise.
8047         * doc/posix-functions/truncate.texi: Likewise.
8048         * doc/glibc-functions/fallocate.texi: Likewise.
8049         * doc/glibc-functions/fstatfs.texi: Likewise.
8050         * doc/glibc-functions/fts_children.texi: Likewise.
8051         * doc/glibc-functions/fts_read.texi: Likewise.
8052         * doc/glibc-functions/getdirentries.texi: Likewise.
8053         * doc/glibc-functions/mkostemp.texi: Likewise.
8054         * doc/glibc-functions/mkostemps.texi: Likewise.
8055         * doc/glibc-functions/mkstemps.texi: Likewise.
8056         * doc/glibc-functions/preadv.texi: Likewise.
8057         * doc/glibc-functions/pwritev.texi: Likewise.
8058         * doc/glibc-functions/sendfile.texi: Likewise.
8059         * doc/glibc-functions/statfs.texi: Likewise.
8060
8061 2011-07-24  Bruno Haible  <bruno@clisp.org>
8062
8063         doc: Fix typo.
8064         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
8065
8066 2011-07-24  Bruno Haible  <bruno@clisp.org>
8067
8068         doc: Mention fsusage.
8069         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
8070
8071 2011-07-24  Bruno Haible  <bruno@clisp.org>
8072
8073         doc: Mention new glibc headers and functions.
8074         * doc/glibc-headers/gshadow.texi: New file.
8075         * doc/glibc-functions/endsgent.texi: New file.
8076         * doc/glibc-functions/fgetsgent.texi: New file.
8077         * doc/glibc-functions/fgetsgent_r.texi: New file.
8078         * doc/glibc-functions/getsgent.texi: New file.
8079         * doc/glibc-functions/getsgent_r.texi: New file.
8080         * doc/glibc-functions/getsgnam.texi: New file.
8081         * doc/glibc-functions/getsgnam_r.texi: New file.
8082         * doc/glibc-functions/putsgent.texi: New file.
8083         * doc/glibc-functions/setsgent.texi: New file.
8084         * doc/glibc-functions/sgetsgent.texi: New file.
8085         * doc/glibc-functions/sgetsgent_r.texi: New file.
8086         * doc/glibc-functions/malloc_info.texi: New file.
8087         * doc/glibc-functions/preadv.texi: New file.
8088         * doc/glibc-functions/pwritev.texi: New file.
8089         * doc/glibc-functions/register_printf_modifier.texi: New file.
8090         * doc/glibc-functions/register_printf_specifier.texi: New file.
8091         * doc/glibc-functions/register_printf_type.texi: New file.
8092         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
8093         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
8094         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
8095         * doc/glibc-functions/pthread_getname_np.texi: New file.
8096         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
8097         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
8098         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
8099         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
8100         * doc/glibc-functions/pthread_setname_np.texi: New file.
8101         * doc/glibc-functions/pthread_sigqueue.texi: New file.
8102         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
8103         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
8104         * doc/glibc-functions/qsort_r.texi: New file.
8105         * doc/glibc-functions/quick_exit.texi: New file.
8106         * doc/glibc-functions/syncfs.texi: New file.
8107         * doc/gnulib.texi: Include them.
8108         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
8109         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
8110         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
8111         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
8112         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
8113         * doc/glibc-functions/execvpe.texi: Likewise.
8114
8115 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8116
8117         ftell: don't include <unistd.h>
8118         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
8119         guaranteed to define off_t, and the ftell module depends on the
8120         stdio module.
8121
8122         ftell: do not assume wraparound signed arithmetic
8123         * lib/ftell.c: Include <limits.h>.
8124         (ftell): Don't assume wraparound signed arithmetic.
8125
8126 2011-07-24  Bruno Haible  <bruno@clisp.org>
8127
8128         close: No longer depend on module 'fclose'.
8129         * modules/close (Depends-on): Remove fclose.
8130         * NEWS: Mention the change.
8131         Suggested by Sam Steingold <sds@gnu.org>.
8132
8133 2011-07-24  Bruno Haible  <bruno@clisp.org>
8134
8135         fsusage: Enable large volume support on AIX >= 5.2.
8136         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
8137         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
8138         instead of STAT_STATVFS.
8139         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
8140
8141         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
8142         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
8143         f_blocks field only on MacOS X.
8144
8145         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
8146         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
8147         * modules/fsusage (Depends-on): Add largefile.
8148
8149 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8150
8151         * README: Modernize discussion of signed integers.
8152         Assuming overflow wraparound is no longer safe.
8153         Mention ones' complement and signed magnitude.
8154
8155 2011-07-22  Bruno Haible  <bruno@clisp.org>
8156
8157         select tests, pselect tests: Refactor.
8158         * tests/test-select.h: New file, extracted from tests/test-select.c.
8159         (select_fn): New type.
8160         (test, do_select, do_select_nowait, do_select_wait, test_tty,
8161         test_connect_first, test_accept_first, test_pair, test_socket_pair,
8162         test_pipe): Add my_select argument.
8163         (test_function): Renamed from main. Add my_select argument.
8164         * tests/test-select.c: Move most code to tests/test-select.h. Include
8165         test-select.h.
8166         * modules/select-tests (Files): Add tests/test-select.h.
8167         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
8168         (my_select, main): New functions.
8169         * modules/pselect-tests (Files): Add tests/test-select.h,
8170         tests/macros.h, tests/signature.h.
8171         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
8172         (configure.ac): Check for <sys/wait.h>.
8173
8174 2011-07-22  Bruno Haible  <bruno@clisp.org>
8175
8176         sys_select tests: Check the signature of FD_*.
8177         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
8178         signature tests from here...
8179         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
8180         here.
8181         * modules/sys_select-tests (Files): Add tests/signature.h.
8182
8183 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8184
8185         largefile: new module, replacing large-inode
8186         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
8187         * MODULES.html.sh: Add largefile, remove large-inode.
8188         * modules/largefile, m4/largefile.m4: New files.
8189         * modules/large-inode, m4/large-inode.m4: Remove.
8190
8191         fsusage: port to MacOS X 10.7 with 4 TiB file systems
8192         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
8193         implementations that use only 32 bits to count blocks.
8194         On typical hosts with 1024-byte blocks, this fails with file
8195         systems as small as 4 TiB.  Problem reported by Herb Wartens
8196         <http://debbugs.gnu.org/9140> and this should also fix a similar
8197         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
8198
8199         large-inode: New module
8200         * MODULES.html.sh: Add it.
8201         * modules/large-inode, m4/large-inode.m4: New files.
8202
8203         extensions: Enable extensions on MacOS X 10.5 and later.
8204         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
8205
8206 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
8207
8208         file-has-acl: use acl_extended_file_nofollow if available
8209         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
8210         (acl_extended_file): New macro.
8211         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
8212         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
8213
8214 2011-07-21  Bruno Haible  <bruno@clisp.org>
8215
8216         Declare system functions in a way that works with C++.
8217         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
8218         declare fdopendir as extern "C".
8219         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
8220         declare frexpl as extern "C".
8221         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
8222         declare gai_strerror as extern "C".
8223         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
8224         programs, declare gai_strerror as extern "C".
8225         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
8226         declare getlogin_r as extern "C".
8227         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
8228         as extern "C".
8229         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
8230         declare ldexpl as extern "C".
8231         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
8232         as extern "C".
8233         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
8234         program, declare getmntinfo as extern "C".
8235         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
8236         stpncpy as extern "C".
8237         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
8238         program, declare __xpg_strerror_r as extern "C".
8239         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
8240         strndup as extern "C".
8241         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
8242         declare memset and bzero as extern "C".
8243         Reported by Sam Steingold <sds@gnu.org>.
8244
8245 2011-07-12  Jim Meyering  <meyering@redhat.com>
8246
8247         maint.mk: prohibit inclusion of "verify.h" without use
8248         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
8249
8250 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8251
8252         timer-time: A new module to check for timer_settime()
8253         * m4/timer_time.m4: Check for the posix function.
8254         * modules/timer-time: Add the new module.
8255         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
8256         Mention it.
8257
8258 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
8259             Bruno Haible  <bruno@clisp.org>
8260
8261         pthread_sigmask: assume POSIX threads if --avoid=threadlib
8262         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
8263         not defined, assume POSIX threads and look for pthread_sigmask in
8264         $LIBS, without changing $CPPFLAGS.
8265
8266 2011-07-19  Bruno Haible  <bruno@clisp.org>
8267
8268         strstr: Update cross-compilation guess.
8269         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
8270         CPUs, guess no, in view of glibc
8271         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
8272         Suggested by Eric Blake. Reported by Reuben Thomas.
8273
8274 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8275
8276         getopt-gnu: suppress core dumps from detection code
8277         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
8278         to suppress core dumps that may well occur on glibc systems.
8279         * modules/getopt-gnu: Depend on nocrash.
8280
8281 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8282
8283         pthread_sigmask: ensure usleep is declared
8284         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
8285         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
8286
8287 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
8288
8289         doc: Document NonStop portability issues.
8290         * doc/posix-functions/sigaction.texi (sigaction):
8291         * doc/posix-headers/signal.texi (signal.h):
8292         Document NonStop.  See Joachim Schmitz in
8293         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
8294
8295 2011-07-15  Bruno Haible  <bruno@clisp.org>
8296
8297         ffsl, ffsll: Avoid unportable behaviour.
8298         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
8299
8300 2011-07-15  Bruno Haible  <bruno@clisp.org>
8301
8302         ffs: More tests.
8303         * tests/test-ffs.c (NBITS): New macro.
8304         (main): Add more tests.
8305         * tests/test-ffsl.c (NBITS): New macro.
8306         (main): Add more tests.
8307         * tests/test-ffsll.c (NBITS): New macro.
8308         (main): Add more tests.
8309
8310 2011-07-15  Eric Blake  <eblake@redhat.com>
8311
8312         ffsl, ffsll: new modules
8313         * modules/ffsl: New file.
8314         * modules/ffsll: Likewise.
8315         * m4/ffsl.m4: Likewise.
8316         * m4/ffsll.m4: Likewise.
8317         * lib/ffsl.c: Likewise.
8318         * lib/ffsl.h: Likewise.
8319         * lib/ffsll.c: Likewise.
8320         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
8321         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
8322         * modules/string (Makefile.am): Substitute witnesses.
8323         * lib/strings.in.h (ffsl, ffsll): Declare.
8324         * modules/ffsl-tests: New test file.
8325         * modules/ffsll-tests: Likewise.
8326         * tests/test-ffsl.c: Likewise.
8327         * tests/test-ffsll.c: Likewise.
8328         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8329         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
8330         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
8331
8332         ffs: fix m4 prerequisite
8333         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
8334
8335         ffs: avoid undefined behavior
8336         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
8337         * tests/test-ffs.c (naive, main): Avoid signed shifts.
8338         Reported by Bruno Haible.
8339
8340 2011-07-12  Bruno Haible  <bruno@clisp.org>
8341
8342         pthread_sigmask: Rely on module 'threadlib'.
8343         * modules/pthread_sigmask (Depends-on): Add threadlib.
8344         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
8345         is defined.
8346
8347 2011-07-12  Bruno Haible  <bruno@clisp.org>
8348
8349         regex: Depend on module 'strcase'.
8350         * modules/regex (Depends-on): Add strcase, for strcasecmp().
8351
8352 2011-07-12  Jim Meyering  <meyering@redhat.com>
8353
8354         warn-on-use: fix typo in file name
8355         * modules/snippet/warn-on-use (Files): Correct file name:
8356         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
8357
8358 2011-07-12  Bruno Haible  <bruno@clisp.org>
8359
8360         strings: Document module.
8361         * doc/posix-headers/strings.texi: Mention module 'strings'.
8362
8363 2011-07-12  Bruno Haible  <bruno@clisp.org>
8364
8365         Rename module '_Noreturn' to 'snippet/_Noreturn'.
8366         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
8367         (Files, Makefile.am): Update.
8368         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
8369         * modules/stdlib (Depends-on): Update.
8370
8371 2011-07-12  Bruno Haible  <bruno@clisp.org>
8372
8373         * NEWS: Mention the changes.
8374
8375         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
8376         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
8377         (Files, Makefile.am): Update.
8378         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
8379         * modules/arpa_inet (Depends-on): Update.
8380         * modules/ctype (Depends-on): Update.
8381         * modules/dirent (Depends-on): Update.
8382         * modules/fcntl-h (Depends-on): Update.
8383         * modules/glob (Depends-on): Update.
8384         * modules/iconv-h (Depends-on): Update.
8385         * modules/inttypes-incomplete (Depends-on): Update.
8386         * modules/langinfo (Depends-on): Update.
8387         * modules/locale (Depends-on): Update.
8388         * modules/math (Depends-on): Update.
8389         * modules/netdb (Depends-on): Update.
8390         * modules/poll-h (Depends-on): Update.
8391         * modules/pty (Depends-on): Update.
8392         * modules/search (Depends-on): Update.
8393         * modules/signal (Depends-on): Update.
8394         * modules/spawn (Depends-on): Update.
8395         * modules/stdio (Depends-on): Update.
8396         * modules/stdlib (Depends-on): Update.
8397         * modules/string (Depends-on): Update.
8398         * modules/strings (Depends-on): Update.
8399         * modules/sys_file (Depends-on): Update.
8400         * modules/sys_ioctl (Depends-on): Update.
8401         * modules/sys_select (Depends-on): Update.
8402         * modules/sys_socket (Depends-on): Update.
8403         * modules/sys_stat (Depends-on): Update.
8404         * modules/sys_time (Depends-on): Update.
8405         * modules/sys_times (Depends-on): Update.
8406         * modules/sys_utsname (Depends-on): Update.
8407         * modules/sys_wait (Depends-on): Update.
8408         * modules/termios (Depends-on): Update.
8409         * modules/time (Depends-on): Update.
8410         * modules/unistd (Depends-on): Update.
8411         * modules/wchar (Depends-on): Update.
8412         * modules/wctype-h (Depends-on): Update.
8413         * MODULES.html.sh (Support for building libraries and executables):
8414         Update.
8415
8416         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
8417         * modules/snippet/unused-parameter: Renamed from
8418         modules/unused-parameter.
8419         (Files, Makefile.am): Update.
8420         * build-aux/snippet/unused-parameter.h: Renamed from
8421         build-aux/unused-parameter.h.
8422         * modules/selinux-h (Depends-on): Update.
8423         * modules/unistr/base (Depends-on): Update.
8424         * MODULES.html.sh (Core language properties): Update.
8425
8426         Rename module 'link-warning' to 'snippet/link-warning'.
8427         * modules/snippet/link-warning: Renamed from modules/link-warning.
8428         (Files, Makefile.am): Update.
8429         * build-aux/snippet/link-warning.h: Renamed from
8430         build-aux/link-warning.h.
8431         * MODULES.html.sh (Support for building libraries and executables):
8432         Update.
8433
8434         Rename module 'c++defs' to 'snippet/c++defs'.
8435         * modules/snippet/c++defs: Renamed from modules/c++defs.
8436         (Files, Makefile.am): Update.
8437         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
8438         * modules/arpa_inet (Depends-on): Update.
8439         * modules/ctype (Depends-on): Update.
8440         * modules/dirent (Depends-on): Update.
8441         * modules/fcntl-h (Depends-on): Update.
8442         * modules/glob (Depends-on): Update.
8443         * modules/iconv-h (Depends-on): Update.
8444         * modules/langinfo (Depends-on): Update.
8445         * modules/locale (Depends-on): Update.
8446         * modules/math (Depends-on): Update.
8447         * modules/netdb (Depends-on): Update.
8448         * modules/poll-h (Depends-on): Update.
8449         * modules/pty (Depends-on): Update.
8450         * modules/search (Depends-on): Update.
8451         * modules/signal (Depends-on): Update.
8452         * modules/spawn (Depends-on): Update.
8453         * modules/stdio (Depends-on): Update.
8454         * modules/stdlib (Depends-on): Update.
8455         * modules/string (Depends-on): Update.
8456         * modules/strings (Depends-on): Update.
8457         * modules/sys_ioctl (Depends-on): Update.
8458         * modules/sys_select (Depends-on): Update.
8459         * modules/sys_socket (Depends-on): Update.
8460         * modules/sys_stat (Depends-on): Update.
8461         * modules/sys_time (Depends-on): Update.
8462         * modules/sys_wait (Depends-on): Update.
8463         * modules/termios (Depends-on): Update.
8464         * modules/time (Depends-on): Update.
8465         * modules/unistd (Depends-on): Update.
8466         * modules/wchar (Depends-on): Update.
8467         * modules/wctype-h (Depends-on): Update.
8468
8469         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
8470         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
8471         (Files, Makefile.am): Update.
8472         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
8473         * modules/argv-iter (Depends-on): Update.
8474         * modules/arpa_inet (Depends-on): Update.
8475         * modules/dirent (Depends-on): Update.
8476         * modules/fcntl-h (Depends-on): Update.
8477         * modules/fnmatch (Depends-on): Update.
8478         * modules/getopt-posix (Depends-on): Update.
8479         * modules/glob (Depends-on): Update.
8480         * modules/iconv-h (Depends-on): Update.
8481         * modules/inttypes-incomplete (Depends-on): Update.
8482         * modules/locale (Depends-on): Update.
8483         * modules/math (Depends-on): Update.
8484         * modules/netdb (Depends-on): Update.
8485         * modules/search (Depends-on): Update.
8486         * modules/signal (Depends-on): Update.
8487         * modules/spawn (Depends-on): Update.
8488         * modules/stdio (Depends-on): Update.
8489         * modules/stdlib (Depends-on): Update.
8490         * modules/string (Depends-on): Update.
8491         * modules/strings (Depends-on): Update.
8492         * modules/sys_socket (Depends-on): Update.
8493         * modules/sys_stat (Depends-on): Update.
8494         * modules/sys_time (Depends-on): Update.
8495         * modules/sys_times (Depends-on): Update.
8496         * modules/sys_utsname (Depends-on): Update.
8497         * modules/time (Depends-on): Update.
8498         * modules/unistd (Depends-on): Update.
8499         * modules/wchar (Depends-on): Update.
8500         * MODULES.html.sh (Support for building libraries and executables):
8501         Update.
8502
8503 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8504
8505         Improvements on _Noreturn and related modules.
8506
8507         modules/_Exit-tests: test _Noreturn too
8508         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
8509         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
8510         (main): Use them.
8511
8512         stdnoreturn, stdnoreturn-tests: remove modules
8513         They're not needed here and a bit premature for use elsewhere.  See
8514         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
8515         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8516         * tests/test-stdnoreturn.c: Remove files.
8517         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
8518         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
8519         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
8520         and using noreturn.
8521         * modules/openat, modules/sigpipe-die, modules/xalloc:
8522         * modules/xmemdup0, modules/xstrtol:
8523         Remove dependency on stdnoreturn.
8524
8525         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
8526         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
8527         Reparenthesize to avoid GCC warning.
8528         Support Microsoft's syntax.
8529         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
8530
8531         _Noreturn-tests: remove module
8532         * modules/_Noreturn-tests: Remove.
8533         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
8534         * tests/test-_Noreturn.c: Remove.
8535         * tests/test-stdnoreturn.c: Merge from the old
8536         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
8537
8538 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8539
8540         _Noreturn, stdnoreturn, and related modules.
8541
8542         * top/maint.mk: Adjust to new noreturn support.
8543         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
8544         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
8545
8546         xalloc: use stdnoreturn.h
8547         * lib/xalloc.h: Include <stdnoreturn.h>.
8548         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8549         * modules/xalloc (Depends-on): Add stdnoreturn.
8550
8551         xstrtol: use stdnoreturn.h
8552         * lib/xstrtol.h: Include <stdnoreturn.h>.
8553         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8554         * modules/xstrtol (Depends-on): Add stdnoreturn.
8555
8556         xmemdup0: use stdnoreturn.h
8557         * lib/xmemdup0.h: Include <stdnoreturn.h>.
8558         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8559         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
8560
8561         sigpipe-die: use stdnoreturn.h
8562         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
8563         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8564         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
8565
8566         openat: use stdnoreturn.h
8567         * lib/openat.h: Include <stdnoreturn.h>.
8568         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8569         * modules/openat (Depends-on): Add stdnoreturn.
8570
8571         * lib/openat-die.c (openat_save_fail): Modernize comment.
8572
8573         * lib/xalloc-die.c (xalloc_die): Modernize comment.
8574
8575         * lib/glthread/thread.h: Modernize comment.
8576
8577         obstack: use _Noreturn
8578         * lib/obstack.c (__attribute__): Remove macro.
8579         (print_and_abort): Use _Noreturn.
8580
8581         c-stack: use _Noreturn
8582         * lib/c-stack.c (die, overflow_handler, segv_handler):
8583         Use _Noreturn rather than __attribute__((noreturn)).
8584
8585         argmatch-tests, exclude_tests: use _Noreturn
8586         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
8587         Remove.
8588         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
8589
8590         stdlib: use _Noreturn
8591         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
8592         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
8593         * modules/stdlib (Depends-on): Add _Noreturn.
8594         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
8595
8596         stdnoreturn-tests: new module
8597         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
8598
8599         stdnoreturn: new module
8600         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
8601         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
8602
8603         _Noreturn-tests: new module
8604         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
8605
8606         _Noreturn: new module
8607         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
8608         New section, mentioning it.
8609         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
8610
8611         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
8612
8613 2011-07-11  Eric Blake  <eblake@redhat.com>
8614
8615         ffs: new module
8616         * modules/ffs: New file.
8617         * m4/ffs.m4: Likewise.
8618         * lib/ffs.c: Likewise.
8619         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
8620         * modules/strings (Makefile.am): Substitute witness.
8621         (Depends-on): Add c++defs.
8622         * lib/strings.in.h (ffs): Declare.
8623         * modules/ffs-tests: New test file.
8624         * tests/test-ffs.c: Test new module.
8625         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8626         * doc/posix-functions/ffs.texi (ffs): Likewise.
8627
8628         regex: avoid compiler warning
8629         * lib/regex.c (includes): Include <strings.h>, for use of
8630         strcasecmp in regcomp.c.
8631         Reported by Joachim Schmitz.
8632
8633 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8634
8635         stdint: respect system's intmax_t if INTMAX_MAX
8636         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
8637         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
8638         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
8639         long but int64_t is long long, and where we will clash with the
8640         system intmax_t if we override it.  See
8641         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
8642         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
8643         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
8644         similarly for UINTMAX_C.
8645
8646 2011-07-08  Bruno Haible  <bruno@clisp.org>
8647
8648         pthread_sigmask tests: Avoid a compiler warning.
8649         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
8650         non-zero.
8651
8652         sigprocmask tests: A better way to avoid a compiler warning.
8653         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
8654         (main): Complain if system() returns non-zero.
8655         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
8656
8657 2011-07-08  Bruno Haible  <bruno@clisp.org>
8658
8659         pthread_sigmask: Work around IRIX bug.
8660         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
8661         bug.
8662         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
8663         there may be unblocked pending signals.
8664         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
8665
8666 2011-07-08  Bruno Haible  <bruno@clisp.org>
8667
8668         pthread_sigmask: Work around Cygwin bug.
8669         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
8670         bug.
8671         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
8672         the system's pthread_sigmask function.
8673         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
8674
8675 2011-07-08  Bruno Haible  <bruno@clisp.org>
8676
8677         pthread_sigmask: Work around bug in single-threaded implementation.
8678         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
8679         FreeBSD, HP-UX, Solaris bug.
8680         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
8681         * lib/pthread_sigmask.c: Include <stddef.h>.
8682         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
8683         the system's pthread_sigmask function.
8684         * modules/pthread_sigmask (configure.ac): Invoke
8685         gl_PREREQ_PTHREAD_SIGMASK.
8686         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
8687         HP-UX, Solaris.
8688
8689 2011-07-08  Eric Blake  <eblake@redhat.com>
8690
8691         test-sigprocmask: avoid compiler warning
8692         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
8693         * tests/test-sigprocmask.c (main): Use it to silence warning.
8694         Reported by Jim Meyering.
8695
8696         test-snprintf: avoid compiler warning
8697         * tests/test-snprintf.c (main): Avoid shadowed declaration.
8698         * tests/test-vsnprintf.c (main): Likewise.
8699         Reported by Jim Meyering.
8700
8701 2011-07-08  Bruno Haible  <bruno@clisp.org>
8702
8703         Tests for module 'pthread_sigmask'.
8704         * modules/pthread_sigmask-tests: New file.
8705         * tests/test-pthread_sigmask1.c: New file, based on
8706         tests/test-sigprocmask.c.
8707         * tests/test-pthread_sigmask2.c: New file.
8708
8709 2011-07-08  Jim Meyering  <meyering@redhat.com>
8710
8711         test-getopt.h: avoid warning about an unused variable
8712         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
8713
8714 2011-07-07  Jim Meyering  <meyering@redhat.com>
8715
8716         maint: reduce list of files exempt from sc_prohibit_leading_TABs
8717         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
8718         now that it no longer contains leading TABs.
8719         Remove unused "url=FIXME" statement.
8720
8721 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8722
8723         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
8724         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8725         When gl_THREADLIB is not in use, assume that the POSIX sematics
8726         are desired.  This is better for Emacs, which uses POSIX semantics
8727         on GNUish and/or POSIXish platforms, and does not use threads at
8728         all otherwise.
8729
8730         pthread_sigmask: fix typo when testing for libraries
8731         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8732         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
8733
8734 2011-07-08  Eric Blake  <eblake@redhat.com>
8735
8736         fts: introduce FTS_NOATIME
8737         * lib/fts_.h (FTS_NOATIME): New bit flag.
8738         (FTS_OPTIONMASK): Adjust.
8739         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
8740         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
8741
8742 2011-07-08  Bruno Haible  <bruno@clisp.org>
8743
8744         Tests for module 'thread'.
8745         * modules/thread-tests: New file.
8746         * tests/test-thread_self.c: New file.
8747         * tests/test-thread_create.cc: New file.
8748
8749 2011-07-08  Bruno Haible  <bruno@clisp.org>
8750
8751         thread: Avoid gcc warnings when using gl_thread_self().
8752         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
8753         'void *'.
8754         (gl_thread_self_pointer): Update.
8755
8756 2011-07-07  Bruno Haible  <bruno@clisp.org>
8757
8758         signal-c++-tests: Check declaration of pthread_sigmask.
8759         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
8760         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
8761         $(LIB_PTHREAD_SIGMASK).
8762
8763 2011-07-07  Bruno Haible  <bruno@clisp.org>
8764
8765         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
8766         * lib/signal.in.h (pthread_sigmask): Override if
8767         REPLACE_PTHREAD_SIGMASK is 1.
8768         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8769         REPLACE_PTHREAD_SIGMASK.
8770         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
8771         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
8772         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
8773         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8774         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
8775
8776 2011-07-07  Bruno Haible  <bruno@clisp.org>
8777
8778         pthread_sigmask: Ensure declaration in <signal.h>.
8779         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
8780         include <pthread.h>.
8781         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
8782         problem.
8783
8784 2011-07-07  Bruno Haible  <bruno@clisp.org>
8785
8786         pthread_sigmask: Document the module.
8787         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
8788
8789 2011-07-07  Bruno Haible  <bruno@clisp.org>
8790
8791         pthread_sigmask: Follow gnulib conventions.
8792         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
8793         gl_PTHREAD_SIGMASK.
8794         * modules/pthread_sigmask (configure.ac): Update.
8795
8796 2011-07-07  Bruno Haible  <bruno@clisp.org>
8797
8798         pthread_sigmask: Make declaration C++ safe.
8799         * lib/signal.in.h: In two special conditions, just do an #include_next.
8800         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8801         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
8802         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8803         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8804         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
8805         not REPLACE_PTHREAD_MASK.
8806         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
8807         not REPLACE_PTHREAD_MASK.
8808         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8809
8810 2011-07-07  Bruno Haible  <bruno@clisp.org>
8811
8812         pthread_sigmask: Fix return value.
8813         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
8814         * lib/pthread_sigmask.c: New file.
8815         * modules/pthread_sigmask (Files): Add it.
8816         (configure.ac): Invoke AC_LIBOBJ.
8817
8818 2011-07-07  Eric Blake  <eblake@redhat.com>
8819
8820         getopt: more portable argv creation
8821         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
8822         const, use char arrays rather than strings.
8823         Suggested by Paul Eggert.
8824
8825 2011-07-07  Bruno Haible  <bruno@clisp.org>
8826
8827         Tests for module 'sigprocmask'.
8828         * modules/sigprocmask-tests: New file.
8829         * tests/test-sigprocmask.c: New file.
8830
8831 2011-07-07  Bruno Haible  <bruno@clisp.org>
8832
8833         float tests: Tweak.
8834         * tests/test-float.c (main): Tweak skip message.
8835
8836 2011-07-07  Eric Blake  <eblake@redhat.com>
8837
8838         getopt: avoid compiler warning during configure
8839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
8840         assigning string literals to non-const pointer.
8841
8842         getopt-gnu: avoid crash in glibc getopt
8843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
8844         * tests/test-getopt.h (test_getopt): Enhance test.
8845         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8846         * doc/posix-functions/getopt.texi (getopt): Document it.
8847         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8848         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8849         Likewise.
8850
8851 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
8852
8853         getopt: handle W; without long options in getopt [BZ #12922]
8854         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
8855         but no long options are defined, just return 'W'.
8856
8857 2011-07-07  Bruno Haible  <bruno@clisp.org>
8858
8859         Avoid literal tabs.
8860         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
8861         variable containing a tab instead of a literal tab.
8862         Reported by Jim Meyering.
8863
8864 2011-07-07  Bruno Haible  <bruno@clisp.org>
8865
8866         Comments.
8867         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
8868
8869 2011-07-06  Bruno Haible  <bruno@clisp.org>
8870
8871         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
8872         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
8873         <winsock2.h>.
8874         (rpl_fd_isset, FD_ISSET): New definitions, copied from
8875         lib/sys_socket.in.h.
8876         (close, gethostname): Hide declarations from <winsock2.h>.
8877         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8878         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
8879         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
8880         (select): Don't override if gnulib's <sys/select.h> was already
8881         included.
8882         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8883         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8884         setsockopt, shutdown, select): Tweak indentation.
8885
8886 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8887
8888         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
8889         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
8890         in an application that does not use the sys_select module.
8891
8892 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
8893
8894         poll: do not return 0 on timeout=-1
8895         * lib/poll.c: Loop with yield if no events occured
8896
8897 2011-07-06  Eric Blake  <eblake@redhat.com>
8898
8899         pthread_sigmask: always replace when not using pthread
8900         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
8901         replacement when using some threading other than pthread.  Fix
8902         logic bug.
8903
8904 2011-07-06  Bruno Haible  <bruno@clisp.org>
8905
8906         Comments.
8907         * m4/printf.m4: Update comments about mingw.
8908
8909 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8910
8911         sys_select: define sigset_t more portably
8912         * lib/sys_select.in.h: Always include <sys/types.h>, since
8913         we now need sigset_t and mingw defines it there.
8914         Include <signal.h> before split inclusion guard, to avoid
8915         mishaps on Solaris, whose <signal.h> eventually includes us.
8916         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
8917         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
8918         which come from ...
8919         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
8920         gl_CHECK_TYPE_SIGSET_T.
8921         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
8922         does the real work.
8923         * modules/sys_select (Depends-on): Add 'signal'.
8924
8925         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
8926         Suggested by Bruno Haible.
8927
8928         pselect: Use pthread_sigmask, not sigprocmask.
8929         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
8930         multithreaded apps better than sigprocmask does.
8931         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
8932         sigprocmask directly.
8933
8934 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8935
8936         * lib/pselect.c (pselect): Use plain name, without "rpl_".
8937         Don't #undef,  since we don't need any underlying pselect.
8938         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
8939         (Depends-on): Add select.
8940         (Link): Add $(LIBSOCKET).
8941         These changes suggested by Bruno Haible.
8942
8943         pselect: document better
8944         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8945         * doc/posix-functions/pselect.texi (pselect): Document new module.
8946
8947         pthread_sigmask: new module
8948         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8949         * doc/posix-functions/pthread_sigmask.texi: Document new module.
8950         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
8951         This is done only as a macro; I don't know how well that'll
8952         work for C++.  Move <sys/types.h> include before the include_next,
8953         to avoid mishap on Solaris.
8954         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
8955         * modules/signal (Makefile.am): Substitute the check's results.
8956         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
8957
8958         test-pselect: new module
8959         * modules/pselect-tests, tests/test-pselect.c: New files.
8960         * tests/test-select.c, tests/test-sys_select-c++.cc:
8961         If TEST_PSELECT is defined, test pselect instead of testing select.
8962
8963         * tests/test-sys_select.c (sigset_t): Test for it, too.
8964         Suggested by Bruno Haible.
8965
8966 2011-07-05  Eric Blake  <eblake@redhat.com>
8967
8968         snprintf: guarantee %1$d, for libintl
8969         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
8970         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
8971         * doc/posix-functions/snprintf.texi (snprintf): Update.
8972         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8973         * tests/test-snprintf.c (main): Enhance test.
8974         * tests/test-vsnprintf.c (main): Likewise.
8975
8976 2011-07-05  Jim Meyering  <meyering@redhat.com>
8977
8978         maint: exempt stdio-read.c and stdio-write.c from the cppi check
8979         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
8980         per Bruno's request, to accommodate this idiom (no space after "#")
8981         even when the function is inside an #if block:
8982         char *
8983         gets (char *s)
8984         #undef gets
8985         {
8986           ...
8987         }
8988
8989 2011-07-04  Jim Meyering  <meyering@redhat.com>
8990
8991         maint: indent with spaces, not TABs, and add a rule to check this
8992         * tests/test-userspec.c: Indent with spaces, not TABs.
8993         * tests/test-argp.c: Likewise.
8994         * tests/test-c-stack2.sh: Likewise.
8995         * tests/test-parse-duration.sh: Likewise
8996         * m4/strtod.m4: Likewise.
8997         * m4/alloca.m4: Likewise.
8998         * m4/pselect.m4: Likewise.
8999         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
9000
9001 2011-07-03  Jim Meyering  <meyering@redhat.com>
9002
9003         maint.mk: correct omissions in prohibit_argmatch_without_use check
9004         This rule would mistakenly report that argmatch.h is included without
9005         use even when both the argmatch and invalid_arg macro were used.
9006         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
9007         of argmatch and invalid_arg.
9008
9009 2011-07-03  Bruno Haible  <bruno@clisp.org>
9010
9011         Comments about EINTR.
9012         * lib/safe-read.h: Explain the purpose of this module.
9013         * lib/safe-write.h: Likewise.
9014         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
9015         module.
9016         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
9017         module.
9018         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9019
9020 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9021
9022         xnanosleep: Rewrite to use new dtotimespec module.
9023         It has the conversion code that used to be in xnanosleep.
9024         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
9025         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
9026         (TIME_T_MAX): Remove.
9027         (xnanosleep): Rewrite in terms of dtotimespec.
9028         * modules/xnanosleep (Depends-on): Add dtotimespec.
9029         Remove intprops, stdbool.
9030
9031         timespec-add, timespec-sub: new modules
9032         * lib/timespec.h (timespec_add, timespec_sub): New decls.
9033         * lib/timespec-add.c, lib/timespec-sub.c:
9034         * modules/timespec-add, modules/timespec-sub: New files.
9035
9036         dtotimespec: new module
9037         * lib/timespec.h (dtotimespec): New decl.
9038         * lib/dtotimespec.c, modules/dtotimespec: New files.
9039
9040         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
9041
9042         pselect: new module
9043         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
9044         (pselect): New decls.
9045         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
9046         since the standard pselect decl uses 'restrict'.
9047         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
9048         HAVE_PSELECT, REPLACE_PSELECT.
9049         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
9050         HAVE_PSELECT, REPLACE_PSELECT.
9051         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
9052
9053         sys_select: don't depend on sys_socket
9054         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
9055         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
9056         This fix works on GNU and GNU-like platforms, but has not been tested
9057         on native Windows.
9058         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
9059         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
9060         gl_HEADER_SYS_SOCKET.
9061         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
9062         gl_PREREQ_SYS_H_WINSOCK2.
9063
9064 2011-06-29  Eric Blake  <eblake@redhat.com>
9065
9066         pipe2: fix C89 compile problem
9067         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
9068         Reported by Bruno Haible.
9069
9070         pipe, pipe2: don't corrupt fd on error
9071         * lib/pipe.c (pipe): Leave fd unchanged on error.
9072         * lib/pipe2.c (pipe2): Likewise.
9073         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
9074         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9075
9076 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
9077
9078         mmap-anon: do not use regular expressions inadvertently
9079         * m4/mmap-anon.m4: Remove trailing period from strings sought
9080         in the output.
9081
9082 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9083
9084         nanosleep: fix integer overflow problem
9085         * lib/nanosleep.c (my_usleep): Don't assume signed integer
9086         arithmetic wraps around on overflow.
9087
9088         nanosleep: simplify carrying
9089         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
9090         first call to the underyling nanosleep, not for the last one.
9091         This doesn't fix any bugs, but it simplifies the computation of
9092         the remaining delay.  Found while auditing integer overflow issues.
9093
9094         dup2: remove test for existence of fcntl
9095         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
9096         "#if HAVE_FCNTL", in the configure-time test program.
9097         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
9098         and therefore speeds up "configure" a bit.  Found while
9099         adding the dup2 module to Emacs.
9100
9101 2011-06-24  Eric Blake  <eblake@redhat.com>
9102
9103         maint.mk: enhance useless header checks
9104         * top/maint.mk (_sc_header_without_use): Check both include
9105         styles.
9106         (sc_prohibit_assert_without_use)
9107         (sc_prohibit_close_stream_without_use)
9108         (sc_prohibit_getopt_without_use)
9109         (sc_prohibit_quotearg_without_use)
9110         (sc_prohibit_quote_without_use)
9111         (sc_prohibit_long_options_without_use)
9112         (sc_prohibit_inttostr_without_use)
9113         (sc_prohibit_ignore_value_without_use)
9114         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
9115         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
9116         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
9117         (sc_prohibit_hash_pjw_without_use)
9118         (sc_prohibit_safe_read_without_use)
9119         (sc_prohibit_argmatch_without_use)
9120         (sc_prohibit_canonicalize_without_use)
9121         (sc_prohibit_root_dev_ino_without_use)
9122         (sc_prohibit_openat_without_use)
9123         (sc_prohibit_c_ctype_without_use)
9124         (sc_prohibit_signal_without_use)
9125         (sc_prohibit_stdio--_without_use)
9126         (sc_prohibit_stdio-safer_without_use)
9127         (sc_prohibit_strings_without_use)
9128         (sc_prohibit_intprops_without_use)
9129         (sc_prohibit_stddef_without_use)
9130         (sc_prohibit_xfreopen_without_use): Update clients.
9131
9132 2011-06-24  Jim Meyering  <meyering@redhat.com>
9133
9134         syntax-check: keep one maint.mk rule in sync with its header
9135         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
9136         of the bug Eric has just fixed, with today's commit 25e4c2ec.
9137         I prefer to avoid temporary files here, so use <(...), but that
9138         is not supported by /bin/sh, so...
9139         (SHELL): Define to /bin/bash.
9140
9141 2011-06-24  Eric Blake  <eblake@redhat.com>
9142
9143         maint.mk: update sc_prohibit_intprops_without_use
9144         * top/maint.mk (_intprops_names): Match recent changes.
9145
9146 2011-06-24  Bruno Haible  <bruno@clisp.org>
9147
9148         strerror-override: No-op tweak.
9149         * lib/strerror-override.h (strerror_override): Reorder conditions,
9150         for consistency with lib/strerror-override.c.
9151
9152 2011-06-23  Eric Blake  <eblake@redhat.com>
9153
9154         maint.mk: test further PATH_MAX issues
9155         * top/maint.mk (sc_prohibit_path_max_array): Rename...
9156         (sc_prohibit_path_max_allocation): ...and also test alloca.
9157         Suggested by Jim Meyering.
9158
9159 2011-06-22  Eric Blake  <eblake@redhat.com>
9160
9161         maint.mk: add syntax-check to avoid char[PATH_MAX]
9162         * top/maint.mk (sc_prohibit_path_max_array): New rule.
9163
9164         stat: be robust to PATH_MAX definition
9165         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
9166         * modules/stat (Depends-on): Add verify.
9167
9168         link: work around IRIX bug
9169         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
9170         * lib/link.c (rpl_link): Work around it.
9171         * tests/test-link.h (test_link): Enhance test.
9172         * doc/posix-functions/link.texi (link): Document the bug.
9173
9174         getopt: silence clang warning
9175         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
9176         dereference.
9177         Reported by Gustavo Martin Domato.
9178
9179 2011-06-22  Jim Meyering  <meyering@redhat.com>
9180
9181         bootstrap: do not insert a blank line into each .gitignore file
9182         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
9183
9184 2011-06-21  Eric Blake  <eblake@redhat.com>
9185
9186         perror: test for output mismatch
9187         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
9188         perror on IRIX.
9189
9190         strerror_r: fix OpenBSD behavior on out-of-range
9191         * lib/strerror_r.c (strerror_r): Always use maximal string.
9192         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9193
9194         strerror_r: fix OpenBSD behavior on 0
9195         * lib/strerror-override.c (strerror_override): Also override 0
9196         when needed.
9197         * lib/strerror-override.h (strerror_override): Likewise.
9198         * lib/strerror.c (strerror): Simplify, now that 0 override is done
9199         earlier.
9200         * lib/strerror_r.c (strerror_r): Likewise.
9201         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
9202         behavior...
9203         (gl_FUNC_STRERROR_0): ...into new macro.
9204         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
9205         is overridden.
9206         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
9207         * modules/strerror-override (Files): Add strerror.m4.
9208         (configure.ac): Also provide override for 0 when needed.
9209         * doc/posix-functions/strerror.texi (strerror): Document this.
9210         * doc/posix-functions/perror.texi (perror): Likewise.
9211
9212         perror: adjust array size
9213         * modules/perror (Depends-on): Add strerror-override.
9214         * lib/perror.c (perror): Use it to avoid magic number.
9215
9216         strerror-override: reduce size
9217         * lib/strerror-override.c (strerror_override): Use fewer lines.
9218
9219 2011-06-20  Bruno Haible  <bruno@clisp.org>
9220
9221         pathmax: Ensure correct value for PATH_MAX on HP-UX.
9222         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
9223
9224 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9225
9226         alloca: port to compilers that can optimize like GCC 4.6.0
9227         * lib/alloca.c (find_stack_direction): New signature, taken from
9228         Autoconf git.  This works with GCC 4.6.0.  This code should never
9229         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
9230         be used with other compilers that optimize as well as GCC 4.6.0 does.
9231         (alloca): Adjust to new signature.
9232         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
9233         New macro, which patches Autoconf in a similar way.
9234
9235         c-stack: stop worrying about stack direction
9236         * lib/c-stack.c (find_stack_direction): Remove.
9237         (segv_handler): Don't worry about stack direction growth, as it's
9238         too much of a pain to configure this correctly, given how compilers
9239         are optimizing-away our stack-growth detection code.  Instead, assume
9240         that any access to just before or just after the stack is OK.
9241         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9242         Don't require AC_FUNC_ALLOCA; no longer needed.
9243
9244 2011-06-20  Eric Blake  <eblake@redhat.com>
9245
9246         test-stat: don't allocate PATH_MAX bytes
9247         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
9248         PATH_MAX-sized buffer.
9249         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
9250         * modules/stat-tests (Depends-on): Likewise.
9251         * tests/test-fstatat.c (includes): Drop pathmax.h.
9252         * tests/test-stat.c (includes): Likewise.
9253         Reported by Bruno Haible.
9254
9255 2011-06-20  Bruno Haible  <bruno@clisp.org>
9256
9257         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
9258         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
9259         * lib/float.c: New file.
9260         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
9261         REPLACE_FLOAT_LDBL.
9262         * modules/float (Files): Add lib/float.c.
9263         (configure.ac): Invoke AC_LIBOBJ.
9264         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
9265
9266 2011-06-20  Bruno Haible  <bruno@clisp.org>
9267
9268         Tests for module 'float'.
9269         * modules/float-tests: New file.
9270         * tests/test-float.c: New file.
9271
9272 2011-06-19  Bruno Haible  <bruno@clisp.org>
9273
9274         isinf: Coding style.
9275         * lib/isinf.c: Use GNU coding style.
9276
9277 2011-06-19  Bruno Haible  <bruno@clisp.org>
9278
9279         linkat test: Avoid test failure on AIX 7.1.
9280         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
9281         * tests/test-link.h (test_link): Likewise.
9282
9283 2011-06-19  Bruno Haible  <bruno@clisp.org>
9284
9285         pread test: Avoid test failure on OpenBSD 4.9.
9286         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
9287
9288 2011-06-19  Bruno Haible  <bruno@clisp.org>
9289
9290         sprintf-posix: Fix test failure on AIX 7.1.
9291         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
9292         * doc/posix-functions/dprintf.texi: Mention limited precision problem
9293         on AIX.
9294         * doc/posix-functions/fprintf.texi: Likewise.
9295         * doc/posix-functions/printf.texi: Likewise.
9296         * doc/posix-functions/snprintf.texi: Likewise.
9297         * doc/posix-functions/sprintf.texi: Likewise.
9298         * doc/posix-functions/vdprintf.texi: Likewise.
9299         * doc/posix-functions/vfprintf.texi: Likewise.
9300         * doc/posix-functions/vprintf.texi: Likewise.
9301         * doc/posix-functions/vsnprintf.texi: Likewise.
9302         * doc/posix-functions/vsprintf.texi: Likewise.
9303
9304 2011-06-19  Bruno Haible  <bruno@clisp.org>
9305
9306         roundl-ieee: Fix test failure on AIX 7.1.
9307         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
9308         * doc/posix-functions/roundl.texi: Mention problem with negative
9309         arguments.
9310
9311 2011-06-19  Bruno Haible  <bruno@clisp.org>
9312
9313         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9314         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
9315         * doc/posix-functions/round.texi: Mention problem with negative
9316         arguments.
9317         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
9318
9319 2011-06-19  Bruno Haible  <bruno@clisp.org>
9320
9321         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9322         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
9323         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
9324         * doc/posix-functions/roundf.texi: Mention problem with negative
9325         arguments.
9326         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
9327
9328 2011-06-19  Bruno Haible  <bruno@clisp.org>
9329
9330         ceilf-ieee: Work around bug on MacOS X 10.5.
9331         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
9332
9333         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
9334         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
9335         IEEE compliant, avoid compiler optimizations.
9336         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
9337         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9338         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
9339         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9340         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9341         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9342         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9343         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9344         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9345         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9346
9347 2011-06-19  Bruno Haible  <bruno@clisp.org>
9348
9349         ceilf-ieee: Work around bug on AIX 7.1.
9350         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
9351         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
9352
9353 2011-06-19  Bruno Haible  <bruno@clisp.org>
9354
9355         ceil-ieee: Work around bug on AIX 7.1.
9356         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
9357         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
9358
9359 2011-06-18  Bruno Haible  <bruno@clisp.org>
9360
9361         fsync test: Avoid test failure on MacOS X and AIX.
9362         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
9363         EINVAL.
9364
9365 2011-06-18  Bruno Haible  <bruno@clisp.org>
9366
9367         openat, fdopendir tests: Fix link errors.
9368         * modules/openat-tests (Depends-on): Add progname.
9369         * modules/fdopendir-tests (Depends-on): Likewise.
9370         * tests/test-fchownat.c: Include progname.h.
9371         (main): Call set_program_name.
9372         * tests/test-fstatat.c: Include progname.h.
9373         (main): Call set_program_name.
9374         * tests/test-mkdirat.c: Include progname.h.
9375         (main): Call set_program_name.
9376         * tests/test-openat.c: Include progname.h.
9377         (main): Call set_program_name.
9378         * tests/test-unlinkat.c: Include progname.h.
9379         (main): Call set_program_name.
9380         * tests/test-fdopendir.c: Include progname.h.
9381         (main): Call set_program_name.
9382
9383 2011-06-18  Bruno Haible  <bruno@clisp.org>
9384
9385         Doc update.
9386         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
9387         HP-UX.
9388         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
9389
9390 2011-06-18  Bruno Haible  <bruno@clisp.org>
9391
9392         getcwd tests: Avoid compilation error on HP-UX 11.31.
9393         * modules/getcwd-tests (Depends-on): Add pathmax.
9394         * tests/test-getcwd.c: Include pathmax.h.
9395
9396 2011-06-18  Bruno Haible  <bruno@clisp.org>
9397
9398         isfinite, isinf: Fix link error on AIX 6 and 7.
9399         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
9400         needed, also test the macro with a 'float' argument.
9401         * m4/isinf.m4 (gl_ISINF): Likewise.
9402
9403 2011-06-18  Bruno Haible  <bruno@clisp.org>
9404
9405         getloadavg: Don't clobber LIBS. Regression from previous commit.
9406         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
9407         AC_CHECK_LIB from here...
9408         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
9409         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
9410         gl_func_getloadavg_done.
9411         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9412
9413 2011-06-18  Bruno Haible  <bruno@clisp.org>
9414
9415         clean-temp: Improve documentation.
9416         * lib/clean-temp.h: Explain better how to use this module.
9417         Reported by John Darrington <john@darrington.wattle.id.au>.
9418
9419 2011-06-17  Bruno Haible  <bruno@clisp.org>
9420
9421         pread, pwrite: Avoid cc warning on AIX.
9422         * lib/unistd.in.h (pread): Undefine before defining as a macro.
9423         (pwrite): Likewise.
9424
9425 2011-06-17  Bruno Haible  <bruno@clisp.org>
9426
9427         spawn-pipe tests: Fix link error.
9428         * tests/test-spawn-pipe-child.c: Undefine fprintf.
9429         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9430
9431 2011-06-17  Bruno Haible  <bruno@clisp.org>
9432
9433         Tests: Remove unnecessary dependency.
9434         * modules/canonicalize-tests (Depends-on): Remove progname.
9435         * modules/chown-tests (Depends-on): Likewise.
9436         * modules/dirname-tests (Depends-on): Likewise.
9437         * modules/fdopendir-tests (Depends-on): Likewise.
9438         * modules/fdutimensat-tests (Depends-on): Likewise.
9439         * modules/hash-tests (Depends-on): Likewise.
9440         * modules/lchown-tests (Depends-on): Likewise.
9441         * modules/linkat-tests (Depends-on): Likewise.
9442         * modules/renameat-tests (Depends-on): Likewise.
9443         * modules/spawn-pipe-tests (Depends-on): Likewise.
9444         * modules/utimensat-tests (Depends-on): Likewise.
9445
9446 2011-06-17  Bruno Haible  <bruno@clisp.org>
9447
9448         spawn-pipe tests: Fix link error.
9449         * tests/test-spawn-pipe-child.c: Undefine fflush.
9450
9451 2011-06-17  Bruno Haible  <bruno@clisp.org>
9452
9453         Fix tests link errors.
9454         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
9455         * modules/chown-tests (Makefile.am): Don't link test-chown with
9456         LIBINTL.
9457         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
9458         LIBINTL.
9459         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
9460         LIBINTL.
9461         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
9462         LIBINTL.
9463
9464 2011-06-16  Bruno Haible  <bruno@clisp.org>
9465
9466         crypto/gc-sha1: Fix recent regression.
9467         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
9468         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
9469
9470         crypto/gc-md5: Fix recent regression.
9471         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
9472
9473         crypto/gc-md4: Fix recent regression.
9474         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
9475         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
9476
9477         crypto/gc-arctwo: Fix recent regression.
9478         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
9479         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
9480
9481         crypto/gc-rijndael: Fix recent regression.
9482         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
9483         (configure.ac): Invoke AC_LIBOBJ here.
9484         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
9485         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9486
9487         crypto/gc-hmac-sha1: Fix recent regression.
9488         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
9489         (configure.ac): Invoke AC_LIBOBJ here.
9490         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
9491         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9492
9493         crypto/gc-hmac-md5: Fix recent regression.
9494         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
9495         (configure.ac): Invoke AC_LIBOBJ here.
9496         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
9497         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9498
9499         crypto/gc-des: Fix recent regression.
9500         * modules/crypto/gc-des (Files): Remove m4/des.m4.
9501         (configure.ac): Invoke AC_LIBOBJ here.
9502         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
9503         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9504
9505         crypto/gc-arcfour: Fix recent regression.
9506         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
9507         (configure.ac): Invoke AC_LIBOBJ here.
9508         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
9509         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9510
9511 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
9512
9513         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
9514         After the 2011-05-21 change, this macro requires
9515         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
9516         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9517
9518 2011-06-16  Bruno Haible  <bruno@clisp.org>
9519
9520         fprintftime: Move AC_LIBOBJ invocations to module description.
9521         * m4/fprintftime.m4: Remove file.
9522         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
9523         (configure.ac): Remove gl_FPRINTFTIME call.
9524         (Makefile.am): Augment lib_SOURCES.
9525         Reported by Jim Meyering.
9526
9527 2011-06-16  Bruno Haible  <bruno@clisp.org>
9528
9529         tmpfile-safer: Finish 2011-05-23 commit.
9530         * m4/stdio-safer.m4: Really remove file.
9531         Reported by Jim Meyering.
9532
9533 2011-06-16  Bruno Haible  <bruno@clisp.org>
9534
9535         syntax-check: Fix typo.
9536         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
9537         printf-posix.m4.
9538         Reported by Jim Meyering.
9539
9540 2011-06-13  Jim Meyering  <meyering@redhat.com>
9541
9542         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
9543         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
9544
9545 2011-05-23  Bruno Haible  <bruno@clisp.org>
9546
9547         yesno: Move AC_LIBOBJ invocations to module description.
9548         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
9549         * modules/yesno (Makefile.am): Augment lib_SOURCES.
9550
9551 2011-05-23  Bruno Haible  <bruno@clisp.org>
9552
9553         xstrtol: Move AC_LIBOBJ invocations to module description.
9554         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
9555         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
9556
9557 2011-05-23  Bruno Haible  <bruno@clisp.org>
9558
9559         xstrtold: Move AC_LIBOBJ invocations to module description.
9560         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
9561         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
9562
9563 2011-05-23  Bruno Haible  <bruno@clisp.org>
9564
9565         xstrtod: Move AC_LIBOBJ invocations to module description.
9566         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
9567         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
9568
9569 2011-05-23  Bruno Haible  <bruno@clisp.org>
9570
9571         xnanosleep: Move AC_LIBOBJ invocations to module description.
9572         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
9573         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
9574
9575 2011-05-23  Bruno Haible  <bruno@clisp.org>
9576
9577         xgetcwd: Move AC_LIBOBJ invocations to module description.
9578         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
9579         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
9580
9581 2011-05-23  Bruno Haible  <bruno@clisp.org>
9582
9583         xalloc: Move AC_LIBOBJ invocations to module description.
9584         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
9585         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
9586
9587 2011-05-23  Bruno Haible  <bruno@clisp.org>
9588
9589         write-any-file: Move AC_LIBOBJ invocations to module description.
9590         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
9591         invocation.
9592         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
9593
9594 2011-05-23  Bruno Haible  <bruno@clisp.org>
9595
9596         utimens: Move AC_LIBOBJ invocations to module description.
9597         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
9598         * modules/utimens (Makefile.am): Augment lib_SOURCES.
9599
9600 2011-05-23  Bruno Haible  <bruno@clisp.org>
9601
9602         utimecmp: Move AC_LIBOBJ invocations to module description.
9603         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
9604         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
9605
9606 2011-05-23  Bruno Haible  <bruno@clisp.org>
9607
9608         userspec: Move AC_LIBOBJ invocations to module description.
9609         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
9610         * modules/userspec (Makefile.am): Augment lib_SOURCES.
9611
9612 2011-05-23  Bruno Haible  <bruno@clisp.org>
9613
9614         unlinkdir: Move AC_LIBOBJ invocations to module description.
9615         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
9616         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
9617
9618 2011-05-23  Bruno Haible  <bruno@clisp.org>
9619
9620         unistd-safer: Move AC_LIBOBJ invocations to module description.
9621         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
9622         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
9623
9624 2011-05-23  Bruno Haible  <bruno@clisp.org>
9625
9626         tempname: Move AC_LIBOBJ invocations to module description.
9627         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
9628         * modules/tempname (Makefile.am): Augment lib_SOURCES.
9629
9630 2011-05-23  Bruno Haible  <bruno@clisp.org>
9631
9632         strftime: Move AC_LIBOBJ invocations to module description.
9633         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
9634         * modules/strftime (Makefile.am): Augment lib_SOURCES.
9635
9636 2011-05-23  Bruno Haible  <bruno@clisp.org>
9637
9638         stdlib-safer: Move AC_LIBOBJ invocations to module description.
9639         * m4/stdlib-safer.m4: Remove file.
9640         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
9641         (configure.ac): Remove gl_STDLIB_SAFER call.
9642         (Makefile.am): Augment lib_SOURCES.
9643
9644 2011-05-23  Bruno Haible  <bruno@clisp.org>
9645
9646         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
9647         * m4/stdio-safer.m4: Remove file.
9648         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
9649         (configure.ac): Remove gl_TMPFILE_SAFER call.
9650         (Makefile.am): Augment lib_SOURCES.
9651
9652 2011-05-23  Bruno Haible  <bruno@clisp.org>
9653
9654         popen-safer: Move AC_LIBOBJ invocations to module description.
9655         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
9656         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
9657         (configure.ac): Remove gl_POPEN_SAFER call.
9658         (Makefile.am): Augment lib_SOURCES.
9659
9660 2011-05-23  Bruno Haible  <bruno@clisp.org>
9661
9662         freopen-safer: Move AC_LIBOBJ invocations to module description.
9663         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
9664         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
9665         (configure.ac): Remove gl_FREOPEN_SAFER call.
9666         (Makefile.am): Augment lib_SOURCES.
9667
9668 2011-05-23  Bruno Haible  <bruno@clisp.org>
9669
9670         fopen-safer: Move AC_LIBOBJ invocations to module description.
9671         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
9672         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
9673         (configure.ac): Remove gl_FOPEN_SAFER call.
9674         (Makefile.am): Augment lib_SOURCES.
9675
9676 2011-05-23  Bruno Haible  <bruno@clisp.org>
9677
9678         crypto/sha512: Move AC_LIBOBJ invocations to module description.
9679         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
9680         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
9681
9682 2011-05-23  Bruno Haible  <bruno@clisp.org>
9683
9684         crypto/sha256: Move AC_LIBOBJ invocations to module description.
9685         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
9686         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
9687
9688 2011-05-23  Bruno Haible  <bruno@clisp.org>
9689
9690         crypto/sha1: Move AC_LIBOBJ invocations to module description.
9691         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
9692         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
9693
9694 2011-05-23  Bruno Haible  <bruno@clisp.org>
9695
9696         settime: Move AC_LIBOBJ invocations to module description.
9697         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
9698         * modules/settime (Makefile.am): Augment lib_SOURCES.
9699
9700 2011-05-23  Bruno Haible  <bruno@clisp.org>
9701
9702         savedir: Move AC_LIBOBJ invocations to module description.
9703         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
9704         * modules/savedir (Makefile.am): Augment lib_SOURCES.
9705
9706 2011-05-23  Bruno Haible  <bruno@clisp.org>
9707
9708         save-cwd: Move AC_LIBOBJ invocations to module description.
9709         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
9710         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
9711
9712 2011-05-23  Bruno Haible  <bruno@clisp.org>
9713
9714         same: Move AC_LIBOBJ invocations to module description.
9715         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
9716         * modules/same (Makefile.am): Augment lib_SOURCES.
9717
9718 2011-05-23  Bruno Haible  <bruno@clisp.org>
9719
9720         safe-write: Move AC_LIBOBJ invocations to module description.
9721         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
9722         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
9723         instead of gl_SAFE_WRITE.
9724         (Makefile.am): Augment lib_SOURCES.
9725
9726 2011-05-23  Bruno Haible  <bruno@clisp.org>
9727
9728         safe-read: Move AC_LIBOBJ invocations to module description.
9729         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
9730         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
9731         of gl_SAFE_READ.
9732         (Makefile.am): Augment lib_SOURCES.
9733
9734 2011-05-23  Bruno Haible  <bruno@clisp.org>
9735
9736         safe-alloc: Move AC_LIBOBJ invocations to module description.
9737         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
9738         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
9739
9740 2011-05-23  Bruno Haible  <bruno@clisp.org>
9741
9742         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
9743         * m4/rijndael.m4: Remove file.
9744         * modules/crypto/rijndael (Files): Remove it.
9745         (configure.ac): Remove gl_RIJNDAEL call.
9746         (Makefile.am): Augment lib_SOURCES.
9747
9748 2011-05-23  Bruno Haible  <bruno@clisp.org>
9749
9750         readtokens: Move AC_LIBOBJ invocations to module description.
9751         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
9752         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
9753
9754 2011-05-23  Bruno Haible  <bruno@clisp.org>
9755
9756         read-file: Move AC_LIBOBJ invocations to module description.
9757         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
9758         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
9759         of gl_FUNC_READ_FILE.
9760         (Makefile.am): Augment lib_SOURCES.
9761
9762 2011-05-23  Bruno Haible  <bruno@clisp.org>
9763
9764         quotearg: Move AC_LIBOBJ invocations to module description.
9765         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
9766         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
9767
9768 2011-05-23  Bruno Haible  <bruno@clisp.org>
9769
9770         quote: Move AC_LIBOBJ invocations to module description.
9771         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
9772         * modules/quote (Makefile.am): Augment lib_SOURCES.
9773
9774 2011-05-23  Bruno Haible  <bruno@clisp.org>
9775
9776         posixver: Move AC_LIBOBJ invocations to module description.
9777         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
9778         * modules/posixver (Makefile.am): Augment lib_SOURCES.
9779
9780 2011-05-23  Bruno Haible  <bruno@clisp.org>
9781
9782         posixtm: Move AC_LIBOBJ invocations to module description.
9783         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
9784         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
9785
9786 2011-05-23  Bruno Haible  <bruno@clisp.org>
9787
9788         physmem: Move AC_LIBOBJ invocations to module description.
9789         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
9790         * modules/physmem (Makefile.am): Augment lib_SOURCES.
9791
9792 2011-05-23  Bruno Haible  <bruno@clisp.org>
9793
9794         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
9795         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
9796         invocation.
9797         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
9798
9799 2011-05-23  Bruno Haible  <bruno@clisp.org>
9800
9801         mpsort: Move AC_LIBOBJ invocations to module description.
9802         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
9803         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
9804
9805 2011-05-23  Bruno Haible  <bruno@clisp.org>
9806
9807         modechange: Move AC_LIBOBJ invocations to module description.
9808         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
9809         * modules/modechange (Makefile.am): Augment lib_SOURCES.
9810
9811 2011-05-23  Bruno Haible  <bruno@clisp.org>
9812
9813         mkdir-p: Move AC_LIBOBJ invocations to module description.
9814         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
9815         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
9816
9817 2011-05-23  Bruno Haible  <bruno@clisp.org>
9818
9819         mkancesdirs: Move AC_LIBOBJ invocations to module description.
9820         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
9821         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
9822
9823 2011-05-23  Bruno Haible  <bruno@clisp.org>
9824
9825         mgetgroups: Move AC_LIBOBJ invocations to module description.
9826         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
9827         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
9828
9829 2011-05-23  Bruno Haible  <bruno@clisp.org>
9830
9831         memxor: Move AC_LIBOBJ invocations to module description.
9832         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
9833         * modules/memxor (Makefile.am): Augment lib_SOURCES.
9834
9835 2011-05-23  Bruno Haible  <bruno@clisp.org>
9836
9837         memcoll: Move AC_LIBOBJ invocations to module description.
9838         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
9839         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
9840
9841 2011-05-23  Bruno Haible  <bruno@clisp.org>
9842
9843         memcasecmp: Move AC_LIBOBJ invocations to module description.
9844         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
9845         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
9846
9847 2011-05-23  Bruno Haible  <bruno@clisp.org>
9848
9849         crypto/md5: Move AC_LIBOBJ invocations to module description.
9850         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
9851         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
9852
9853 2011-05-23  Bruno Haible  <bruno@clisp.org>
9854
9855         crypto/md4: Move AC_LIBOBJ invocations to module description.
9856         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
9857         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
9858
9859 2011-05-23  Bruno Haible  <bruno@clisp.org>
9860
9861         crypto/md2: Move AC_LIBOBJ invocations to module description.
9862         * m4/md2.m4: Remove file.
9863         * modules/crypto/md2 (Files): Remove it.
9864         (configure.ac): Remove gl_MD2 call.
9865         (Makefile.am): Augment lib_SOURCES.
9866
9867 2011-05-23  Bruno Haible  <bruno@clisp.org>
9868
9869         long-options: Move AC_LIBOBJ invocations to module description.
9870         * m4/long-options.m4: Remove file.
9871         * modules/long-options (Files): Remove it.
9872         (configure.ac): Remove gl_LONG_OPTIONS call.
9873         (Makefile.am): Augment lib_SOURCES.
9874
9875 2011-05-23  Bruno Haible  <bruno@clisp.org>
9876
9877         i-ring: Move AC_LIBOBJ invocations to module description.
9878         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
9879         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
9880
9881 2011-05-23  Bruno Haible  <bruno@clisp.org>
9882
9883         idcache: Move AC_LIBOBJ invocations to module description.
9884         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
9885         * modules/idcache (Makefile.am): Augment lib_SOURCES.
9886
9887 2011-05-23  Bruno Haible  <bruno@clisp.org>
9888
9889         human: Move AC_LIBOBJ invocations to module description.
9890         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
9891         * modules/human (Makefile.am): Augment lib_SOURCES.
9892
9893 2011-05-23  Bruno Haible  <bruno@clisp.org>
9894
9895         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
9896         * m4/hmac-sha1.m4: Remove file.
9897         * modules/crypto/hmac-sha1 (Files): Remove it.
9898         (configure.ac): Remove gl_HMAC_SHA1 call.
9899         (Makefile.am): Augment lib_SOURCES.
9900
9901 2011-05-23  Bruno Haible  <bruno@clisp.org>
9902
9903         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
9904         * m4/hmac-md5.m4: Remove file.
9905         * modules/crypto/hmac-md5 (Files): Remove it.
9906         (configure.ac): Remove gl_HMAC_MD5 call.
9907         (Makefile.am): Augment lib_SOURCES.
9908
9909 2011-05-23  Bruno Haible  <bruno@clisp.org>
9910
9911         hash: Move AC_LIBOBJ invocations to module description.
9912         * m4/hash.m4: Remove file.
9913         * modules/hash (Files): Remove it.
9914         (configure.ac): Remove gl_HASH call.
9915         (Makefile.am): Augment lib_SOURCES.
9916
9917 2011-05-23  Bruno Haible  <bruno@clisp.org>
9918
9919         hard-locale: Move AC_LIBOBJ invocations to module description.
9920         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
9921         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
9922
9923 2011-05-23  Bruno Haible  <bruno@clisp.org>
9924
9925         getugroups: Move AC_LIBOBJ invocations to module description.
9926         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
9927         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
9928
9929 2011-05-23  Bruno Haible  <bruno@clisp.org>
9930
9931         gettime: Move AC_LIBOBJ invocations to module description.
9932         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
9933         * modules/gettime (Makefile.am): Augment lib_SOURCES.
9934
9935 2011-05-23  Bruno Haible  <bruno@clisp.org>
9936
9937         getndelim2: Move AC_LIBOBJ invocations to module description.
9938         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
9939         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
9940
9941 2011-05-23  Bruno Haible  <bruno@clisp.org>
9942
9943         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
9944         * m4/gc-pbkdf2-sha1.m4: Remove file.
9945         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
9946         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
9947         (Makefile.am): Augment lib_SOURCES.
9948
9949 2011-05-23  Bruno Haible  <bruno@clisp.org>
9950
9951         fts: Move AC_LIBOBJ invocations to module description.
9952         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
9953         * modules/fts (configure.ac): ... to here.
9954
9955 2011-05-23  Bruno Haible  <bruno@clisp.org>
9956
9957         file-type: Move AC_LIBOBJ invocations to module description.
9958         * m4/file-type.m4: Remove file.
9959         * modules/file-type (Files): Remove it.
9960         (configure.ac): Remove gl_FILE_TYPE call.
9961         (Makefile.am): Augment lib_SOURCES.
9962
9963 2011-05-23  Bruno Haible  <bruno@clisp.org>
9964
9965         filenamecat*: Respect rules for use of AC_LIBOBJ.
9966         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
9967         Remove AC_LIBOBJ invocation.
9968         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
9969         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
9970
9971 2011-05-23  Bruno Haible  <bruno@clisp.org>
9972
9973         filemode: Move AC_LIBOBJ invocations to module description.
9974         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
9975         * modules/filemode (Makefile.am): Augment lib_SOURCES.
9976
9977 2011-05-23  Bruno Haible  <bruno@clisp.org>
9978
9979         openat-safer: Move AC_LIBOBJ invocations to module description.
9980         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
9981         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
9982
9983 2011-05-23  Bruno Haible  <bruno@clisp.org>
9984
9985         fcntl-safer: Move AC_LIBOBJ invocations to module description.
9986         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
9987         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
9988
9989 2011-05-23  Bruno Haible  <bruno@clisp.org>
9990
9991         exclude: Move AC_LIBOBJ invocations to module description.
9992         * m4/exclude.m4: Remove file.
9993         * modules/exclude (Files): Remove it.
9994         (configure.ac): Remove gl_EXCLUDE call.
9995         (Makefile.am): Augment lib_SOURCES.
9996
9997 2011-05-23  Bruno Haible  <bruno@clisp.org>
9998
9999         dirname*: Respect rules for use of AC_LIBOBJ.
10000         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
10001         invocations.
10002         * modules/dirname (Makefile.am): Augment lib_SOURCES.
10003         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
10004
10005 2011-05-23  Bruno Haible  <bruno@clisp.org>
10006
10007         dirent-safer: Move AC_LIBOBJ invocations to module description.
10008         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
10009         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
10010
10011 2011-05-23  Bruno Haible  <bruno@clisp.org>
10012
10013         crypto/des: Move AC_LIBOBJ invocations to module description.
10014         * m4/des.m4: Remove file.
10015         * modules/crypto/des (Files): Remove it.
10016         (configure.ac): Remove gl_DES call.
10017         (Makefile.am): Augment lib_SOURCES.
10018
10019 2011-05-23  Bruno Haible  <bruno@clisp.org>
10020
10021         cycle-check: Move AC_LIBOBJ invocations to module description.
10022         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
10023         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
10024
10025 2011-05-23  Bruno Haible  <bruno@clisp.org>
10026
10027         c-strtold: Move AC_LIBOBJ invocations to module description.
10028         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
10029         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
10030
10031 2011-05-23  Bruno Haible  <bruno@clisp.org>
10032
10033         c-strtod: Move AC_LIBOBJ invocations to module description.
10034         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
10035         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
10036
10037 2011-05-23  Bruno Haible  <bruno@clisp.org>
10038
10039         crc: Move AC_LIBOBJ invocations to module description.
10040         * m4/crc.m4: Remove file.
10041         * modules/crc (Files): Remove it.
10042         (configure.ac): Remove gl_CRC call.
10043         (Makefile.am): Augment lib_SOURCES.
10044
10045 2011-05-23  Bruno Haible  <bruno@clisp.org>
10046
10047         close-stream: Move AC_LIBOBJ invocations to module description.
10048         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
10049         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
10050
10051 2011-05-23  Bruno Haible  <bruno@clisp.org>
10052
10053         closeout: Move AC_LIBOBJ invocations to module description.
10054         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
10055         * modules/closeout (Makefile.am): Augment lib_SOURCES.
10056
10057 2011-05-23  Bruno Haible  <bruno@clisp.org>
10058
10059         closein: Move AC_LIBOBJ invocations to module description.
10060         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
10061         * modules/closein (Makefile.am): Augment lib_SOURCES.
10062
10063 2011-05-23  Bruno Haible  <bruno@clisp.org>
10064
10065         cloexec: Move AC_LIBOBJ invocations to module description.
10066         * m4/cloexec.m4: Remove file.
10067         * modules/cloexec (Files): Remove it.
10068         (configure.ac): Remove gl_CLOEXEC call.
10069         (Makefile.am): Augment lib_SOURCES.
10070
10071 2011-05-23  Bruno Haible  <bruno@clisp.org>
10072
10073         check-version: Move AC_LIBOBJ invocations to module description.
10074         * m4/check-version.m4: Remove file.
10075         * modules/check-version (Files): Remove it.
10076         (configure.ac): Remove gl_CHECK_VERSION call.
10077         (Makefile.am): Augment lib_SOURCES.
10078
10079 2011-05-23  Bruno Haible  <bruno@clisp.org>
10080
10081         chdir-safer: Move AC_LIBOBJ invocations to module description.
10082         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
10083         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
10084
10085 2011-05-23  Bruno Haible  <bruno@clisp.org>
10086
10087         canonicalize: Move AC_LIBOBJ invocations to module description.
10088         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
10089         AC_LIBOBJ invocation.
10090         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
10091
10092 2011-05-23  Bruno Haible  <bruno@clisp.org>
10093
10094         canon-host: Move AC_LIBOBJ invocations to module description.
10095         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
10096         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
10097         instead of gl_CANON_HOST.
10098         (Makefile.am): Augment lib_SOURCES.
10099
10100 2011-05-23  Bruno Haible  <bruno@clisp.org>
10101
10102         backupfile: Move AC_LIBOBJ invocations to module description.
10103         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
10104         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
10105
10106 2011-05-23  Bruno Haible  <bruno@clisp.org>
10107
10108         argmatch: Move AC_LIBOBJ invocations to module description.
10109         * m4/argmatch.m4: Remove file.
10110         * modules/argmatch (Files): Remove it.
10111         (configure.ac): Remove gl_ARGMATCH call.
10112         (Makefile.am): Augment lib_SOURCES.
10113
10114 2011-05-23  Bruno Haible  <bruno@clisp.org>
10115
10116         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
10117         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
10118         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
10119
10120 2011-05-23  Bruno Haible  <bruno@clisp.org>
10121
10122         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
10123         * m4/arcfour.m4: Remove file.
10124         * modules/crypto/arcfour (Files): Remove it.
10125         (configure.ac): Remove gl_ARCFOUR call.
10126         (Makefile.am): Augment lib_SOURCES.
10127
10128 2011-05-22  Bruno Haible  <bruno@clisp.org>
10129
10130         write: Move AC_LIBOBJ invocations to module description.
10131         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
10132         * modules/write (configure.ac): ... to here.
10133
10134 2011-05-22  Bruno Haible  <bruno@clisp.org>
10135
10136         wmemset: Move AC_LIBOBJ invocations to module description.
10137         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
10138         here...
10139         * modules/wmemset (configure.ac): ... to here.
10140
10141 2011-05-22  Bruno Haible  <bruno@clisp.org>
10142
10143         wmemmove: Move AC_LIBOBJ invocations to module description.
10144         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
10145         here...
10146         * modules/wmemmove (configure.ac): ... to here.
10147
10148 2011-05-22  Bruno Haible  <bruno@clisp.org>
10149
10150         wmemcpy: Move AC_LIBOBJ invocations to module description.
10151         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
10152         here...
10153         * modules/wmemcpy (configure.ac): ... to here.
10154
10155 2011-05-22  Bruno Haible  <bruno@clisp.org>
10156
10157         wmemcmp: Move AC_LIBOBJ invocations to module description.
10158         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
10159         here...
10160         * modules/wmemcmp (configure.ac): ... to here.
10161
10162 2011-05-22  Bruno Haible  <bruno@clisp.org>
10163
10164         wmemchr: Move AC_LIBOBJ invocations to module description.
10165         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
10166         here...
10167         * modules/wmemchr (configure.ac): ... to here.
10168
10169 2011-05-22  Bruno Haible  <bruno@clisp.org>
10170
10171         wcswidth: Move AC_LIBOBJ invocations to module description.
10172         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
10173         here...
10174         * modules/wcswidth (configure.ac): ... to here.
10175
10176 2011-05-22  Bruno Haible  <bruno@clisp.org>
10177
10178         wcwidth: Respect rules for use of AC_LIBOBJ.
10179         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
10180         invocation from here...
10181         * modules/wcwidth (configure.ac): ... to here.
10182         (Depends-on): Update conditions.
10183
10184 2011-05-22  Bruno Haible  <bruno@clisp.org>
10185
10186         wctype: Move AC_LIBOBJ invocations to module description.
10187         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
10188         invocation from here...
10189         * modules/wctype (configure.ac): ... to here.
10190         (Depends-on): Update conditions.
10191
10192 2011-05-22  Bruno Haible  <bruno@clisp.org>
10193
10194         wctrans: Move AC_LIBOBJ invocations to module description.
10195         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
10196         invocation from here...
10197         * modules/wctrans (configure.ac): ... to here.
10198
10199 2011-05-22  Bruno Haible  <bruno@clisp.org>
10200
10201         wctomb: Move AC_LIBOBJ invocations to module description.
10202         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
10203         invocations from here...
10204         * modules/wctomb (configure.ac): ... to here.
10205
10206 2011-05-22  Bruno Haible  <bruno@clisp.org>
10207
10208         wctob: Move AC_LIBOBJ invocations to module description.
10209         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
10210         gl_PREREQ_WCTOB invocations from here...
10211         * modules/wctob (configure.ac): ... to here.
10212         (Depends-on): Update conditions.
10213
10214 2011-05-22  Bruno Haible  <bruno@clisp.org>
10215
10216         wcsxfrm: Move AC_LIBOBJ invocations to module description.
10217         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
10218         here...
10219         * modules/wcsxfrm (configure.ac): ... to here.
10220
10221 2011-05-22  Bruno Haible  <bruno@clisp.org>
10222
10223         wcstok: Move AC_LIBOBJ invocations to module description.
10224         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
10225         * modules/wcstok (configure.ac): ... to here.
10226
10227 2011-05-22  Bruno Haible  <bruno@clisp.org>
10228
10229         wcsstr: Move AC_LIBOBJ invocations to module description.
10230         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
10231         * modules/wcsstr (configure.ac): ... to here.
10232
10233 2011-05-22  Bruno Haible  <bruno@clisp.org>
10234
10235         wcsspn: Move AC_LIBOBJ invocations to module description.
10236         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
10237         * modules/wcsspn (configure.ac): ... to here.
10238
10239 2011-05-22  Bruno Haible  <bruno@clisp.org>
10240
10241         wcsrtombs: Move AC_LIBOBJ invocations to module description.
10242         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
10243         gl_PREREQ_WCSRTOMBS invocations from here...
10244         * modules/wcsrtombs (configure.ac): ... to here.
10245
10246 2011-05-22  Bruno Haible  <bruno@clisp.org>
10247
10248         wcsrchr: Move AC_LIBOBJ invocations to module description.
10249         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
10250         here...
10251         * modules/wcsrchr (configure.ac): ... to here.
10252
10253 2011-05-22  Bruno Haible  <bruno@clisp.org>
10254
10255         wcspbrk: Move AC_LIBOBJ invocations to module description.
10256         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
10257         here...
10258         * modules/wcspbrk (configure.ac): ... to here.
10259
10260 2011-05-22  Bruno Haible  <bruno@clisp.org>
10261
10262         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
10263         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
10264         gl_PREREQ_WCSNRTOMBS invocations from here...
10265         * modules/wcsnrtombs (configure.ac): ... to here.
10266
10267 2011-05-22  Bruno Haible  <bruno@clisp.org>
10268
10269         wcsnlen: Move AC_LIBOBJ invocations to module description.
10270         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
10271         here...
10272         * modules/wcsnlen (configure.ac): ... to here.
10273
10274 2011-05-22  Bruno Haible  <bruno@clisp.org>
10275
10276         wcsncpy: Move AC_LIBOBJ invocations to module description.
10277         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
10278         here...
10279         * modules/wcsncpy (configure.ac): ... to here.
10280
10281 2011-05-22  Bruno Haible  <bruno@clisp.org>
10282
10283         wcsncmp: Move AC_LIBOBJ invocations to module description.
10284         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
10285         here...
10286         * modules/wcsncmp (configure.ac): ... to here.
10287
10288 2011-05-22  Bruno Haible  <bruno@clisp.org>
10289
10290         wcsncat: Move AC_LIBOBJ invocations to module description.
10291         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
10292         here...
10293         * modules/wcsncat (configure.ac): ... to here.
10294
10295 2011-05-22  Bruno Haible  <bruno@clisp.org>
10296
10297         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
10298         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
10299         from here...
10300         * modules/wcsncasecmp (configure.ac): ... to here.
10301
10302 2011-05-22  Bruno Haible  <bruno@clisp.org>
10303
10304         wcslen: Move AC_LIBOBJ invocations to module description.
10305         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
10306         * modules/wcslen (configure.ac): ... to here.
10307
10308 2011-05-22  Bruno Haible  <bruno@clisp.org>
10309
10310         wcsdup: Move AC_LIBOBJ invocations to module description.
10311         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
10312         * modules/wcsdup (configure.ac): ... to here.
10313
10314 2011-05-22  Bruno Haible  <bruno@clisp.org>
10315
10316         wcscspn: Move AC_LIBOBJ invocations to module description.
10317         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
10318         here...
10319         * modules/wcscspn (configure.ac): ... to here.
10320
10321 2011-05-22  Bruno Haible  <bruno@clisp.org>
10322
10323         wcscpy: Move AC_LIBOBJ invocations to module description.
10324         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
10325         * modules/wcscpy (configure.ac): ... to here.
10326
10327 2011-05-22  Bruno Haible  <bruno@clisp.org>
10328
10329         wcscoll: Move AC_LIBOBJ invocations to module description.
10330         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
10331         here...
10332         * modules/wcscoll (configure.ac): ... to here.
10333
10334 2011-05-22  Bruno Haible  <bruno@clisp.org>
10335
10336         wcscmp: Move AC_LIBOBJ invocations to module description.
10337         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
10338         * modules/wcscmp (configure.ac): ... to here.
10339
10340 2011-05-22  Bruno Haible  <bruno@clisp.org>
10341
10342         wcschr: Move AC_LIBOBJ invocations to module description.
10343         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
10344         * modules/wcschr (configure.ac): ... to here.
10345
10346 2011-05-22  Bruno Haible  <bruno@clisp.org>
10347
10348         wcscat: Move AC_LIBOBJ invocations to module description.
10349         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
10350         * modules/wcscat (configure.ac): ... to here.
10351
10352 2011-05-22  Bruno Haible  <bruno@clisp.org>
10353
10354         wcscasecmp: Move AC_LIBOBJ invocations to module description.
10355         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
10356         here...
10357         * modules/wcscasecmp (configure.ac): ... to here.
10358
10359 2011-05-22  Bruno Haible  <bruno@clisp.org>
10360
10361         wcrtomb: Move AC_LIBOBJ invocations to module description.
10362         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
10363         invocations from here...
10364         * modules/wcrtomb (configure.ac): ... to here.
10365
10366 2011-05-22  Bruno Haible  <bruno@clisp.org>
10367
10368         wcpncpy: Move AC_LIBOBJ invocations to module description.
10369         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
10370         here...
10371         * modules/wcpncpy (configure.ac): ... to here.
10372
10373 2011-05-22  Bruno Haible  <bruno@clisp.org>
10374
10375         wcpcpy: Move AC_LIBOBJ invocations to module description.
10376         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
10377         * modules/wcpcpy (configure.ac): ... to here.
10378
10379 2011-05-22  Bruno Haible  <bruno@clisp.org>
10380
10381         waitpid: Move AC_LIBOBJ invocations to module description.
10382         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
10383         invocation from here...
10384         * modules/waitpid (configure.ac): ... to here.
10385
10386 2011-05-22  Bruno Haible  <bruno@clisp.org>
10387
10388         utimensat: Move AC_LIBOBJ invocations to module description.
10389         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
10390         here...
10391         * modules/utimensat (configure.ac): ... to here.
10392
10393 2011-05-22  Bruno Haible  <bruno@clisp.org>
10394
10395         usleep: Move AC_LIBOBJ invocations to module description.
10396         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
10397         here...
10398         * modules/usleep (configure.ac): ... to here.
10399
10400 2011-05-22  Bruno Haible  <bruno@clisp.org>
10401
10402         unlockpt: Move AC_LIBOBJ invocations to module description.
10403         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
10404         gl_PREREQ_UNLOCKPT invocations from here...
10405         * modules/unlockpt (configure.ac): ... to here.
10406
10407 2011-05-22  Bruno Haible  <bruno@clisp.org>
10408
10409         unlink: Respect rules for use of AC_LIBOBJ.
10410         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
10411         * modules/unlink (configure.ac): ... to here.
10412
10413 2011-05-22  Bruno Haible  <bruno@clisp.org>
10414
10415         uname: Move AC_LIBOBJ invocations to module description.
10416         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
10417         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
10418         here...
10419         * modules/uname (configure.ac): ... to here.
10420
10421 2011-05-22  Bruno Haible  <bruno@clisp.org>
10422
10423         ttyname_r: Move AC_LIBOBJ invocations to module description.
10424         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
10425         gl_PREREQ_TTYNAME_R invocations from here...
10426         * modules/ttyname_r (configure.ac): ... to here.
10427
10428 2011-05-22  Bruno Haible  <bruno@clisp.org>
10429
10430         tsearch: Move AC_LIBOBJ invocations to module description.
10431         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
10432         invocations from here...
10433         * modules/tsearch (configure.ac): ... to here.
10434
10435 2011-05-22  Bruno Haible  <bruno@clisp.org>
10436
10437         towctrans: Move AC_LIBOBJ invocations to module description.
10438         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
10439         AC_LIBOBJ invocation from here...
10440         * modules/towctrans (configure.ac): ... to here.
10441
10442 2011-05-22  Bruno Haible  <bruno@clisp.org>
10443
10444         tmpfile: Move AC_LIBOBJ invocations to module description.
10445         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
10446         invocations from here...
10447         * modules/tmpfile (configure.ac): ... to here.
10448
10449 2011-05-22  Bruno Haible  <bruno@clisp.org>
10450
10451         times: Move AC_LIBOBJ invocations to module description.
10452         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
10453         * modules/times (configure.ac): ... to here.
10454
10455 2011-05-22  Bruno Haible  <bruno@clisp.org>
10456
10457         time_r: Move AC_LIBOBJ invocations to module description.
10458         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
10459         invocations from here...
10460         * modules/time_r (configure.ac): ... to here.
10461
10462 2011-05-22  Bruno Haible  <bruno@clisp.org>
10463
10464         timegm: Move AC_LIBOBJ invocations to module description.
10465         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
10466         invocations from here...
10467         * modules/timegm (configure.ac): ... to here.
10468
10469 2011-05-22  Bruno Haible  <bruno@clisp.org>
10470
10471         tcgetsid: Move AC_LIBOBJ invocations to module description.
10472         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
10473         and gl_PREREQ_TCGETSID invocations from here...
10474         * modules/tcgetsid (configure.ac): ... to here.
10475         (Depends-on): Update conditions.
10476
10477 2011-05-22  Bruno Haible  <bruno@clisp.org>
10478
10479         symlinkat: Move AC_LIBOBJ invocations to module description.
10480         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
10481         here...
10482         * modules/symlinkat (configure.ac): ... to here.
10483
10484 2011-05-22  Bruno Haible  <bruno@clisp.org>
10485
10486         symlink: Move AC_LIBOBJ invocations to module description.
10487         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
10488         here...
10489         * modules/symlink (configure.ac): ... to here.
10490
10491 2011-05-22  Bruno Haible  <bruno@clisp.org>
10492
10493         strverscmp: Move AC_LIBOBJ invocations to module description.
10494         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
10495         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
10496         from here...
10497         * modules/strverscmp (configure.ac): ... to here.
10498
10499 2011-05-22  Bruno Haible  <bruno@clisp.org>
10500
10501         strtok_r: Move AC_LIBOBJ invocations to module description.
10502         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
10503         and gl_PREREQ_STRTOK_R invocations from here...
10504         * modules/strtok_r (configure.ac): ... to here.
10505         (Depends-on): Update conditions.
10506
10507 2011-05-22  Bruno Haible  <bruno@clisp.org>
10508
10509         strtoumax: Move AC_LIBOBJ invocations to module description.
10510         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
10511         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
10512         from here...
10513         * modules/strtoumax (configure.ac): ... to here.
10514
10515 2011-05-22  Bruno Haible  <bruno@clisp.org>
10516
10517         strtoimax: Move AC_LIBOBJ invocations to module description.
10518         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
10519         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
10520         from here...
10521         * modules/strtoimax (configure.ac): ... to here.
10522
10523 2011-05-22  Bruno Haible  <bruno@clisp.org>
10524
10525         strtoull: Move AC_LIBOBJ invocations to module description.
10526         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
10527         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
10528         from here...
10529         * modules/strtoull (configure.ac): ... to here.
10530
10531 2011-05-22  Bruno Haible  <bruno@clisp.org>
10532
10533         strtoll: Move AC_LIBOBJ invocations to module description.
10534         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
10535         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
10536         here...
10537         * modules/strtoll (configure.ac): ... to here.
10538
10539 2011-05-22  Bruno Haible  <bruno@clisp.org>
10540
10541         strtoul: Move AC_LIBOBJ invocations to module description.
10542         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
10543         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10544         * modules/strtoul (configure.ac): ... to here.
10545
10546 2011-05-22  Bruno Haible  <bruno@clisp.org>
10547
10548         strtol: Move AC_LIBOBJ invocations to module description.
10549         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
10550         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10551         * modules/strtol (configure.ac): ... to here.
10552
10553 2011-05-22  Bruno Haible  <bruno@clisp.org>
10554
10555         strtod: Move AC_LIBOBJ invocations to module description.
10556         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
10557         invocations from here...
10558         * modules/strtod (configure.ac): ... to here.
10559
10560 2011-05-22  Bruno Haible  <bruno@clisp.org>
10561
10562         strstr*: Move AC_LIBOBJ invocations to module description.
10563         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
10564         invocations from here...
10565         * modules/strstr-simple (configure.ac): ... to here.
10566         * modules/strstr (configure.ac): ... and here.
10567
10568 2011-05-22  Bruno Haible  <bruno@clisp.org>
10569
10570         strsignal: Move AC_LIBOBJ invocations to module description.
10571         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
10572         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
10573         * modules/strsignal (configure.ac): ... to here.
10574         (Depends-on): Update conditions.
10575
10576 2011-05-22  Bruno Haible  <bruno@clisp.org>
10577
10578         strsep: Move AC_LIBOBJ invocations to module description.
10579         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
10580         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
10581         here...
10582         * modules/strsep (configure.ac): ... to here.
10583
10584 2011-05-22  Bruno Haible  <bruno@clisp.org>
10585
10586         strptime: Move AC_LIBOBJ invocations to module description.
10587         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
10588         gl_PREREQ_STRPTIME invocations from here...
10589         * modules/strptime (configure.ac): ... to here.
10590
10591 2011-05-22  Bruno Haible  <bruno@clisp.org>
10592
10593         strpbrk: Move AC_LIBOBJ invocations to module description.
10594         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
10595         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
10596         here...
10597         * modules/strpbrk (configure.ac): ... to here.
10598
10599 2011-05-22  Bruno Haible  <bruno@clisp.org>
10600
10601         strnlen: Move AC_LIBOBJ invocations to module description.
10602         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
10603         invocations from here...
10604         * modules/strnlen (configure.ac): ... to here.
10605
10606 2011-05-22  Bruno Haible  <bruno@clisp.org>
10607
10608         strndup: Move AC_LIBOBJ invocations to module description.
10609         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
10610         invocations from here...
10611         * modules/strndup (configure.ac): ... to here.
10612         (Depends-on): Update conditions.
10613
10614 2011-05-22  Bruno Haible  <bruno@clisp.org>
10615
10616         strncat: Move AC_LIBOBJ invocations to module description.
10617         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
10618         invocations from here...
10619         * modules/strncat (configure.ac): ... to here.
10620
10621 2011-05-22  Bruno Haible  <bruno@clisp.org>
10622
10623         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
10624         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
10625         invocations from here...
10626         * modules/strdup (configure.ac): ... to here.
10627         * modules/strdup-posix (configure.ac): ... and here.
10628
10629 2011-05-22  Bruno Haible  <bruno@clisp.org>
10630
10631         strcspn: Move AC_LIBOBJ invocations to module description.
10632         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
10633         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
10634         here...
10635         * modules/strcspn (configure.ac): ... to here.
10636
10637 2011-05-22  Bruno Haible  <bruno@clisp.org>
10638
10639         strchrnul: Move AC_LIBOBJ invocations to module description.
10640         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
10641         gl_PREREQ_STRCHRNUL invocations from here...
10642         * modules/strchrnul (configure.ac): ... to here.
10643
10644 2011-05-22  Bruno Haible  <bruno@clisp.org>
10645
10646         strcasestr*: Move AC_LIBOBJ invocations to module description.
10647         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10648         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
10649         * modules/strcasestr-simple (configure.ac): ... to here.
10650         * modules/strcasestr (configure.ac): ... and here.
10651
10652 2011-05-22  Bruno Haible  <bruno@clisp.org>
10653
10654         strcase: Move AC_LIBOBJ invocations to module description.
10655         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
10656         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
10657         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
10658         gl_PREREQ_STRNCASECMP invocations from here...
10659         * modules/strcase (configure.ac): ... to here.
10660
10661 2011-05-22  Bruno Haible  <bruno@clisp.org>
10662
10663         stpncpy: Move AC_LIBOBJ invocations to module description.
10664         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
10665         here...
10666         * modules/stpncpy (configure.ac): ... to here.
10667
10668 2011-05-22  Bruno Haible  <bruno@clisp.org>
10669
10670         stpcpy: Move AC_LIBOBJ invocations to module description.
10671         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
10672         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
10673         here...
10674         * modules/stpcpy (configure.ac): ... to here.
10675
10676 2011-05-21  Bruno Haible  <bruno@clisp.org>
10677
10678         stat: Move AC_LIBOBJ invocations to module description.
10679         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
10680         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
10681         here...
10682         * modules/stat (configure.ac): ... to here.
10683
10684 2011-05-21  Bruno Haible  <bruno@clisp.org>
10685
10686         sleep: Move AC_LIBOBJ invocations to module description.
10687         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
10688         * modules/sleep (configure.ac): ... to here.
10689
10690 2011-05-21  Bruno Haible  <bruno@clisp.org>
10691
10692         signbit: Move AC_LIBOBJ invocations to module description.
10693         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
10694         * modules/signbit (configure.ac): ... to here.
10695
10696 2011-05-21  Bruno Haible  <bruno@clisp.org>
10697
10698         sigprocmask: Move AC_LIBOBJ invocations to module description.
10699         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
10700         gl_PREREQ_SIGPROMASK invocations from here...
10701         * modules/sigprocmask (configure.ac): ... to here.
10702
10703 2011-05-21  Bruno Haible  <bruno@clisp.org>
10704
10705         sigaction: Move AC_LIBOBJ invocations to module description.
10706         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
10707         gl_PREREQ_SIGACTION invocations from here...
10708         * modules/sigaction (configure.ac): ... to here.
10709
10710 2011-05-21  Bruno Haible  <bruno@clisp.org>
10711
10712         sig2str: Move AC_LIBOBJ invocations to module description.
10713         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
10714         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
10715         here...
10716         * modules/sig2str (configure.ac): ... to here.
10717
10718 2011-05-21  Bruno Haible  <bruno@clisp.org>
10719
10720         setlocale: Move AC_LIBOBJ invocations to module description.
10721         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
10722         gl_PREREQ_SETLOCALE invocations from here...
10723         * modules/setlocale (configure.ac): ... to here.
10724
10725 2011-05-21  Bruno Haible  <bruno@clisp.org>
10726
10727         unsetenv: Move AC_LIBOBJ invocations to module description.
10728         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
10729         and gl_PREREQ_UNSETENV invocations from here...
10730         * modules/unsetenv (configure.ac): ... to here.
10731         (Depends-on): Update.
10732
10733 2011-05-21  Bruno Haible  <bruno@clisp.org>
10734
10735         setenv: Move AC_LIBOBJ invocations to module description.
10736         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
10737         here...
10738         * modules/setenv (configure.ac): ... to here.
10739
10740 2011-05-21  Bruno Haible  <bruno@clisp.org>
10741
10742         selinux-h: Move AC_LIBOBJ invocations to module description.
10743         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
10744         AC_LIBOBJ invocation from here...
10745         * modules/selinux-h (configure.ac): ... to here.
10746
10747 2011-05-21  Bruno Haible  <bruno@clisp.org>
10748
10749         select: Respect rules for use of AC_LIBOBJ.
10750         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
10751         here...
10752         * modules/select (configure.ac): ... to here.
10753
10754 2011-05-21  Bruno Haible  <bruno@clisp.org>
10755
10756         scandir: Move AC_LIBOBJ invocations to module description.
10757         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
10758         invocations from here...
10759         * modules/scandir (configure.ac): ... to here.
10760
10761 2011-05-21  Bruno Haible  <bruno@clisp.org>
10762
10763         rpmatch: Move AC_LIBOBJ invocations to module description.
10764         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
10765         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
10766         here...
10767         * modules/rpmatch (configure.ac): ... to here.
10768
10769 2011-05-21  Bruno Haible  <bruno@clisp.org>
10770
10771         rmdir: Respect rules for use of AC_LIBOBJ.
10772         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
10773         * modules/rmdir (configure.ac): ... to here.
10774
10775 2011-05-21  Bruno Haible  <bruno@clisp.org>
10776
10777         renameat: Move AC_LIBOBJ invocations to module description.
10778         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
10779         here...
10780         * modules/renameat (configure.ac): ... to here.
10781
10782 2011-05-21  Bruno Haible  <bruno@clisp.org>
10783
10784         rename: Respect rules for use of AC_LIBOBJ.
10785         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
10786         here...
10787         * modules/rename (configure.ac): ... to here.
10788
10789 2011-05-21  Bruno Haible  <bruno@clisp.org>
10790
10791         remove: Move AC_LIBOBJ invocations to module description.
10792         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
10793         here...
10794         * modules/remove (configure.ac): ... to here.
10795
10796 2011-05-21  Bruno Haible  <bruno@clisp.org>
10797
10798         relocatable-lib: Move AC_LIBOBJ invocations to module description.
10799         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
10800         macro.
10801         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
10802         * modules/relocatable-lib (configure.ac): ... to here.
10803         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10804         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
10805
10806 2011-05-21  Bruno Haible  <bruno@clisp.org>
10807
10808         relocatable-prog: Move AC_LIBOBJ invocations to module description.
10809         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
10810         here...
10811         * modules/relocatable-prog (configure.ac): ... to here.
10812
10813 2011-05-21  Bruno Haible  <bruno@clisp.org>
10814
10815         regex: Move AC_LIBOBJ invocations to module description.
10816         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
10817         invocations from here...
10818         * modules/regex (configure.ac): ... to here.
10819
10820 2011-05-21  Bruno Haible  <bruno@clisp.org>
10821
10822         realloc-*: Move AC_LIBOBJ invocations to module description.
10823         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
10824         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
10825         AC_LIBOBJ invocations from here...
10826         * modules/realloc-gnu (configure.ac): ... to here.
10827         * modules/realloc-posix (configure.ac): ... and here.
10828
10829 2011-05-21  Bruno Haible  <bruno@clisp.org>
10830
10831         readutmp: Move AC_LIBOBJ invocations to module description.
10832         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
10833         * modules/readutmp (configure.ac): ... to here.
10834
10835 2011-05-21  Bruno Haible  <bruno@clisp.org>
10836
10837         readlinkat: Move AC_LIBOBJ invocations to module description.
10838         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
10839         here...
10840         * modules/readlinkat (configure.ac): ... to here.
10841
10842 2011-05-21  Bruno Haible  <bruno@clisp.org>
10843
10844         readlink: Move AC_LIBOBJ invocations to module description.
10845         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
10846         gl_PREREQ_READLINK invocations from here...
10847         * modules/readlink (configure.ac): ... to here.
10848
10849 2011-05-21  Bruno Haible  <bruno@clisp.org>
10850
10851         readline: Move AC_LIBOBJ invocations to module description.
10852         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
10853         gl_PREREQ_READLINE invocations from here...
10854         * modules/readline (configure.ac): ... to here.
10855
10856 2011-05-21  Bruno Haible  <bruno@clisp.org>
10857
10858         read: Move AC_LIBOBJ invocations to module description.
10859         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
10860         * modules/read (configure.ac): ... to here.
10861
10862 2011-05-21  Bruno Haible  <bruno@clisp.org>
10863
10864         rawmemchr: Move AC_LIBOBJ invocations to module description.
10865         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
10866         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
10867         from here...
10868         * modules/rawmemchr (configure.ac): ... to here.
10869
10870 2011-05-21  Bruno Haible  <bruno@clisp.org>
10871
10872         random_r: Move AC_LIBOBJ invocations to module description.
10873         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
10874         gl_PREREQ_RANDOM_R invocations from here...
10875         * modules/random_r (configure.ac): ... to here.
10876
10877 2011-05-21  Bruno Haible  <bruno@clisp.org>
10878
10879         pwrite: Move AC_LIBOBJ invocations to module description.
10880         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
10881         * modules/pwrite (configure.ac): ... to here.
10882
10883 2011-05-21  Bruno Haible  <bruno@clisp.org>
10884
10885         putenv: Move AC_LIBOBJ invocations to module description.
10886         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
10887         * modules/putenv (configure.ac): ... to here.
10888
10889 2011-05-21  Bruno Haible  <bruno@clisp.org>
10890
10891         login_tty: Move AC_LIBOBJ invocations to module description.
10892         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
10893         * modules/login_tty (configure.ac): ... to here.
10894
10895 2011-05-21  Bruno Haible  <bruno@clisp.org>
10896
10897         openpty: Move AC_LIBOBJ invocations to module description.
10898         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
10899         * modules/openpty (configure.ac): ... to here.
10900
10901 2011-05-21  Bruno Haible  <bruno@clisp.org>
10902
10903         forkpty: Move AC_LIBOBJ invocations to module description.
10904         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
10905         * modules/forkpty (configure.ac): ... to here.
10906
10907 2011-05-21  Bruno Haible  <bruno@clisp.org>
10908
10909         ptsname: Move AC_LIBOBJ invocations to module description.
10910         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
10911         invocations from here...
10912         * modules/ptsname (configure.ac): ... to here.
10913
10914 2011-05-21  Bruno Haible  <bruno@clisp.org>
10915
10916         pread: Move AC_LIBOBJ invocations to module description.
10917         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
10918         * modules/pread (configure.ac): ... to here.
10919
10920 2011-05-21  Bruno Haible  <bruno@clisp.org>
10921
10922         posix_spawn*: Move AC_LIBOBJ invocations to module description.
10923         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
10924         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
10925         * modules/posix_spawn (configure.ac): ... to here.
10926         * modules/posix_spawnp (configure.ac): ... and here.
10927
10928 2011-05-21  Bruno Haible  <bruno@clisp.org>
10929
10930         popen: Move AC_LIBOBJ invocations to module description.
10931         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
10932         invocations from here...
10933         * modules/popen (configure.ac): ... to here.
10934
10935 2011-05-21  Bruno Haible  <bruno@clisp.org>
10936
10937         poll: Move AC_LIBOBJ invocations to module description.
10938         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
10939         invocations from here...
10940         * modules/poll (configure.ac): ... to here.
10941
10942 2011-05-21  Bruno Haible  <bruno@clisp.org>
10943
10944         pipe-posix: Move AC_LIBOBJ invocations to module description.
10945         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
10946         * modules/pipe-posix (configure.ac): ... to here.
10947
10948 2011-05-21  Bruno Haible  <bruno@clisp.org>
10949
10950         openat: Respect rules for use of AC_LIBOBJ.
10951         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
10952         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10953         * modules/openat (configure.ac): ... to here.
10954
10955 2011-05-21  Bruno Haible  <bruno@clisp.org>
10956
10957         obstack-printf*: Move AC_LIBOBJ invocations to module description.
10958         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
10959         invocation from here...
10960         * modules/obstack-printf (configure.ac): ... to here.
10961         * modules/obstack-printf-posix (configure.ac): ... and here.
10962
10963 2011-05-21  Bruno Haible  <bruno@clisp.org>
10964
10965         nl_langinfo: Move AC_LIBOBJ invocations to module description.
10966         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
10967         from here...
10968         * modules/nl_langinfo (configure.ac): ... to here.
10969
10970 2011-05-21  Bruno Haible  <bruno@clisp.org>
10971
10972         nanosleep: Move AC_LIBOBJ invocations to module description.
10973         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
10974         gl_PREREQ_NANOSLEEP invocations from here...
10975         * modules/nanosleep (configure.ac): ... to here.
10976
10977 2011-05-21  Bruno Haible  <bruno@clisp.org>
10978
10979         mountlist: Move AC_LIBOBJ invocations to module description.
10980         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
10981         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
10982         * modules/mountlist (configure.ac): ... to here.
10983
10984 2011-05-21  Bruno Haible  <bruno@clisp.org>
10985
10986         mktime: Respect rules for use of AC_LIBOBJ.
10987         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
10988         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
10989         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
10990         (gl_FUNC_MKTIME_INTERNAL): ... and here...
10991         * modules/mktime (configure.ac): ... to here.
10992         * modules/mktime-internal (configure.ac): ... and here.
10993         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
10994
10995 2011-05-21  Bruno Haible  <bruno@clisp.org>
10996
10997         mkstemps: Move AC_LIBOBJ invocations to module description.
10998         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
10999         here...
11000         * modules/mkstemps (configure.ac): ... to here.
11001
11002 2011-05-21  Bruno Haible  <bruno@clisp.org>
11003
11004         mkstemp: Move AC_LIBOBJ invocations to module description.
11005         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
11006         gl_PREREQ_MKSTEMP invocations from here...
11007         * modules/mkstemp (configure.ac): ... to here.
11008
11009 2011-05-21  Bruno Haible  <bruno@clisp.org>
11010
11011         mkostemps: Move AC_LIBOBJ invocations to module description.
11012         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
11013         here...
11014         * modules/mkostemps (configure.ac): ... to here.
11015
11016 2011-05-21  Bruno Haible  <bruno@clisp.org>
11017
11018         mkostemp: Move AC_LIBOBJ invocations to module description.
11019         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
11020         gl_PREREQ_MKOSTEMP invocations from here...
11021         * modules/mkostemp (configure.ac): ... to here.
11022
11023 2011-05-21  Bruno Haible  <bruno@clisp.org>
11024
11025         mknod: Move AC_LIBOBJ invocations to module description.
11026         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
11027         * modules/mknod (configure.ac): ... to here.
11028
11029 2011-05-21  Bruno Haible  <bruno@clisp.org>
11030
11031         mkfifoat: Move AC_LIBOBJ invocations to module description.
11032         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
11033         here...
11034         * modules/mkfifoat (configure.ac): ... to here.
11035
11036 2011-05-21  Bruno Haible  <bruno@clisp.org>
11037
11038         mkfifo: Respect rules for use of AC_LIBOBJ.
11039         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
11040         here...
11041         * modules/mkfifo (configure.ac): ... to here.
11042
11043 2011-05-21  Bruno Haible  <bruno@clisp.org>
11044
11045         mkdtemp: Move AC_LIBOBJ invocations to module description.
11046         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
11047         invocations from here...
11048         * modules/mkdtemp (configure.ac): ... to here.
11049
11050 2011-05-21  Bruno Haible  <bruno@clisp.org>
11051
11052         mkdir: Move AC_LIBOBJ invocations to module description.
11053         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
11054         * modules/mkdir (configure.ac): ... to here.
11055
11056 2011-05-21  Bruno Haible  <bruno@clisp.org>
11057
11058         memset: Move AC_LIBOBJ invocations to module description.
11059         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
11060         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
11061         here...
11062         * modules/memset (configure.ac): ... to here.
11063
11064 2011-05-21  Bruno Haible  <bruno@clisp.org>
11065
11066         memrchr: Move AC_LIBOBJ invocations to module description.
11067         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
11068         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
11069         here...
11070         * modules/memrchr (configure.ac): ... to here.
11071
11072 2011-05-21  Bruno Haible  <bruno@clisp.org>
11073
11074         mempcpy: Move AC_LIBOBJ invocations to module description.
11075         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
11076         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
11077         here...
11078         * modules/mempcpy (configure.ac): ... to here.
11079
11080 2011-05-21  Bruno Haible  <bruno@clisp.org>
11081
11082         memmove: Move AC_LIBOBJ invocations to module description.
11083         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
11084         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
11085         here...
11086         * modules/memmove (configure.ac): ... to here.
11087
11088 2011-05-21  Bruno Haible  <bruno@clisp.org>
11089
11090         memmem*: Move AC_LIBOBJ invocations to module description.
11091         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
11092         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
11093         here...
11094         (gl_FUNC_MEMMEM): ... and here...
11095         * modules/memmem-simple (configure.ac): ... to here.
11096         * modules/memmem (configure.ac): ... and here.
11097
11098 2011-05-21  Bruno Haible  <bruno@clisp.org>
11099
11100         memcpy: Move AC_LIBOBJ invocations to module description.
11101         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
11102         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
11103         here...
11104         * modules/memcpy (configure.ac): ... to here.
11105
11106 2011-05-21  Bruno Haible  <bruno@clisp.org>
11107
11108         memcmp: Simplify autoconf macro.
11109         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
11110         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
11111         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
11112
11113 2011-05-21  Bruno Haible  <bruno@clisp.org>
11114
11115         memcmp: Move AC_LIBOBJ invocations to module description.
11116         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
11117         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
11118         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
11119         * modules/memcmp (configure.ac): ... to here.
11120         (Depends-on): Update conditions.
11121
11122 2011-05-21  Bruno Haible  <bruno@clisp.org>
11123
11124         memchr: Respect rules for use of AC_LIBOBJ.
11125         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
11126         invocations from here...
11127         * modules/memchr (configure.ac): ... to here.
11128
11129 2011-05-21  Bruno Haible  <bruno@clisp.org>
11130
11131         mbtowc: Move AC_LIBOBJ invocations to module description.
11132         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
11133         invocations from here...
11134         * modules/mbtowc (configure.ac): ... to here.
11135
11136 2011-05-21  Bruno Haible  <bruno@clisp.org>
11137
11138         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
11139         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
11140         gl_PREREQ_MBSRTOWCS invocations from here...
11141         * modules/mbsrtowcs (configure.ac): ... to here.
11142
11143 2011-05-21  Bruno Haible  <bruno@clisp.org>
11144
11145         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
11146         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
11147         gl_PREREQ_MBSNRTOWCS invocations from here...
11148         * modules/mbsnrtowcs (configure.ac): ... to here.
11149
11150 2011-05-21  Bruno Haible  <bruno@clisp.org>
11151
11152         mbsinit: Move AC_LIBOBJ invocations to module description.
11153         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
11154         invocations from here...
11155         * modules/mbsinit (configure.ac): ... to here.
11156
11157 2011-05-21  Bruno Haible  <bruno@clisp.org>
11158
11159         mbrlen: Move AC_LIBOBJ invocations to module description.
11160         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
11161         invocations from here...
11162         * modules/mbrlen (configure.ac): ... to here.
11163
11164 2011-05-21  Bruno Haible  <bruno@clisp.org>
11165
11166         mbrtowc: Respect rules for use of AC_LIBOBJ.
11167         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
11168         invocations from here...
11169         * modules/mbrtowc (configure.ac): ... to here.
11170
11171 2011-05-21  Bruno Haible  <bruno@clisp.org>
11172
11173         malloc-*: Move AC_LIBOBJ invocations to module description.
11174         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
11175         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
11176         AC_LIBOBJ invocations from here...
11177         * modules/malloc-gnu (configure.ac): ... to here.
11178         * modules/malloc-posix (configure.ac): ... and here.
11179
11180 2011-05-21  Bruno Haible  <bruno@clisp.org>
11181
11182         lstat, openat: Respect rules for use of AC_LIBOBJ.
11183         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
11184         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
11185         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
11186         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
11187         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
11188         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
11189         here.
11190         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
11191
11192 2011-05-21  Bruno Haible  <bruno@clisp.org>
11193
11194         lseek: Move AC_LIBOBJ invocations to module description.
11195         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
11196         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11197         * modules/lseek (configure.ac): ... to here.
11198
11199 2011-05-21  Bruno Haible  <bruno@clisp.org>
11200
11201         linkat: Move AC_LIBOBJ invocations to module description.
11202         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
11203         here...
11204         * modules/linkat (configure.ac): ... to here.
11205
11206 2011-05-21  Bruno Haible  <bruno@clisp.org>
11207
11208         link: Respect rules for use of AC_LIBOBJ.
11209         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
11210         * modules/link (configure.ac): ... to here.
11211
11212 2011-05-21  Bruno Haible  <bruno@clisp.org>
11213
11214         lchown: Move AC_LIBOBJ invocations to module description.
11215         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11216         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11217         * modules/lchown (configure.ac): ... to here.
11218
11219 2011-05-21  Bruno Haible  <bruno@clisp.org>
11220
11221         iswctype: Move AC_LIBOBJ invocations to module description.
11222         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
11223         here...
11224         * modules/iswctype (configure.ac): ... to here.
11225
11226 2011-05-21  Bruno Haible  <bruno@clisp.org>
11227
11228         iswblank: Move AC_LIBOBJ invocations to module description.
11229         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
11230         here...
11231         * modules/iswblank (configure.ac): ... to here.
11232
11233 2011-05-21  Bruno Haible  <bruno@clisp.org>
11234
11235         atanl: Move AC_LIBOBJ invocations to module description.
11236         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
11237         * modules/atanl (configure.ac): ... to here.
11238
11239 2011-05-21  Bruno Haible  <bruno@clisp.org>
11240
11241         acosl: Move AC_LIBOBJ invocations to module description.
11242         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
11243         * modules/acosl (configure.ac): ... to here.
11244
11245 2011-05-21  Bruno Haible  <bruno@clisp.org>
11246
11247         asinl: Respect rules for use of AC_LIBOBJ.
11248         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
11249         * modules/asinl (configure.ac): ... to here.
11250
11251 2011-05-21  Bruno Haible  <bruno@clisp.org>
11252
11253         tanl: Move AC_LIBOBJ invocations to module description.
11254         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
11255         * modules/tanl (configure.ac): ... to here.
11256
11257 2011-05-21  Bruno Haible  <bruno@clisp.org>
11258
11259         cosl: Move AC_LIBOBJ invocations to module description.
11260         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
11261         * modules/cosl (configure.ac): ... to here.
11262
11263 2011-05-21  Bruno Haible  <bruno@clisp.org>
11264
11265         sinl: Move AC_LIBOBJ invocations to module description.
11266         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
11267         * modules/sinl (configure.ac): ... to here.
11268
11269 2011-05-21  Bruno Haible  <bruno@clisp.org>
11270
11271         logl: Move AC_LIBOBJ invocations to module description.
11272         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
11273         * modules/logl (configure.ac): ... to here.
11274
11275 2011-05-21  Bruno Haible  <bruno@clisp.org>
11276
11277         expl: Move AC_LIBOBJ invocations to module description.
11278         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
11279         * modules/expl (configure.ac): ... to here.
11280
11281 2011-05-21  Bruno Haible  <bruno@clisp.org>
11282
11283         roundl: Move AC_LIBOBJ invocations to module description.
11284         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
11285         * modules/roundl (configure.ac): ... to here.
11286
11287 2011-05-21  Bruno Haible  <bruno@clisp.org>
11288
11289         round: Move AC_LIBOBJ invocations to module description.
11290         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
11291         * modules/round (configure.ac): ... to here.
11292
11293 2011-05-21  Bruno Haible  <bruno@clisp.org>
11294
11295         roundf: Move AC_LIBOBJ invocations to module description.
11296         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
11297         * modules/roundf (configure.ac): ... to here.
11298
11299 2011-05-21  Bruno Haible  <bruno@clisp.org>
11300
11301         truncl: Move AC_LIBOBJ invocations to module description.
11302         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
11303         * modules/truncl (configure.ac): ... to here.
11304
11305 2011-05-21  Bruno Haible  <bruno@clisp.org>
11306
11307         trunc: Move AC_LIBOBJ invocations to module description.
11308         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
11309         * modules/trunc (configure.ac): ... to here.
11310
11311 2011-05-21  Bruno Haible  <bruno@clisp.org>
11312
11313         truncf: Move AC_LIBOBJ invocations to module description.
11314         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
11315         * modules/truncf (configure.ac): ... to here.
11316
11317 2011-05-21  Bruno Haible  <bruno@clisp.org>
11318
11319         ceill: Move AC_LIBOBJ invocations to module description.
11320         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
11321         * modules/ceill (configure.ac): ... to here.
11322
11323 2011-05-21  Bruno Haible  <bruno@clisp.org>
11324
11325         ceil: Move AC_LIBOBJ invocations to module description.
11326         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
11327         * modules/ceil (configure.ac): ... to here.
11328
11329 2011-05-21  Bruno Haible  <bruno@clisp.org>
11330
11331         ceilf: Move AC_LIBOBJ invocations to module description.
11332         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
11333         * modules/ceilf (configure.ac): ... to here.
11334
11335 2011-05-21  Bruno Haible  <bruno@clisp.org>
11336
11337         floorl: Respect rules for use of AC_LIBOBJ.
11338         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
11339         * modules/floorl (configure.ac): ... to here.
11340
11341 2011-05-21  Bruno Haible  <bruno@clisp.org>
11342
11343         floor: Respect rules for use of AC_LIBOBJ.
11344         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
11345         * modules/floor (configure.ac): ... to here.
11346
11347 2011-05-21  Bruno Haible  <bruno@clisp.org>
11348
11349         floorf: Move AC_LIBOBJ invocations to module description.
11350         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
11351         * modules/floorf (configure.ac): ... to here.
11352
11353 2011-05-20  Bruno Haible  <bruno@clisp.org>
11354
11355         sqrtl: Respect rules for use of AC_LIBOBJ.
11356         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
11357         * modules/sqrtl (configure.ac): ... to here.
11358
11359 2011-05-20  Bruno Haible  <bruno@clisp.org>
11360
11361         ldexpl: Respect rules for use of AC_LIBOBJ.
11362         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
11363         * modules/ldexpl (configure.ac): ... to here.
11364
11365 2011-05-20  Bruno Haible  <bruno@clisp.org>
11366
11367         frexpl*: Respect rules for use of AC_LIBOBJ.
11368         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
11369         invocation from here...
11370         * modules/frexpl (configure.ac): ... to here.
11371         * modules/frexpl-nolibm (configure.ac): ... and here.
11372
11373 2011-05-20  Bruno Haible  <bruno@clisp.org>
11374
11375         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
11376         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
11377         invocation from here...
11378         * modules/frexp (configure.ac): ... to here.
11379         * modules/frexp-nolibm (configure.ac): ... and here.
11380
11381 2011-05-20  Bruno Haible  <bruno@clisp.org>
11382
11383         isnan: Respect rules for use of AC_LIBOBJ.
11384         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
11385         invocations here.
11386         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
11387         REPLACE_ISNAN.
11388         * modules/isnand (configure.ac): Likewise.
11389         * modules/isnanl (configure.ac): Likewise.
11390
11391 2011-05-20  Bruno Haible  <bruno@clisp.org>
11392
11393         isnanl*: Respect rules for use of AC_LIBOBJ.
11394         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
11395         invocation from here...
11396         * modules/isnanl (configure.ac): ... to here.
11397         * modules/isnanl-nolibm (configure.ac): ... and here.
11398
11399 2011-05-20  Bruno Haible  <bruno@clisp.org>
11400
11401         isnand*: Move AC_LIBOBJ invocations to module description.
11402         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
11403         invocation from here...
11404         * modules/isnand (configure.ac): ... to here.
11405         * modules/isnand-nolibm (configure.ac): ... and here.
11406
11407 2011-05-20  Bruno Haible  <bruno@clisp.org>
11408
11409         isnanf*: Move AC_LIBOBJ invocations to module description.
11410         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
11411         invocation from here...
11412         * modules/isnanf (configure.ac): ... to here.
11413         * modules/isnanf-nolibm (configure.ac): ... and here.
11414
11415 2011-05-20  Bruno Haible  <bruno@clisp.org>
11416
11417         isnan*: Separate the AC_LIBOBJ invocations.
11418         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
11419         AC_LIBOBJ invocation.
11420         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
11421         here.
11422         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
11423         AC_LIBOBJ invocation.
11424         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
11425         here.
11426         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
11427         AC_LIBOBJ invocation.
11428         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
11429         here.
11430         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
11431
11432 2011-05-08  Bruno Haible  <bruno@clisp.org>
11433
11434         isinf: Move AC_LIBOBJ invocations to module description.
11435         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
11436         * modules/isinf (configure.ac): ... to here.
11437
11438 2011-05-08  Bruno Haible  <bruno@clisp.org>
11439
11440         isfinite: Move AC_LIBOBJ invocations to module description.
11441         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
11442         * modules/isfinite (configure.ac): ... to here.
11443
11444 2011-05-08  Bruno Haible  <bruno@clisp.org>
11445
11446         isblank: Move AC_LIBOBJ invocations to module description.
11447         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
11448         here...
11449         * modules/isblank (configure.ac): ... to here.
11450
11451 2011-05-08  Bruno Haible  <bruno@clisp.org>
11452
11453         isapipe: Move AC_LIBOBJ invocations to module description.
11454         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
11455         gl_PREREQ_ISAPIPE invocations from here...
11456         * modules/isapipe (configure.ac): ... to here.
11457         (Depends-on): Update condition.
11458
11459 2011-05-08  Bruno Haible  <bruno@clisp.org>
11460
11461         ioctl: Move AC_LIBOBJ invocations to module description.
11462         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
11463         invocations from here...
11464         * modules/ioctl (configure.ac): ... to here.
11465         (Depends-on): Update condition.
11466
11467 2011-05-08  Bruno Haible  <bruno@clisp.org>
11468
11469         imaxdiv: Move AC_LIBOBJ invocations to module description.
11470         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
11471         invocations from here...
11472         * modules/imaxdiv (configure.ac): ... to here.
11473
11474 2011-05-08  Bruno Haible  <bruno@clisp.org>
11475
11476         imaxabs: Move AC_LIBOBJ invocations to module description.
11477         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
11478         invocations from here...
11479         * modules/imaxabs (configure.ac): ... to here.
11480
11481 2011-05-08  Bruno Haible  <bruno@clisp.org>
11482
11483         getaddrinfo: Move AC_LIBOBJ invocations to module description.
11484         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
11485         AC_LIBOBJ invocations from here...
11486         * modules/getaddrinfo (configure.ac): ... to here.
11487         (Depends-on): Add conditions.
11488
11489 2011-05-08  Bruno Haible  <bruno@clisp.org>
11490
11491         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11492         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
11493         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11494         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
11495         (gl_PREREQ_INET_PTON): ... from here.
11496         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
11497         gl_PREREQ_INET_PTON here.
11498         (Depends-on): Update condition.
11499
11500 2011-05-08  Bruno Haible  <bruno@clisp.org>
11501
11502         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11503         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
11504         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11505         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
11506         (gl_PREREQ_INET_NTOP): ... from here.
11507         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
11508         gl_PREREQ_INET_NTOP here.
11509         (Depends-on): Update condition.
11510
11511 2011-05-08  Bruno Haible  <bruno@clisp.org>
11512
11513         iconv_open: Move AC_LIBOBJ invocations to module description.
11514         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
11515         AC_LIBOBJ invocations from here...
11516         * modules/iconv_open (configure.ac): ... to here.
11517
11518 2011-05-08  Bruno Haible  <bruno@clisp.org>
11519
11520         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
11521         If module 'iconv_open' is among the main modules and module
11522         'iconv_open-utf' is among the tests dependencies, then
11523         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
11524         return the special iconv_t values. Therefore iconv() and iconv_close()
11525         must support these special iconv_t values, already in lib, not only in
11526         tests.
11527         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
11528         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
11529         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
11530         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
11531         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
11532         (Depends-on): Add the dependencies of iconv_open-utf.
11533         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
11534         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
11535         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
11536
11537 2011-05-08  Bruno Haible  <bruno@clisp.org>
11538
11539         group-member: Move AC_LIBOBJ invocations to module description.
11540         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
11541         gl_PREREQ_GROUP_MEMBER invocations from here...
11542         * modules/group-member (configure.ac): ... to here.
11543
11544 2011-05-08  Bruno Haible  <bruno@clisp.org>
11545
11546         grantpt: Move AC_LIBOBJ invocations to module description.
11547         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
11548         invocations from here...
11549         * modules/grantpt (configure.ac): ... to here.
11550
11551 2011-05-08  Bruno Haible  <bruno@clisp.org>
11552
11553         glob: Move AC_LIBOBJ invocations to module description.
11554         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
11555         from here...
11556         * modules/glob (configure.ac): ... to here.
11557
11558 2011-05-08  Bruno Haible  <bruno@clisp.org>
11559
11560         getusershell: Move AC_LIBOBJ invocations to module description.
11561         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
11562         Move AC_LIBOBJ invocation from here...
11563         * modules/getusershell (configure.ac): ... to here.
11564         (Depends-on): Update condition.
11565
11566 2011-05-08  Bruno Haible  <bruno@clisp.org>
11567
11568         gettimeofday: Move AC_LIBOBJ invocations to module description.
11569         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11570         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
11571         gl_PREREQ_GETTIMEOFDAY invocations from here...
11572         * modules/gettimeofday (configure.ac): ... to here.
11573
11574 2011-05-08  Bruno Haible  <bruno@clisp.org>
11575
11576         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
11577         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
11578         just gl_FUNC_TZSET.
11579         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
11580         (gl_FUNC_TZSET_CLOBBER): Remove actions.
11581         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
11582         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
11583
11584 2011-05-08  Bruno Haible  <bruno@clisp.org>
11585
11586         getsubopt: Move AC_LIBOBJ invocations to module description.
11587         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
11588         gl_PREREQ_GETSUBOPT invocations from here...
11589         * modules/getsubopt (configure.ac): ... to here.
11590
11591 2011-05-08  Bruno Haible  <bruno@clisp.org>
11592
11593         getpass-gnu: Move AC_LIBOBJ invocations to module description.
11594         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
11595         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
11596         * modules/getpass-gnu (configure.ac): ... to here.
11597
11598 2011-05-08  Bruno Haible  <bruno@clisp.org>
11599
11600         getpass: Move AC_LIBOBJ invocations to module description.
11601         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
11602         gl_PREREQ_GETPASS invocations from here...
11603         * modules/getpass (configure.ac): ... to here.
11604
11605 2011-05-08  Bruno Haible  <bruno@clisp.org>
11606
11607         getpagesize: Move AC_LIBOBJ invocations to module description.
11608         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
11609         from here...
11610         * modules/getpagesize (configure.ac): ... to here.
11611
11612 2011-05-08  Bruno Haible  <bruno@clisp.org>
11613
11614         getopt: Move AC_LIBOBJ invocations to module description.
11615         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
11616         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
11617         invocations from here...
11618         * modules/getopt-gnu (configure.ac): ... to here.
11619         * modules/getopt-posix (configure.ac): ... and here.
11620         (Depends-on): Update condition.
11621
11622 2011-05-08  Bruno Haible  <bruno@clisp.org>
11623
11624         getopt, argp: Respect rules for use of AC_LIBOBJ.
11625         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
11626         (gl_REPLACE_GETOPT_ALWAYS): New macro.
11627         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
11628         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
11629
11630 2011-05-08  Bruno Haible  <bruno@clisp.org>
11631
11632         getlogin_r: Move AC_LIBOBJ invocations to module description.
11633         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
11634         gl_PREREQ_GETLOGIN_R invocations from here...
11635         * modules/getlogin_r (configure.ac): ... to here.
11636
11637 2011-05-08  Bruno Haible  <bruno@clisp.org>
11638
11639         getlogin: Move AC_LIBOBJ invocations to module description.
11640         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
11641         here...
11642         * modules/getlogin (configure.ac): ... to here.
11643
11644 2011-05-08  Bruno Haible  <bruno@clisp.org>
11645
11646         getloadavg: Move AC_LIBOBJ invocations to module description.
11647         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
11648         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
11649         * modules/getloadavg (configure.ac): ... to here.
11650
11651 2011-05-08  Bruno Haible  <bruno@clisp.org>
11652
11653         gethrxtime: Move AC_LIBOBJ invocations to module description.
11654         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
11655         LIB_GETHRXTIME from here...
11656         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
11657         invocations from here...
11658         * modules/gethrxtime (configure.ac): ... to here.
11659
11660 2011-05-08  Bruno Haible  <bruno@clisp.org>
11661
11662         gethostname: Move AC_LIBOBJ invocations to module description.
11663         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
11664         gl_PREREQ_GETHOSTNAME invocations from here...
11665         * modules/gethostname (configure.ac): ... to here.
11666
11667 2011-05-08  Bruno Haible  <bruno@clisp.org>
11668
11669         getgroups: Move AC_LIBOBJ invocations to module description.
11670         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
11671         here...
11672         * modules/getgroups (configure.ac): ... to here.
11673
11674 2011-05-08  Bruno Haible  <bruno@clisp.org>
11675
11676         getdtablesize: Move AC_LIBOBJ invocations to module description.
11677         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
11678         invocation from here...
11679         * modules/getdtablesize (configure.ac): ... to here.
11680
11681 2011-05-08  Bruno Haible  <bruno@clisp.org>
11682
11683         getdomainname: Move AC_LIBOBJ invocations to module description.
11684         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
11685         gl_PREREQ_GETDOMAINNAME invocations from here...
11686         * modules/getdomainname (configure.ac): ... to here.
11687
11688 2011-05-08  Bruno Haible  <bruno@clisp.org>
11689
11690         getline: Move AC_LIBOBJ invocations to module description.
11691         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
11692         invocations from here...
11693         * modules/getline (configure.ac): ... to here.
11694
11695 2011-05-08  Bruno Haible  <bruno@clisp.org>
11696
11697         getline: Simplify.
11698         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
11699         It's already handled through the module dependency.
11700
11701 2011-05-08  Bruno Haible  <bruno@clisp.org>
11702
11703         getdelim: Move AC_LIBOBJ invocations to module description.
11704         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
11705         and gl_PREREQ_GETDELIM invocations from here...
11706         * modules/getdelim (configure.ac): ... to here.
11707         (Depends-on): Fix condition.
11708
11709 2011-05-08  Bruno Haible  <bruno@clisp.org>
11710
11711         getcwd: Move AC_LIBOBJ invocations to module description.
11712         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
11713         invocations from here...
11714         * modules/getcwd (configure.ac): ... to here.
11715
11716 2011-05-08  Bruno Haible  <bruno@clisp.org>
11717
11718         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
11719         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
11720         here...
11721         * modules/getcwd-lgpl (configure.ac): ... to here.
11722
11723 2011-05-07  Bruno Haible  <bruno@clisp.org>
11724
11725         crypto/gc: Move AC_LIBOBJ invocations to module description.
11726         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
11727         * modules/crypto/gc (configure.ac): ... to here.
11728
11729 2011-05-07  Bruno Haible  <bruno@clisp.org>
11730
11731         fwriting: Move AC_LIBOBJ invocations to module description.
11732         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
11733         here...
11734         * modules/fwriting (configure.ac): ... to here.
11735
11736 2011-05-07  Bruno Haible  <bruno@clisp.org>
11737
11738         fwritable: Move AC_LIBOBJ invocations to module description.
11739         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
11740         here...
11741         * modules/fwritable (configure.ac): ... to here.
11742
11743 2011-05-07  Bruno Haible  <bruno@clisp.org>
11744
11745         futimens: Move AC_LIBOBJ invocations to module description.
11746         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
11747         here...
11748         * modules/futimens (configure.ac): ... to here.
11749
11750 2011-05-07  Bruno Haible  <bruno@clisp.org>
11751
11752         ftruncate: Move AC_LIBOBJ invocations to module description.
11753         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
11754         gl_PREREQ_FTRUNCATE invocations from here...
11755         * modules/ftruncate (configure.ac): ... to here.
11756
11757 2011-05-07  Bruno Haible  <bruno@clisp.org>
11758
11759         fsync: Move AC_LIBOBJ invocations to module description.
11760         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
11761         invocations from here...
11762         * modules/fsync (configure.ac): ... to here.
11763
11764 2011-05-07  Bruno Haible  <bruno@clisp.org>
11765
11766         fsusage: Move AC_LIBOBJ invocations to module description.
11767         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
11768         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
11769         * modules/fsusage (configure.ac): ... to here.
11770
11771 2011-05-07  Bruno Haible  <bruno@clisp.org>
11772
11773         freopen: Move AC_LIBOBJ invocations to module description.
11774         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
11775         invocations from here...
11776         * modules/freopen (configure.ac): ... to here.
11777
11778 2011-05-07  Bruno Haible  <bruno@clisp.org>
11779
11780         free: Move AC_LIBOBJ invocations to module description.
11781         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
11782         invocations from here...
11783         * modules/free (configure.ac): ... to here.
11784
11785 2011-05-07  Bruno Haible  <bruno@clisp.org>
11786
11787         freadable: Move AC_LIBOBJ invocations to module description.
11788         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
11789         here...
11790         * modules/freadable (configure.ac): ... to here.
11791
11792 2011-05-07  Bruno Haible  <bruno@clisp.org>
11793
11794         fpurge: Move AC_LIBOBJ invocations to module description.
11795         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
11796         invocations from here...
11797         * modules/fpurge (configure.ac): ... to here.
11798
11799 2011-05-07  Bruno Haible  <bruno@clisp.org>
11800
11801         fpending: Move AC_LIBOBJ invocations to module description.
11802         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
11803         gl_FUNC_FPENDING.
11804         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
11805         invocations from here...
11806         * modules/fpending (configure.ac): ... to here.
11807
11808 2011-05-07  Bruno Haible  <bruno@clisp.org>
11809
11810         fopen: Move AC_LIBOBJ invocations to module description.
11811         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
11812         invocations from here...
11813         * modules/fopen (configure.ac): ... to here.
11814
11815 2011-05-07  Bruno Haible  <bruno@clisp.org>
11816
11817         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
11818         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
11819         gl_FUNC_FNMATCH_POSIX.
11820         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
11821         invocations from here...
11822         * modules/fnmatch (configure.ac): ... to here.
11823         * modules/fnmatch-gnu (configure.ac): ... and here.
11824
11825 2011-05-07  Bruno Haible  <bruno@clisp.org>
11826
11827         flock: Move AC_LIBOBJ invocations to module description.
11828         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
11829         invocations from here...
11830         * modules/flock (configure.ac): ... to here.
11831
11832 2011-05-07  Bruno Haible  <bruno@clisp.org>
11833
11834         fileblocks: Move AC_LIBOBJ invocations to module description.
11835         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
11836         gl_PREREQ_FILEBLOCKS invocations from here...
11837         * modules/fileblocks (configure.ac): ... to here.
11838
11839 2011-05-06  Bruno Haible  <bruno@clisp.org>
11840
11841         fflush: Move AC_LIBOBJ invocations to module description.
11842         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
11843         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
11844         invocations from here...
11845         * modules/fflush (configure.ac): ... to here.
11846
11847 2011-05-06  Bruno Haible  <bruno@clisp.org>
11848
11849         fdopendir: Move AC_LIBOBJ invocations to module description.
11850         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
11851         here...
11852         * modules/fdopendir (configure.ac): ... to here.
11853         (Depends-on): Improve conditions.
11854
11855 2011-05-06  Bruno Haible  <bruno@clisp.org>
11856
11857         _Exit: Move AC_LIBOBJ invocations to module description.
11858         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
11859         invocations from here...
11860         * modules/_Exit (configure.ac): ... to here.
11861
11862 2011-05-21  Bruno Haible  <bruno@clisp.org>
11863
11864         euidaccess: Respect rules for use of AC_LIBOBJ.
11865         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11866         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
11867         from here...
11868         * modules/euidaccess (configure.ac): ... to here.
11869
11870 2011-05-06  Bruno Haible  <bruno@clisp.org>
11871
11872         error: Move AC_LIBOBJ invocations to module description.
11873         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
11874         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
11875         invocations from here...
11876         * modules/error (configure.ac): ... to here.
11877
11878 2011-05-06  Bruno Haible  <bruno@clisp.org>
11879
11880         duplocale: Move AC_LIBOBJ invocations to module description.
11881         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
11882         gl_PREREQ_DUPLOCALE invocations from here...
11883         * modules/duplocale (configure.ac): ... to here.
11884
11885 2011-05-05  Bruno Haible  <bruno@clisp.org>
11886
11887         dirfd: Move AC_LIBOBJ invocations to module description.
11888         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
11889         gl_FUNC_DIRFD.
11890         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
11891         here...
11892         * modules/dirfd (configure.ac): ... to here.
11893         (Depends-on): Fix condition.
11894
11895 2011-05-05  Bruno Haible  <bruno@clisp.org>
11896
11897         chown: Respect rules for use of AC_LIBOBJ.
11898         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
11899         * modules/chown (configure.ac): ... to here.
11900
11901 2011-05-05  Bruno Haible  <bruno@clisp.org>
11902
11903         chdir-long: Move AC_LIBOBJ invocations to module description.
11904         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
11905         gl_PREREQ_CHDIR_LONG invocations from here...
11906         * modules/chdir-long (configure.ac): ... to here.
11907
11908 2011-05-05  Bruno Haible  <bruno@clisp.org>
11909
11910         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
11911         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
11912         from here...
11913         * modules/canonicalize-lgpl (configure.ac): ... to here.
11914
11915 2011-05-05  Bruno Haible  <bruno@clisp.org>
11916
11917         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
11918         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
11919         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
11920         REPLACE_CALLOC.
11921         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
11922         * modules/calloc-gnu (configure.ac): Likewise.
11923
11924 2011-05-05  Bruno Haible  <bruno@clisp.org>
11925
11926         btowc: Move AC_LIBOBJ invocations to module description.
11927         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
11928         invocations from here...
11929         * modules/btowc (configure.ac): ... to here.
11930
11931 2011-05-21  Bruno Haible  <bruno@clisp.org>
11932
11933         atexit: Move AC_LIBOBJ invocations to module description.
11934         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
11935         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
11936         here...
11937         * modules/atexit (configure.ac): ... to here.
11938
11939 2011-05-05  Bruno Haible  <bruno@clisp.org>
11940
11941         atoll: Move AC_LIBOBJ invocations to module description.
11942         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
11943         invocations from here...
11944         * modules/atoll (configure.ac): ... to here.
11945
11946 2011-05-05  Bruno Haible  <bruno@clisp.org>
11947
11948         argz: Move AC_LIBOBJ invocations to module description.
11949         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
11950         * modules/argz (configure.ac): ... to here.
11951
11952 2011-05-05  Bruno Haible  <bruno@clisp.org>
11953
11954         alphasort: Move AC_LIBOBJ invocations to module description.
11955         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
11956         gl_PREREQ_ALPHASORT invocations from here...
11957         * modules/alphasort (configure.ac): ... to here.
11958
11959 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11960
11961         verify: new macro verify_expr; verify_true deprecated
11962         * NEWS: Mention this.
11963         * doc/verify.texi (Compile-time Assertions): Document this.
11964         * lib/verify.h (verify_true): Deprecate.
11965         (verify_expr): New macro.
11966         * tests/test-verify.c (function): Test verify_expr.
11967
11968 2011-06-14  Jim Meyering  <meyering@redhat.com>
11969
11970         init.sh: give more portable redirection-related advice in a comment
11971         * tests/init.sh (stderr_fileno_): Update the advice in comments.
11972         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
11973         for lots of discussion.  Stefano Lattarini suggested the solution
11974         of putting "9>&2" after the command.  Reported by Bruno Haible.
11975
11976 2011-06-13  Bruno Haible  <bruno@clisp.org>
11977
11978         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
11979         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
11980         'none'.
11981
11982 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11983
11984         ftoastr: use strtof only if HAVE_STRTOF
11985         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
11986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
11987         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
11988         * modules/ftoastr (configure.ac): Check for strtof.
11989
11990 2011-06-13  Bruno Haible  <bruno@clisp.org>
11991
11992         gnulib-tool: Addendum to 2011-06-08 commit.
11993         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
11994         and --witness-c-macro have been given, augment AM_CPPFLAGS.
11995
11996 2011-06-13  Bruno Haible  <bruno@clisp.org>
11997
11998         fseeko: Provide a non-inline replacement of fseek().
11999         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
12000         * modules/fseeko (Depends-on): Add fseek.
12001         * modules/fseek (License): Change to LGPLv2+.
12002
12003 2011-06-13  Bruno Haible  <bruno@clisp.org>
12004
12005         ftello: Provide a non-inline replacement of ftell().
12006         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12007         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
12008         not have ftello() (such as on mingw).
12009         * modules/ftello (Depends-on): Add ftell.
12010         * modules/ftell (License): Change to LGPLv2+.
12011
12012 2011-05-07  Bruno Haible  <bruno@clisp.org>
12013
12014         ftell: Move AC_LIBOBJ invocations to module description.
12015         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
12016         * modules/ftell (configure.ac): ... to here.
12017
12018 2011-05-07  Bruno Haible  <bruno@clisp.org>
12019
12020         ftello: Respect rules for use of AC_LIBOBJ.
12021         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
12022         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
12023         here...
12024         * modules/ftello (configure.ac): ... to here.
12025
12026 2011-05-07  Bruno Haible  <bruno@clisp.org>
12027
12028         fseeko: Simplify.
12029         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
12030         (gl_FUNC_FSEEKO): Inline it here.
12031
12032 2011-05-07  Bruno Haible  <bruno@clisp.org>
12033
12034         fseek: Move AC_LIBOBJ invocations to module description.
12035         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
12036         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12037         * modules/fseek (configure.ac): ... to here.
12038
12039 2011-05-07  Bruno Haible  <bruno@clisp.org>
12040
12041         fseek: Respect rules for use of AC_LIBOBJ.
12042         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
12043         here...
12044         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
12045
12046 2011-05-07  Bruno Haible  <bruno@clisp.org>
12047
12048         fseeko: Respect rules for use of AC_LIBOBJ.
12049         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
12050         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
12051         here...
12052         * modules/fseeko (configure.ac): ... to here.
12053
12054 2011-06-13  Bruno Haible  <bruno@clisp.org>
12055
12056         gnulib-tool: Allow comments in the 'Depends-on' section.
12057         * doc/gnulib.texi (Module description): Mention comment syntax in the
12058         Depends-on section.
12059         * gnulib-tool (func_get_dependencies): Filter out comment lines.
12060
12061 2011-06-13  Bruno Haible  <bruno@clisp.org>
12062
12063         file-set.h: guard __attibute__ use, now that it's not always defined
12064         * lib/file-set.h (record_file): Use __attribute__ only with compiler
12065         versions that support it.  This fixes a coreutils build failure with
12066         the vendor cc on HP-UX 11.31.
12067
12068 2011-06-12  Bruno Haible  <bruno@clisp.org>
12069
12070         acl: Add support for HP-UX >= 11.11 JFS ACLs.
12071         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
12072         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
12073         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
12074         (acl, aclsort): New declarations.
12075         (aclv_nontrivial): New declaration.
12076         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
12077         (file_has_acl): Read also the second kind of HP-UX ACLs.
12078         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
12079         kind of HP-UX ACLs if the first kind fails.
12080         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
12081         second kind of HP-UX ACLs.
12082         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
12083         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
12084         agree.
12085         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12086         hpuxjfs.
12087         Handle hpuxjfs.
12088         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12089         hpuxjfs.
12090         Handle hpuxjfs.
12091         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12092         (func_test_same_acls): Use both lsacl and getacl.
12093         Handle hpuxjfs.
12094         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12095         (func_test_same_acls): Use both lsacl and getacl.
12096         Handle hpuxjfs.
12097
12098 2011-06-12  Bruno Haible  <bruno@clisp.org>
12099
12100         acl: Complete the 2010-08-10 fix.
12101         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
12102         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
12103         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
12104         explicitly.
12105         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
12106         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
12107
12108 2011-06-12  Bruno Haible  <bruno@clisp.org>
12109
12110         spawn-pipe tests: Comments.
12111         * tests/test-spawn-pipe-child.c (main): Update comment.
12112         Reported by James Youngman <jay@gnu.org>.
12113
12114 2011-06-11  James Youngman  <jay@gnu.org>
12115
12116         New module 'stat-size'.
12117         * modules/stat-size: New module.  Provides macros for accessing
12118         file size information in instances of struct stat.  Depends on the
12119         fileblocks module because it calls st_blocks.
12120         * lib/stat-size.h: New file, adapted from coreutils' system.h.
12121         * doc/gnulib.texi: Include stat-size.texi.
12122         * doc/stat-size.texi: Documentation for this module.
12123         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
12124         * m4/fileblocks.m4: Mention that stat-size depends on the call to
12125         AC_STRUCT_ST_BLOCKS.
12126
12127 2011-06-09  Bruno Haible  <bruno@clisp.org>
12128
12129         thread: Support pthreads-win32.
12130         * lib/glthread/thread.h (gl_thread_self): Define differently on
12131         pthreads-win32.
12132         (gl_null_thread): New declaration.
12133         (gl_thread_self_pointer): New macro.
12134         * lib/glthread/thread.c (gl_null_thread): New constant.
12135         * tests/test-lock.c: Use gl_thread_self_pointer instead of
12136         gl_thread_self.
12137         * tests/test-tls.c: Likewise.
12138         Suggested by Paul Eggert. Reported by Eric Blake.
12139
12140 2011-06-09  Bruno Haible  <bruno@clisp.org>
12141
12142         thread: Fix confusion between NULL and 0.
12143         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
12144         Reported by Paul Eggert.
12145
12146 2011-06-09  Bruno Haible  <bruno@clisp.org>
12147
12148         spawn-pipe tests: Avoid test failure on HP-UX 11.
12149         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
12150         is closed.
12151
12152 2011-06-09  Bruno Haible  <bruno@clisp.org>
12153
12154         acl tests: Fix compilation error on HP-UX 11.
12155         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
12156
12157 2011-06-09  Bruno Haible  <bruno@clisp.org>
12158
12159         rmdir: Avoid test failure on HP-UX 10.20.
12160         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
12161         EEXIST.
12162
12163 2011-06-08  Eric Blake  <eblake@redhat.com>
12164
12165         perror: fix test on mingw
12166         * modules/perror-tests (Depends-on): Add dup2.
12167
12168         strerror_r-posix: fix on MacOS
12169         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
12170         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
12171         logic bug.
12172         * lib/strerror_r.c (strerror_r): Fix the bug.
12173         * lib/strerror.c (strerror): Likewise.
12174         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12175         problem.
12176         * doc/posix-functions/strerror.texi (strerror): Likewise.
12177         * doc/posix-functions/perror.texi (perror): Likewise.
12178         * tests/test-strerror.c (main): Enhance test.
12179         * tests/test-strerror_r.c (main): Likewise.
12180
12181 2011-06-08  Bruno Haible  <bruno@clisp.org>
12182
12183         gnulib-tool: Better isolation between different gnulib-tool invocations.
12184         * gnulib-tool: New option --witness-c-macro.
12185         (witness_c_macro): New variable.
12186         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
12187         AM_CPPFLAGS define it as a C macro.
12188         (func_emit_tests_Makefile_am): Likewise.
12189         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
12190         read it from there.
12191         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
12192         m4_define, not AC_DEFUN.
12193         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
12194         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
12195         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
12196         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
12197         s|...|...|, to substitute the values of the GNULIB_* module indicator
12198         variables.
12199         * modules/dirent (Makefile.am): Likewise.
12200         * modules/fcntl-h (Makefile.am): Likewise.
12201         * modules/iconv-h (Makefile.am): Likewise.
12202         * modules/langinfo (Makefile.am): Likewise.
12203         * modules/locale (Makefile.am): Likewise.
12204         * modules/math (Makefile.am): Likewise.
12205         * modules/netdb (Makefile.am): Likewise.
12206         * modules/poll-h (Makefile.am): Likewise.
12207         * modules/pty (Makefile.am): Likewise.
12208         * modules/search (Makefile.am): Likewise.
12209         * modules/signal (Makefile.am): Likewise.
12210         * modules/spawn (Makefile.am): Likewise.
12211         * modules/stdio (Makefile.am): Likewise.
12212         * modules/stdlib (Makefile.am): Likewise.
12213         * modules/string (Makefile.am): Likewise.
12214         * modules/sys_ioctl (Makefile.am): Likewise.
12215         * modules/sys_select (Makefile.am): Likewise.
12216         * modules/sys_socket (Makefile.am): Likewise.
12217         * modules/sys_stat (Makefile.am): Likewise.
12218         * modules/sys_times (Makefile.am): Likewise.
12219         * modules/sys_utsname (Makefile.am): Likewise.
12220         * modules/sys_wait (Makefile.am): Likewise.
12221         * modules/termios (Makefile.am): Likewise.
12222         * modules/time (Makefile.am): Likewise.
12223         * modules/unistd (Makefile.am): Likewise.
12224         * modules/wchar (Makefile.am): Likewise.
12225
12226 2011-06-08  Eric Blake  <eblake@redhat.com>
12227
12228         strerror: simplify replacement
12229         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
12230         * modules/strerror (configure.ac): No prereqs needed here...
12231         * modules/strerror-override (configure.ac): ...but this needs it.
12232         (Files): Add file for needed prereq macro.
12233
12234 2011-06-08  Bruno Haible  <bruno@clisp.org>
12235
12236         strerror_r-posix: Tweaks.
12237         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
12238         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
12239         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
12240         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
12241         (gl_FUNC_STRERROR_R): ... to here.
12242         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
12243
12244 2011-06-07  Eric Blake  <eblake@redhat.com>
12245
12246         perror: document fixed bugs
12247         * doc/posix-functions/perror.texi (perror): Document recent
12248         patches.
12249
12250 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
12251
12252         stat-time: get_stat_birthtime failure is better-defined
12253         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
12254         return a timestamp whose tv_sec and tv_nsec values are both -1.
12255         Previously, the spec said only that the tv_nsec value was negative.
12256         This upward-compatible change simplifies GNU tar a bit.
12257
12258 2011-06-07  Eric Blake  <eblake@redhat.com>
12259
12260         strerror_r-posix: work around cygwin 1.7.9
12261         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
12262         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
12263         bug without replacing strerror_r.
12264         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
12265         strerror_r is buggy, but without requiring strerror_r compilation.
12266         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
12267
12268         test-perror: relax test to ignore cygwin bug
12269         * tests/test-perror2.c (main): Relax test on requiring detection
12270         of stream errors, and use unbuffered stream.
12271         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
12272         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
12273         * doc/posix-functions/fputc.texi (fputc): Likewise.
12274         * doc/posix-functions/fputs.texi (fputs): Likewise.
12275         * doc/posix-functions/fputws.texi (fputws): Likewise.
12276         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
12277         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
12278         * doc/posix-functions/getopt.texi (getopt): Likewise.
12279         * doc/posix-functions/perror.texi (perror): Likewise.
12280         * doc/posix-functions/printf.texi (printf): Likewise.
12281         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
12282         * doc/posix-functions/psignal.texi (psignal): Likewise.
12283         * doc/posix-functions/putc.texi (putc): Likewise.
12284         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
12285         Likewise.
12286         * doc/posix-functions/putchar.texi (putchar): Likewise.
12287         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
12288         Likewise.
12289         * doc/posix-functions/puts.texi (puts): Likewise.
12290         * doc/posix-functions/putwc.texi (putwc): Likewise.
12291         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
12292         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
12293         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12294         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
12295         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12296         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
12297         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12298         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
12299
12300 2011-05-22  Bruno Haible  <bruno@clisp.org>
12301
12302         strerror: Move AC_LIBOBJ invocations to module description.
12303         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
12304         gl_PREREQ_STRERROR invocations from here...
12305         * modules/strerror (configure.ac): ... to here.
12306
12307 2011-05-21  Bruno Haible  <bruno@clisp.org>
12308
12309         perror: Use common idiom.
12310         * modules/perror (configure.ac): Reorder statements.
12311
12312 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12313
12314         tests: fix usage message in 'mktempd_'
12315         * tests/init.sh (mktempd_): In the usage message, use literal
12316         'mktempd_', not '$ME' (which is even undefined), as the name of
12317         the subroutine.
12318
12319 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12320
12321         tests init: new function 'fatal_', for hard errors
12322         Before this patch, the only way offered by tests/init.sh to
12323         properly signal a hard error was the `framework_failure_'
12324         function.  But the error message issued by that function,
12325         as its name would suggest, refers to a set-up failure in the
12326         testsuite, while hard errors can obviously also be due to
12327         other reasons.  The best way to fix this inconsistency is to
12328         introduce a new function with a more general error message.
12329         * tests/init.sh (fatal_): New function.
12330
12331 2011-06-06  Eric Blake  <eblake@redhat.com>
12332
12333         canonicalize-lgpl: use common idiom
12334         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
12335         over newer POSIX -Rf.
12336         Reported by Bruno Haible.
12337
12338         canonicalize-lgpl: work around AIX realpath bug
12339         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
12340         * doc/posix-functions/realpath.texi (realpath): Document it.
12341         Reported by Bruno Haible.
12342
12343         strerror: work around FreeBSD bug
12344         * lib/strerror.c (strerror): Special case 0.
12345         Reported by Bruno Haible.
12346
12347         strerror-override: avoid bloating errno module
12348         * modules/errno (Files, configure.ac): Move replacement strings...
12349         * modules/strerror-override: ...to new module.
12350         * modules/strerror (Depends-on): Add strerror-override.
12351         * modules/strerror_r-posix (Depends-on): Likewise.
12352         * MODULES.html.sh: Document new module.
12353         Reported by Bruno Haible.
12354
12355 2011-06-06  Bruno Haible  <bruno@clisp.org>
12356
12357         spawn-pipe tests: Rename program.
12358         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
12359         * tests/test-spawn-pipe-child.c: Update comment.
12360         * tests/test-spawn-pipe.sh: Update.
12361         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
12362
12363         spawn-pipe tests: Link the child program only against libc.
12364         * tests/test-spawn-pipe-child.c: New file, extracted from
12365         tests/test-spawn-pipe.c.
12366         (main): Expect only one argument.
12367         (is_open): New function, copied from tests/test-pipe.c.
12368         * tests/test-spawn-pipe.c: Don't include <errno.h>.
12369         (child_main): Remove function.
12370         (test_pipe): Pass only one argument to the child program.
12371         (main): Remove child process code. Expect the child program's name as
12372         first argument.
12373         * tests/test-spawn-pipe.sh: Pass the child program's name as first
12374         argument.
12375         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
12376         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
12377         test-spawn-pipe-child against no libraries.
12378
12379 2011-06-06  Bruno Haible  <bruno@clisp.org>
12380
12381         careadlinkat: Avoid mismatch between ssize_t and int.
12382         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
12383         * lib/careadlinkat.c (careadlinkatcwd): Define always.
12384
12385 2011-06-06  Jim Meyering  <meyering@redhat.com>
12386
12387         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
12388         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
12389         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
12390
12391 2011-06-05  Bruno Haible  <bruno@clisp.org>
12392
12393         ansi-c++-opt: Interoperability with libtool.
12394         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
12395         set the variable to "no", not to ":".
12396         * NEWS: Mention the change.
12397
12398 2011-06-05  Bruno Haible  <bruno@clisp.org>
12399
12400         acl: Fix test failure on AIX 7.
12401         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
12402         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
12403
12404 2011-06-05  Bruno Haible  <bruno@clisp.org>
12405
12406         pipe-filter-ii: Fix test failure on AIX and IRIX.
12407         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
12408         with EAGAIN, retry with a smaller buffer size.
12409
12410 2011-06-05  Bruno Haible  <bruno@clisp.org>
12411
12412         localename: Fix link dependencies.
12413         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
12414         * modules/localename-tests (Makefile.am): Link test-localename with
12415         $(LIBTHREAD).
12416
12417 2011-06-05  Bruno Haible  <bruno@clisp.org>
12418
12419         error: Avoid gcc warning.
12420         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
12421
12422 2011-06-05  Bruno Haible  <bruno@clisp.org>
12423
12424         unsetenv: Avoid gcc warning.
12425         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
12426
12427 2011-06-05  Bruno Haible  <bruno@clisp.org>
12428
12429         setenv: Avoid gcc warning.
12430         * lib/setenv.c (setenv): Provide declaration if system lacks it.
12431
12432 2011-06-05  Bruno Haible  <bruno@clisp.org>
12433
12434         sys_select: Ensure memset is declared also on AIX 7.
12435         * lib/sys_select.in.h: Include <string.h> also on AIX.
12436         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
12437         self-contained also on AIX 7.1.
12438
12439 2011-06-04  Jim Meyering  <meyering@redhat.com>
12440
12441         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
12442         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
12443         function name, "error".
12444         (_gl_translatable_diag_func_re): New configurable variable.
12445
12446 2011-06-04  Bruno Haible  <bruno@clisp.org>
12447
12448         getopt: Avoid gcc warning.
12449         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
12450
12451 2011-06-04  Bruno Haible  <bruno@clisp.org>
12452
12453         strerror_r: Fix comments.
12454         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
12455         commit.
12456
12457 2011-06-04  Bruno Haible  <bruno@clisp.org>
12458
12459         perror: Fix compilation error.
12460         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
12461         Undefine fprintf, not sprintf.
12462         * modules/perror (Depends-on): Remove intprops, verify.
12463
12464 2011-06-04  Bruno Haible  <bruno@clisp.org>
12465
12466         setlocale: Enable replacement on Cygwin 1.5.
12467         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
12468         Cygwin 1.5.x.
12469         * doc/posix-functions/setlocale.texi: Mention that the problem with the
12470         LC_CTYPE category also exists on Cygwin 1.5.x.
12471
12472 2011-06-04  Bruno Haible  <bruno@clisp.org>
12473
12474         strerror-override: Don't disable symbol renamings.
12475         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
12476         * lib/strerror-override.c: Include config.h.
12477         (strerror_override): Don't undefine.
12478
12479 2011-06-03  Bruno Haible  <bruno@clisp.org>
12480
12481         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
12482         * lib/localename.h: Update copyright header.
12483         * lib/localename.c: Likewise.
12484         * lib/relocatable.h: Likewise.
12485         * lib/relocatable.c: Likewise.
12486
12487 2011-06-02  Bruno Haible  <bruno@clisp.org>
12488
12489         doc: Fix a module name.
12490         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
12491
12492 2011-06-02  Bruno Haible  <bruno@clisp.org>
12493
12494         pipe2: Remove dependency on 'nonblocking' module.
12495         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
12496         O_NONBLOCK is defined by gnulib.
12497         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
12498         is zero.
12499         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
12500         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
12501         defined by gnulib.
12502         (get_nonblocking_flag): New function.
12503         (main): Test O_NONBLOCK flag only if it is nonzero.
12504         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
12505
12506 2011-06-03  Jim Meyering  <meyering@redhat.com>
12507
12508         maint: three new prohibit-header-without-use rules
12509         Prohibit use of cloexec.h, posixver.h, same.h without use.
12510         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
12511         (sc_prohibit_posixver_without_use): Likewise.
12512         (sc_prohibit_same_without_use): Likewise.
12513
12514 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12515
12516         allocator: 'die' routine is now given requested size
12517         * lib/allocator.h (struct allocator.die): New size arg.
12518         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
12519         If the actual problem is an ssize_t limitation, not a size_t or
12520         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
12521
12522 2011-06-01  Eric Blake  <eblake@redhat.com>
12523
12524         strerror: drop strerror_r dependency
12525         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
12526         * lib/strerror-override.c (strerror_override): ...to new file.
12527         * lib/strerror-override.h: Add prototype.
12528         * lib/strerror-impl.h: Delete.
12529         * lib/strerror.c (strerror): New implementation.
12530         * modules/errno (Files): Add new files.
12531         (configure.ac): Compile new file as appropriate.
12532         * modules/strerror (Files): Drop unused file.
12533         (Depends-on): Drop strerror_r-posix.
12534         * MODULES.html.sh: Document strerror_r-posix.
12535         Requested by Sam Steingold.
12536
12537         perror: call strerror_r directly
12538         * modules/perror (Files): Drop strerror-impl.h.
12539         * lib/perror.c (perror): Use our own stack buffer, rather than
12540         calling a wrapper that uses static storage.
12541         * doc/posix-functions/perror.texi (perror): Document a limitation
12542         of our replacement.
12543
12544         strerror_r: fix includes for FreeBSD
12545         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
12546         since we use abort on some platforms.
12547         Reported by Matthias Bolte.
12548
12549 2011-05-31  Bruno Haible  <bruno@clisp.org>
12550
12551         Fix link errors in tests: openat-die uses gettext-h.
12552         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
12553         against $(LIBINTL).
12554         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
12555         against $(LIBINTL).
12556         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
12557         $(LIBINTL).
12558         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
12559         against $(LIBINTL).
12560         * modules/linkat-tests (Makefile.am): Link test-linkat against
12561         $(LIBINTL).
12562         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
12563         $(LIBINTL).
12564         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
12565         against $(LIBINTL).
12566         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
12567         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
12568         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
12569         $(LIBINTL).
12570         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
12571         $(LIBINTL).
12572         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
12573         $(LIBINTL).
12574         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12575
12576 2011-05-31  Bruno Haible  <bruno@clisp.org>
12577
12578         Fix link errors in tests: wait-process uses gettext-h.
12579         * modules/nonblocking-pipe-tests (Makefile.am): Set
12580         test_nonblocking_pipe_main_LDADD.
12581         * modules/nonblocking-socket-tests (Makefile.am): Link
12582         test-nonblocking-socket-main against $(LIBINTL).
12583         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12584
12585 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12586
12587         assert-h: work around 'verify' incompatibility
12588         * lib/verify.h: Use @...@ directives, not ifdef.
12589         * modules/assert-h (assert.h): Implement the directives.
12590         (assert.h): Substitute the symbol-prefix more consistently.
12591
12592 2011-05-29  Jim Meyering  <meyering@redhat.com>
12593
12594         trim: remove three superfluous assignments
12595         * lib/trim.c (trim2): Remove three superfluous assignments
12596         and correct brace positioning.
12597
12598 2011-05-29  Bruno Haible  <bruno@clisp.org>
12599
12600         wctype-h: Avoid namespace pollution on Solaris 2.6.
12601         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
12602         identifiers.
12603         * doc/posix-headers/wctype.texi: Mention the problem.
12604         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12605
12606 2011-05-28  Jim Meyering  <meyering@redhat.com>
12607
12608         parse-datetime.y: accommodate -Wstrict-overflow
12609         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
12610         placate -Wstrict-overflow.
12611
12612         trim: avoid a warning from -O2 -Wstrict-overflow
12613         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
12614
12615 2011-05-29  Bruno Haible  <bruno@clisp.org>
12616
12617         gnulib-tool: Fix bug in yesterday's commit.
12618         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
12619         twice.
12620
12621 2011-05-29  Bruno Haible  <bruno@clisp.org>
12622
12623         Allow multiple gnulib generated include files to be combined.
12624         * gnulib-tool (func_compute_include_guard_prefix): New function.
12625         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
12626         ${gl_include_guard_prefix} references.
12627         (func_import, func_create_testdir): Invoke
12628         func_compute_include_guard_prefix.
12629         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
12630         * lib/ctype.in.h: Likewise.
12631         * lib/dirent.in.h: Likewise.
12632         * lib/errno.in.h: Likewise.
12633         * lib/fcntl.in.h: Likewise.
12634         * lib/float.in.h: Likewise.
12635         * lib/getopt.in.h: Likewise.
12636         * lib/iconv.in.h: Likewise.
12637         * lib/langinfo.in.h: Likewise.
12638         * lib/locale.in.h: Likewise.
12639         * lib/math.in.h: Likewise.
12640         * lib/netdb.in.h: Likewise.
12641         * lib/netinet_in.in.h: Likewise.
12642         * lib/poll.in.h: Likewise.
12643         * lib/pthread.in.h: Likewise.
12644         * lib/pty.in.h: Likewise.
12645         * lib/sched.in.h: Likewise.
12646         * lib/se-selinux.in.h: Likewise.
12647         * lib/search.in.h: Likewise.
12648         * lib/signal.in.h: Likewise.
12649         * lib/spawn.in.h: Likewise.
12650         * lib/stdarg.in.h: Likewise.
12651         * lib/stddef.in.h: Likewise.
12652         * lib/stdint.in.h: Likewise.
12653         * lib/stdio.in.h: Likewise.
12654         * lib/stdlib.in.h: Likewise.
12655         * lib/string.in.h: Likewise.
12656         * lib/strings.in.h: Likewise.
12657         * lib/sys_file.in.h: Likewise.
12658         * lib/sys_ioctl.in.h: Likewise.
12659         * lib/sys_select.in.h: Likewise.
12660         * lib/sys_socket.in.h: Likewise.
12661         * lib/sys_stat.in.h: Likewise.
12662         * lib/sys_time.in.h: Likewise.
12663         * lib/sys_times.in.h: Likewise.
12664         * lib/sys_uio.in.h: Likewise.
12665         * lib/sys_utsname.in.h: Likewise.
12666         * lib/sys_wait.in.h: Likewise.
12667         * lib/sysexits.in.h: Likewise.
12668         * lib/termios.in.h: Likewise.
12669         * lib/time.in.h: Likewise.
12670         * lib/unistd.in.h: Likewise.
12671         * lib/wchar.in.h: Likewise.
12672         * lib/wctype.in.h: Likewise.
12673         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
12674         * modules/ctype (Makefile.am): Likewise.
12675         * modules/dirent (Makefile.am): Likewise.
12676         * modules/errno (Makefile.am): Likewise.
12677         * modules/fcntl-h (Makefile.am): Likewise.
12678         * modules/float (Makefile.am): Likewise.
12679         * modules/getopt-posix (Makefile.am): Likewise.
12680         * modules/iconv-h (Makefile.am): Likewise.
12681         * modules/langinfo (Makefile.am): Likewise.
12682         * modules/locale (Makefile.am): Likewise.
12683         * modules/math (Makefile.am): Likewise.
12684         * modules/netdb (Makefile.am): Likewise.
12685         * modules/netinet_in (Makefile.am): Likewise.
12686         * modules/poll-h (Makefile.am): Likewise.
12687         * modules/pthread (Makefile.am): Likewise.
12688         * modules/pty (Makefile.am): Likewise.
12689         * modules/sched (Makefile.am): Likewise.
12690         * modules/search (Makefile.am): Likewise.
12691         * modules/selinux-h (Makefile.am): Likewise.
12692         * modules/signal (Makefile.am): Likewise.
12693         * modules/spawn (Makefile.am): Likewise.
12694         * modules/stdarg (Makefile.am): Likewise.
12695         * modules/stddef (Makefile.am): Likewise.
12696         * modules/stdint (Makefile.am): Likewise.
12697         * modules/stdio (Makefile.am): Likewise.
12698         * modules/stdlib (Makefile.am): Likewise.
12699         * modules/string (Makefile.am): Likewise.
12700         * modules/strings (Makefile.am): Likewise.
12701         * modules/sys_file (Makefile.am): Likewise.
12702         * modules/sys_ioctl (Makefile.am): Likewise.
12703         * modules/sys_select (Makefile.am): Likewise.
12704         * modules/sys_socket (Makefile.am): Likewise.
12705         * modules/sys_stat (Makefile.am): Likewise.
12706         * modules/sys_time (Makefile.am): Likewise.
12707         * modules/sys_times (Makefile.am): Likewise.
12708         * modules/sys_uio (Makefile.am): Likewise.
12709         * modules/sys_utsname (Makefile.am): Likewise.
12710         * modules/sys_wait (Makefile.am): Likewise.
12711         * modules/sysexits (Makefile.am): Likewise.
12712         * modules/termios (Makefile.am): Likewise.
12713         * modules/time (Makefile.am): Likewise.
12714         * modules/unistd (Makefile.am): Likewise.
12715         * modules/wchar (Makefile.am): Likewise.
12716         * modules/wctype-h (Makefile.am): Likewise.
12717         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
12718
12719 2011-05-29  Bruno Haible  <bruno@clisp.org>
12720
12721         assert-h: Allow multiple gnulib generated replacements to coexist.
12722         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
12723
12724 2011-05-29  Bruno Haible  <bruno@clisp.org>
12725
12726         argp: Allow coexistence with strerror_r-posix module.
12727         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
12728         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
12729         by gnulib's <string.h> replacement), assume it has the POSIX signature,
12730         not the glibc signature.
12731
12732 2011-05-28  Bruno Haible  <bruno@clisp.org>
12733
12734         gnulib-tool: Alternative structure of testdirs, similar to --import.
12735         * gnulib-tool: New option --single-configure.
12736         (func_usage): Document it.
12737         (single_configure): New variable.
12738         (func_modules_transitive_closure_separately,
12739         func_modules_transitive_closure_separately,
12740         func_determine_use_libtests, func_modules_add_dummy_separately,
12741         func_modules_to_filelist_separately): New functions, extracted from
12742         func_import.
12743         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
12744         (func_import): Use the new functions.
12745         (func_create_testdir): Set final_modules. Handle $single_configure =
12746         true case.
12747
12748 2011-05-28  Bruno Haible  <bruno@clisp.org>
12749
12750         getloadavg: Remove an unreliable safety check.
12751         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
12752         getloadavg.c is in place.
12753         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
12754         Reported by Sam Steingold <sds@gnu.org>.
12755
12756 2011-05-28  Bruno Haible  <bruno@clisp.org>
12757
12758         doc: Cleanup yet another file produced by texinfo.tex.
12759         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
12760
12761 2011-05-28  Bruno Haible  <bruno@clisp.org>
12762
12763         Finish the conditional dependencies mechanism.
12764         * gnulib-tool: New option --no-conditional-dependencies.
12765         (func_usage): Document it. Don't mark --conditional-dependencies as
12766         experimental.
12767         (cond_dependencies): The possible values can now be true, false, empty.
12768         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
12769         (func_import): Store setting in gnulib-cache.m4 and read it from there.
12770         * doc/gnulib-tool.texi (Conditional dependencies): New section.
12771
12772 2011-05-28  Bruno Haible  <bruno@clisp.org>
12773
12774         doc: Use a recent texinfo.tex.
12775         * doc/Makefile (tex_opts): New variable.
12776         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
12777
12778 2011-05-28  Jim Meyering  <meyering@redhat.com>
12779
12780         intprops.h: adjust comment to match code change
12781         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
12782         only once, it *may* have side effects.  Also fix an unrelated typo.
12783         (_GL_INT_SIGNED): Likewise.
12784
12785 2011-05-26  Simon Josefsson  <simon@josefsson.org>
12786
12787         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
12788
12789 2011-05-26  Bruno Haible  <bruno@clisp.org>
12790
12791         mbsrchr: Avoid collision with system function on Interix.
12792         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
12793         Reported by Markus Duft <mduft@gentoo.org>.
12794
12795 2011-05-15  James Youngman  <jay@gnu.org>
12796
12797         getopt: for ambiguous options, enumerate the possibilities.
12798         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
12799         the ambiguous options when an ambiguous prefix is given. This was
12800         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
12801         glibc change was
12802         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
12803
12804 2011-05-25  Eric Blake  <eblake@redhat.com>
12805
12806         getcwd: work around mingw bug
12807         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
12808         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12809         Reported by Matthias Bolte.
12810
12811 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12812
12813         test-intprops: disable -Wtype-limits diagnostics
12814         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
12815         diagnostics.  Otherwise, the integer overflow macros generate many
12816         diagnostics.  Reported by Jim Meyering in
12817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12818
12819         intprops: shorten, to pacify gcc -Woverlength-strings
12820         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
12821         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
12822         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
12823         likely to run afoul of C compiler limits for string constant lengths.
12824         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12825
12826 2011-05-24  Eric Blake  <eblake@redhat.com>
12827
12828         docs: document recently fixed glibc printf bug
12829         * doc/posix-functions/fprintf.texi (fprintf): Document it.
12830         * doc/posix-functions/printf.texi (printf): Likewise.
12831         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12832         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12833
12834         closein-tests: convert to init.sh
12835         * modules/closein-tests (Files): Add init.sh
12836         * tests/test-closein.sh Use it.
12837
12838         yesno-tests: convert to init.sh
12839         * modules/yesno-tests (Files): Add init.sh.
12840         * tests/test-yesno.sh: Use it.
12841
12842         atexit-tests: ensure reliable exit status
12843         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
12844         Reported by Bruno Haible.
12845
12846 2011-05-24  Bruno Haible  <bruno@clisp.org>
12847
12848         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
12849         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
12850         gl_PREREQ_STRERROR_R invocations from here...
12851         * modules/strerror_r-posix (configure.ac): ... to here.
12852
12853 2011-05-24  Eric Blake  <eblake@redhat.com>
12854
12855         strerror_r: fix missing header
12856         * lib/strerror_r.c: Avoid compiler warning about snprintf.
12857
12858         strerror_r: fix AIX test failures
12859         * lib/strerror_r.c (strerror_r): Convert silent truncation to
12860         ERANGE failure.
12861
12862         strerror_r: fix Solaris test failures
12863         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
12864         failures.
12865         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12866
12867         strerror_r: enforce POSIX recommendations
12868         * lib/strerror_r.c (safe_copy): New helper method.
12869         (strerror_r): Guarantee a non-empty string.
12870         * tests/test-strerror_r.c (main): Enhance tests to incorporate
12871         recent POSIX rulings and to match our strerror guarantees.
12872         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12873
12874 2011-05-24  Jim Meyering  <meyering@redhat.com>
12875
12876         test-perror2.c: avoid warning about unused variable
12877         * tests/test-perror2.c (main): Remove declaration of unused "fp".
12878
12879 2011-05-24  Eric Blake  <eblake@redhat.com>
12880
12881         perror: avoid spurious test failure on HP-UX
12882         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
12883
12884         tests: fix logic bug in init.sh
12885         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
12886         shell.
12887
12888 2011-05-24  Jim Meyering  <meyering@redhat.com>
12889
12890         utimensat: do not reference an out-of-scope buffer
12891         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
12892         declared in an inner scope, yet "times" would be dereferenced outside
12893         the scope in which "ts" was valid.
12894         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
12895         of ts[2] "out/up", so that the use of aliased "times" (via
12896         "times = ts;") does not end up referencing an out-of-scope "ts"
12897
12898         opendir-safer.c: don't clobber errno; don't close negative FD
12899         * lib/opendir-safer.c (opendir_safer):
12900         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
12901         file descriptor, and more importantly, don't clobber the
12902         offending errno value with EINVAL.  Before, upon failure
12903         of dup_safer, we would pass the negative file descriptor to
12904         fdopendir, which would clobber errno.
12905
12906 2011-05-23  Bruno Haible  <bruno@clisp.org>
12907
12908         idcache: Fix module description.
12909         * modules/idcache (Include): Set to "idcache.h".
12910
12911 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
12912
12913         gnulib-tool: fix portability problem with MacOS sed
12914         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
12915         before the "}".  Problem reported by Leo in
12916         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
12917         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
12918         sed_extract_condition1, sed_extract_condition2.
12919
12920 2011-05-23  Bruno Haible  <bruno@clisp.org>
12921
12922         hash: Simplify autoconf macro.
12923         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
12924
12925 2011-05-23  Bruno Haible  <bruno@clisp.org>
12926
12927         getugroups: Fix module description.
12928         * modules/getugroups (Include): Set to "getugroups.h".
12929
12930 2011-05-23  Bruno Haible  <bruno@clisp.org>
12931
12932         linkat: Simplify autoconf macro.
12933         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
12934
12935 2011-05-23  Bruno Haible  <bruno@clisp.org>
12936             Eric Blake  <eblake@redhat.com>
12937
12938         linkat, renameat: Update dependencies.
12939         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
12940         * modules/linkat (Depends-on): Likewise. Remove also readlink,
12941         symlinkat.
12942
12943 2011-05-23  Jim Meyering  <meyering@redhat.com>
12944
12945         maint.mk: more tight_scope improvements
12946         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
12947         (_gl_TS_headers): Define only in if-0'd block.
12948         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
12949         sometimes we must *not* use it.  Adjust uses accordingly.
12950         (sc_tight_scope): Use much simpler grep-based test to determine
12951         whether we skip this rule.
12952
12953         maint.mk: generalize/improve the tight-scope rule
12954         * top/maint.mk: Emit a warning when the test is skipped.
12955         (_gl_TS_dir): Add $(srcdir)/ prefix.
12956         (_gl_TS_function_match): Simplify, rather than trying
12957         to enumerate common types.  Otherwise, it would fail to match an
12958         "extern unsigned char const *" declaration in idutils.
12959         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
12960         a way to support use of that type of macro.
12961         (_gl_TS_var_match): Simplify regexp.
12962         (_gl_TS_obj_files): New configurable variable.
12963         (_gl_TS_headers): Likewise.
12964
12965 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12966
12967         verify: fix bug when gnulib <assert.h> is also included
12968         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
12969         is defined, not if _GL_STATIC_ASSERT_H is not defined.
12970         Perhaps there's a better way, but this fixes the immediate problem.
12971         Problem reported by Bruno Haible in
12972         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
12973
12974 2011-05-22  Bruno Haible  <bruno@clisp.org>
12975
12976         xgetcwd: Simplify autoconf macro.
12977         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
12978
12979 2011-05-22  Bruno Haible  <bruno@clisp.org>
12980
12981         New module 'mktime-internal'.
12982         * modules/mktime-internal: New file.
12983         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
12984         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
12985         mktime_internal as a C macro if libc has __mktime_internal.
12986         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
12987         conditions.
12988         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
12989
12990 2011-05-22  Bruno Haible  <bruno@clisp.org>
12991
12992         timegm: Correct mktime replacement statements.
12993         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
12994         defining mktime as a C macro. This completes a 2009-07-28 commit.
12995
12996 2011-05-22  Bruno Haible  <bruno@clisp.org>
12997
12998         timegm: Simplify autoconf macro.
12999         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
13000
13001 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13002
13003         clock-time: change to LGPLv2+.
13004         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
13005         BSD-like but we have no mark for that; this is good enough for now.
13006
13007 2011-05-21  Bruno Haible  <bruno@clisp.org>
13008
13009         strerror_r: Fix comments.
13010         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
13011
13012 2011-05-21  Bruno Haible  <bruno@clisp.org>
13013
13014         relocatable-prog-wrapper: Fix possible link error.
13015         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
13016         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
13017         (gl_FUNC_SETENV): ... to here.
13018         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
13019         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
13020
13021 2011-05-21  Bruno Haible  <bruno@clisp.org>
13022
13023         relocatable-prog-wrapper: Assume strerror() exists.
13024         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
13025         m4/strerror.m4.
13026         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
13027         * lib/relocwrapper.c: Remove mention of strerror module.
13028         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
13029         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
13030         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
13031         C macro.
13032
13033 2011-05-21  Bruno Haible  <bruno@clisp.org>
13034
13035         select: Simplify replacement idiom.
13036         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
13037         Win32 platforms.
13038         * lib/sys_select.in.h (select): Simplify accordingly.
13039         * modules/select (Depends-on): Likewise.
13040
13041 2011-05-21  Bruno Haible  <bruno@clisp.org>
13042
13043         mkdir-p: Simplify autoconf macro.
13044         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
13045         gl_FUNC_LCHOWN.
13046
13047 2011-05-21  Eric Blake  <eblake@redhat.com>
13048
13049         strerror_r: avoid clobbering strerror on cygwin
13050         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
13051         fall back instead to sys_errlist.
13052         * modules/strerror (configure.ac): Add witness.
13053         * tests/test-strerror_r.c (main): Enhance test.
13054         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13055         * tests/test-perror2.c (main): Free memory before exit.
13056
13057 2011-05-21  Bruno Haible  <bruno@clisp.org>
13058
13059         mkdtemp: Use gnulib naming conventions.
13060         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
13061         * modules/mkdtemp (configure.ac): Update.
13062
13063 2011-05-20  Eric Blake  <eblake@redhat.com>
13064
13065         strerror_r: avoid corrupting errno on Solaris
13066         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
13067         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13068
13069         strerror_r: avoid compiler warning
13070         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
13071
13072         strerror_r: simplify AIX code
13073         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
13074
13075         test-perror: avoid spurious failure on FreeBSD
13076         * modules/perror-tests (Depends-on): Add strerror, now that
13077         strerror_r no longer pulls it in.
13078
13079 2011-05-20  Bruno Haible  <bruno@clisp.org>
13080
13081         strerror_r-posix: Remove unused dependencies.
13082         * modules/strerror_r-posix (Depends-on): Remove strerror.
13083         Reported by Eric Blake.
13084
13085 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13086
13087         intprops: remove assumption about A|B representation
13088         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
13089         is a valid integer if both A and B are.  Although this is true for
13090         all known practical hosts, the C standard doesn't guarantee it,
13091         and the code need not assume it.  Also, this change may work around
13092         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
13093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
13094
13095 2011-05-20  Eric Blake  <eblake@redhat.com>
13096
13097         perror: work around FreeBSD bug
13098         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
13099         is broken.  Move AC_LIBOBJ...
13100         * modules/perror (configure.ac): Here.
13101         * doc/posix-functions/perror.texi (perror): Document this.
13102         * tests/test-perror2.c (main): Enhance test.
13103
13104         test-perror: check for strerror interactions
13105         * tests/macros.h (STREQ): Add macro.
13106         * modules/perror-tests (Files): Add second test.
13107         * tests/test-perror2.c (main): New file.
13108         * doc/posix-functions/perror.texi (perror): Document glibc bug.
13109
13110         test-perror: rewrite to use init script
13111         * modules/perror-tests (Files): Add init.sh.
13112         * tests/test-perror.sh: Use temporary directory.
13113
13114 2011-05-20  Jim Meyering  <meyering@redhat.com>
13115
13116         maint: replace misused "a" with "an"
13117         * doc/intprops.texi: "a integer"
13118         * doc/regex.texi: "a explanation"
13119         * lib/alignof.h: "a object"
13120         * lib/argmatch.h: "a explanation"
13121         * lib/argp-help.c: "a option" and "a OPTION_DOC"
13122         * lib/stdint.in.h: "a integer"
13123         * lib/userspec.c: "a owner"
13124         * doc/gnulib.texi: Fix "a idea", and reword.
13125
13126 2011-05-19  Jim Meyering  <meyering@redhat.com>
13127
13128         maint: correct misuse of "a" and "an"
13129         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
13130         * lib/argp-help.c: "an docum...": s/an/a/
13131         * lib/argp-parse.c: "An vector": s/An/A/
13132         * lib/execute.c: "an native": s/an/a/
13133         * lib/spawn-pipe.c: Likewise.
13134         * lib/gc.h: "an Gc_rc": s/an/a/
13135         * lib/unigbrk.in.h: "an grapheme": s/an/a/
13136         * lib/fts.c: "an stat.st_dev": s/an/a/
13137
13138 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13139
13140         intprops-tests: work around HP-UX 11.23 cc bug with constants
13141         * tests/test-intprops.c (VERIFY): New macro.
13142         (main): Use it, instead of verify, to work around the compiler bug; see
13143         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13144
13145         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
13146         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
13147         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
13148         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
13149         (_GL_REMAINDER_OVERFLOW): Use it.
13150
13151         intprops-tests: revert unsigned part of previous change
13152         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
13153         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
13154         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
13155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
13156
13157 2011-05-19  Bruno Haible  <bruno@clisp.org>
13158
13159         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
13160         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
13161         strerror_r() returned without filling the buffer.
13162         Reported by Eric Blake.
13163
13164 2011-05-19  Eric Blake  <eblake@redhat.com>
13165
13166         strerror_r: guarantee unchanged errno
13167         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
13168         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
13169         failure.
13170         * tests/test-strerror_r.c (main): Enhance test.
13171
13172 2011-05-19  Bruno Haible  <bruno@clisp.org>
13173
13174         strerror_r: Reorder #if blocks.
13175         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
13176         for consistency with the previous commit.
13177
13178 2011-05-19  Bruno Haible  <bruno@clisp.org>
13179
13180         perror: Avoid clobbering the strerror buffer when possible.
13181         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
13182         * lib/strerror.c: Include it.
13183         * modules/strerror (Files): Add lib/strerror-impl.h.
13184         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
13185         (my_strerror): New function, defined through lib/strerror-impl.h.
13186         (perror): Use it instead of strerror.
13187         * modules/perror (Files): Add lib/strerror-impl.h.
13188         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
13189
13190 2011-05-19  Eric Blake  <eblake@redhat.com>
13191
13192         strerror_r: fix on newer cygwin
13193         * lib/strerror_r.c (strerror_r): Cygwin now has
13194         __xpg_strerror_r, use it.
13195
13196 2011-05-19  Bruno Haible  <bruno@clisp.org>
13197
13198         strerror_r: Avoid clobbering the strerror buffer when possible.
13199         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
13200         (sys_nerr, sys_errlist): New declarations.
13201         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
13202         HP-UX, native Win32, IRIX, and 32-bit Solaris.
13203         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
13204
13205 2011-05-19  Bruno Haible  <bruno@clisp.org>
13206
13207         strerror_r: Fix test failure on mingw.
13208         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
13209         EXTEND_STRERROR_R.
13210         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
13211         macros from errno.in.h instead.
13212
13213 2011-05-19  Eric Blake  <eblake@redhat.com>
13214
13215         strerror: relax test for Solaris
13216         * tests/test-strerror.c (main): Permit Solaris behavior.
13217         * tests/test-strerror_r.c (main): Likewise.
13218
13219         strerror: enforce POSIX ruling on strerror(0)
13220         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
13221         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13222         * lib/strerror_r.c (rpl_strerror_r): Work around it.
13223         * doc/posix-functions/strerror.texi (strerror): Document it.
13224         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
13225         * tests/test-strerror.c (main): Strengthen test.
13226         * tests/test-strerror_r.c (main): Likewise.
13227
13228 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13229
13230         intprop-tests: port to older and more-pedantic compilers
13231         * modules/intprops-tests (Files): Add tests/macros.h.
13232         * tests/test-intprops.c: Include macros.h.
13233         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
13234         it's no longer documented to expand to an integer constant expression.
13235         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
13236         argument is floating point, as it's no longer documented to expand
13237         to an integer constant expression in that case.
13238         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
13239         compiler bugs reported by Bruno Haible.  See
13240         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13241         (U0, U1): New constants, to work around the same bugs.  Also,
13242         in tests, use e.g., "(unsigned int) 39" rather than "39u".
13243
13244         intprops: work around C compiler bugs
13245         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
13246         bug in Sun C 5.11 2010/08/13 and other compilers; see
13247         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13248
13249         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
13250         * doc/intprops.texi (Integer Type Determination): Fix
13251         documentation for TYPE_IS_INTEGER: it returns an constant
13252         expression, not an integer constant expression.  Fix doc for
13253         TYPE_SIGNED: it returns an integer constant expression only if its
13254         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
13255         hardly worth documented that way....)
13256
13257 2011-05-18  Bruno Haible  <bruno@clisp.org>
13258
13259         strerror_r: Avoid clobbering the strerror buffer when possible.
13260         * lib/strerror_r.c (strerror_r): Merge the three implementations.
13261         Handle gnulib defined errno values here. When strerror() returns NULL
13262         or an empty string, return EINVAL.
13263         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
13264         gnulib defined errno values here.
13265         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
13266
13267 2011-05-18  Eric Blake  <eblake@redhat.com>
13268
13269         fnmatch: avoid compiler warning
13270         * lib/fnmatch_loop.c (FCT): Use correct type.
13271         Reported by Matthias Bolte.
13272
13273 2011-05-13  Jim Meyering  <meyering@redhat.com>
13274
13275         maint.mk: three new prohibit_<HDR>_without_use rules
13276         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
13277         (sc_prohibit_stdio-safer_without_use): Likewise.
13278         (sc_prohibit_xfreopen_without_use): Likewise.
13279
13280 2011-05-17  Jim Meyering  <meyering@redhat.com>
13281
13282         announce-gen: fail if the NEWS delta is empty
13283         If there's nothing noteworthy in NEWS, then either you forgot
13284         or you shouldn't be releasing.
13285         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
13286
13287 2011-05-17  Pádraig Brady <P@draigBrady.com>
13288
13289         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
13290         reserved symbols starting with double underscore from the check.
13291
13292 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13293
13294         intprops: add doc
13295         * doc/intprops.texi: New file, documenting intprops.
13296         * doc/gnulib.texi (Particular Modules): Include it.
13297
13298         verify: add doc to gnulib manual and fix example
13299         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
13300         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
13301         (Compile-time Assertions): Fix example so it can't overflow.
13302
13303 2011-05-17  Jim Meyering  <meyering@redhat.com>
13304
13305         warnings.m4: don't usurp save_CPPFLAGS variable name
13306         * m4/warnings.m4: Prefix local temporary variable name with gl_.
13307
13308         doc: fix typo
13309         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
13310
13311 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13312             Bruno Haible  <bruno@clisp.org>
13313
13314         doc: Tweak recent change.
13315         * README (Portability guidelines): Tweak new text.
13316         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
13317         Interix 6.1.
13318
13319 2011-05-16  Eric Blake  <eblake@redhat.com>
13320
13321         inttypes: avoid autoconf warning
13322         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
13323         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13324
13325 2011-05-16  Sam Steingold <sds@gnu.org>
13326         and Eric Blake  <eblake@redhat.com>
13327
13328         vc-list-files: accept multiple directory operands
13329         * build-aux/vc-list-files: Iterate over all remaining operands.
13330
13331 2011-05-16  Bruno Haible  <bruno@clisp.org>
13332
13333         Fix confusion regarding deprecated modules.
13334         * modules/calloc (Status, Notice): Mark module as deprecated, not
13335         obsolete.
13336         * modules/fnmatch-posix (Status, Notice): Likewise.
13337         * modules/getdate (Status, Notice): Likewise.
13338         * modules/getopt (Status, Notice): Likewise.
13339         * modules/malloc (Status, Notice): Likewise.
13340         * modules/pipe (Status, Notice): Likewise.
13341         * modules/realloc (Status, Notice): Likewise.
13342         * modules/rename-dest-slash (Status, Notice): Likewise.
13343         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
13344         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
13345         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
13346         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
13347         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
13348
13349 2011-05-16  Bruno Haible  <bruno@clisp.org>
13350
13351         doc: List the target platforms.
13352         * doc/gnulib-intro.texi (Target Platforms): New section.
13353         * doc/gnulib.texi (Introduction): Update menu.
13354         * README (Portability guidelines): Refer to the new section. Update
13355         statement about oldest supported environment. Remove rationale why
13356         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
13357         unportable C89 function.
13358         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
13359         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
13360
13361 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13362
13363         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
13364
13365 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13366
13367         intprops-tests: new module
13368         * modules/intprops-tests, tests/test-intprops.c: New files.
13369
13370         intprops: add safe, portable integer overflow checking
13371         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
13372         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
13373         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
13374         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
13375         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
13376         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
13377         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
13378         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
13379         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
13380         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
13381         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
13382
13383 2011-05-12  James Youngman  <jay@gnu.org>
13384
13385         Add a test for glibc's Bugzilla bug #12378.
13386         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
13387         doesn't allow the literal matching of a lone "[" (which is
13388         required by POSIX).
13389         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
13390
13391 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
13392
13393         Sync glibc change fixing Bugzilla bug #12378.
13394         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
13395         beginning and fall back to matching as normal character if the
13396         string ends before the matching ']' is found.  This is what POSIX
13397         requires.
13398
13399 2011-05-13  Eric Blake  <eblake@redhat.com>
13400
13401         getcwd-lgpl: relax test for FreeBSD
13402         * doc/posix-functions/getcwd.texi (getcwd): Document portability
13403         issue.
13404         * tests/test-getcwd-lgpl.c (main): Relax test.
13405         Reported by Matthias Bolte.
13406
13407 2011-05-11  Eric Blake  <eblake@redhat.com>
13408
13409         test-fflush: silence compiler warning
13410         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
13411
13412 2011-05-11  Bruno Haible  <bruno@clisp.org>
13413
13414         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
13415         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
13416         * modules/canonicalize (Depends-on): Add 'nocrash'.
13417         * modules/canonicalize-lgpl (Depends-on): Likewise.
13418         * doc/posix-functions/realpath.texi: Update platforms list.
13419         Reported by Ryan Schmidt <ryandesign@macports.org>.
13420
13421 2011-05-11  Bruno Haible  <bruno@clisp.org>
13422
13423         group-member: Declare function in <unistd.h>.
13424         * lib/unistd.in.h (group_member): New declaration.
13425         * lib/group-member.h: Remove file.
13426         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
13427         * tests/test-unistd-c++.cc: Check signature of group_member.
13428         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
13429         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
13430         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
13431         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
13432         HAVE_GROUP_MEMBER.
13433         * modules/group-member (Files): Remove lib/group-member.h.
13434         (Depends-on): Add unistd. Specify conditions.
13435         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13436         (Include): Change to <unistd.h>.
13437         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
13438         HAVE_GROUP_MEMBER.
13439         * NEWS: Mention the change.
13440         * lib/euidaccess.c: Don't include group-member.h.
13441
13442 2011-05-11  Bruno Haible  <bruno@clisp.org>
13443
13444         group-member: Document module.
13445         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
13446         module.
13447
13448 2011-05-11  Bruno Haible  <bruno@clisp.org>
13449
13450         fclose: Fix mistake earlier today.
13451         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
13452
13453 2011-05-11  Eric Blake  <eblake@redhat.com>
13454
13455         fclose: preserve fflush errors
13456         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
13457         Reported by Jim Meyering.
13458
13459         bootstrap: support a prereq of 'rpcgen -' on RHEL5
13460         * build-aux/bootstrap (check_versions): When no specific version
13461         is required, merely check that the app produces an exit status
13462         that indicates its existence.
13463
13464         maint.mk: drop redundant check
13465         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
13466         the same but better.
13467
13468 2011-05-11  Bruno Haible  <bruno@clisp.org>
13469
13470         fclose: Fix possible link error.
13471         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
13472         unregister_shadow_fd. Improve comments.
13473         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
13474         Eric Blake.
13475
13476 2011-05-11  Jim Meyering  <meyering@redhat.com>
13477
13478         maint.mk: improve "can not" detection and generalize rule name
13479         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
13480         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
13481         Use the same technique as in sc_prohibit_doubled_word, so that
13482         we recognize "can not" also when the words are separated by a newline.
13483         Suggested by Eric Blake.
13484         (perl_filename_lineno_text_): Define.  Factored out of...
13485         (prohibit_doubled_word_): ...here.  Use the new definition.
13486         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
13487         (prohibit_undesirable_word_seq_RE_): New overridable variable.
13488         (ignore_undesirable_word_sequence_RE_): New overridable variable.
13489
13490 2011-05-10  Eric Blake  <eblake@redhat.com>
13491
13492         fclose: avoid double close race when possible
13493         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
13494         all but WINDOWS_SOCKETS.
13495
13496 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
13497
13498         openat: correct new comment
13499         * lib/openat-proc.c (openat_proc_name): Correct the comment.
13500
13501 2011-05-10  Jim Meyering  <meyering@redhat.com>
13502
13503         openat: add comments
13504         * lib/openat-proc.c (openat_proc_name): Add comments,
13505         mostly from Eric Blake.
13506
13507 2011-05-09  Eric Blake  <eblake@redhat.com>
13508
13509         openat: reduce syscalls in first probe of /proc
13510         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
13511         be a directory.  Simplify the probe for .. bugs.
13512         * modules/openat (Depends-on): Drop same-inode.
13513         Reported by Bastien ROUCARIES.
13514
13515 2011-05-09  Jim Meyering  <meyering@redhat.com>
13516
13517         maint.mk: change semantics/name of tight_scope variables
13518         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
13519         Rename variables to align with semantics that make them more useful.
13520
13521         maint.mk: tweak new rule's name not to impinge
13522         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
13523         (sc_tight_scope): Use new rule name rather than $@-0.
13524
13525         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
13526         * top/maint.mk (sc_tight_scope): New rule.
13527         (sc_tight_scope-0): New rule, ifdef'd out.
13528         (_gl_TS_dir): Default.
13529         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
13530         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
13531
13532 2011-05-09  Simon Josefsson  <simon@josefsson.org>
13533
13534         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
13535         Haible <bruno@clisp.org>.
13536
13537 2011-05-08  Bruno Haible  <bruno@clisp.org>
13538
13539         Comments.
13540         * m4/isnanf.m4: Add comment.
13541         * m4/isnanl.m4: Likewise.
13542
13543 2011-05-08  Bruno Haible  <bruno@clisp.org>
13544
13545         glob: Remove obsolete macro.
13546         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
13547
13548 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13549
13550         intprops: Sun C 5.11 supports __typeof__
13551         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
13552         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
13553         which is new.
13554         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
13555
13556         intprops: switch to usual gnulib indenting and naming
13557         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
13558         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
13559
13560         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
13561
13562 2011-05-08  Jim Meyering  <meyering@redhat.com>
13563
13564         maint.mk: suppress "Entering/Leaving directory" diag in announcement
13565         * top/maint.mk (release-prep): Use make's --no-print-directory
13566         option when generating the announcement.  This eliminates the
13567         pesky "make[2]: Entering/Leaving directory" diagnostics in the
13568         generated announcement template.
13569
13570 2011-05-08  Bruno Haible  <bruno@clisp.org>
13571
13572         tzset: Fix gettimeofday wrapper on Solaris 2.6.
13573         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
13574         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
13575
13576 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13577
13578         ignore-value, verify: Omit include files from lib_SOURCES.
13579         * modules/ignore-value, modules/verify (Makefile.am):
13580         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
13581         that leads Automake to duplicate use of am__objects_... variables
13582         in Makefile.in.  See
13583         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
13584
13585 2011-05-07  Bruno Haible  <bruno@clisp.org>
13586
13587         fclose: Simplify autoconf macro.
13588         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
13589         defined.
13590
13591 2011-05-07  Bruno Haible  <bruno@clisp.org>
13592
13593         canonicalize-lgpl: Fix autoconf macro ordering bug.
13594         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
13595         gl_STDLIB_H_DEFAULTS.
13596
13597 2011-05-06  Eric Blake  <eblake@redhat.com>
13598
13599         maintainer-makefile: make sc_po_check easier to tune
13600         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
13601         to probe for strings, such as an alternate location for gnulib.
13602
13603         fclose: guarantee behavior on seekable stdin
13604         * modules/fclose (Depends-on): Add fflush.
13605         * doc/posix-functions/fclose.texi (fclose): Document this.
13606         * tests/test-fclose.c (main): Make test for this unconditional.
13607
13608 2011-05-06  Bruno Haible  <bruno@clisp.org>
13609
13610         fflush, fpurge: Relicense under LGPLv2+.
13611         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
13612         * modules/fpurge (License): Likewise.
13613         With permission from Eric Blake and Jim Meyering.
13614         Suggested by Eric Blake.
13615
13616 2011-05-06  Karl Berry  <karl@gnu.org>
13617
13618         * MODULES.html.sh (func_all_modules): remove exit.
13619
13620 2011-05-06  Jim Meyering  <meyering@redhat.com>
13621
13622         maint.mk: use info-gnu@ as the default only for a stable release
13623         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
13624         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
13625         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
13626         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
13627
13628 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13629
13630         assert-h: new module, which supports C1X-style static_assert
13631         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
13632         * lib/verify.h: Revamp so that this can be copied into assert.h,
13633         while retaining the ability to use it standalone as before.
13634         Rename private identifiers so as not to encroach on the
13635         standard C namespace, since this is now used by assert.h.
13636         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
13637         the old verify_true.
13638         (_GL_VERIFY_TRUE): New macro, with much of the contents of
13639         the old verify_true.  Use _GL_VERIFY_TYPE.
13640         (_GL_VERIFY): New macro, with much of the contents of the old verify.
13641         (static_assert): New macro, if _GL_STATIC_ASSERT_H
13642         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
13643         defined when this file is copied into the replacement assert.h.
13644         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
13645         and _Static_assert is not built in.
13646         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
13647         defined, and use the new macros mentioned above.
13648         * doc/posix-headers/assert.texi: Document this.
13649
13650 2011-05-05  Bruno Haible  <bruno@clisp.org>
13651
13652         fclose, fflush: Respect rules for use of AC_LIBOBJ.
13653         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
13654         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
13655         gl_REPLACE_FCLOSE here.
13656         * modules/fflush (Depends-on): Remove fclose.
13657         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
13658         combination with module 'fclose'.
13659
13660 2011-05-05  Bruno Haible  <bruno@clisp.org>
13661
13662         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
13663         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
13664         gl_FUNC_FFLUSH.
13665         (gl_FUNC_FFLUSH): Use it.
13666         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
13667         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
13668         gl_REPLACE_FSEEKO here.
13669
13670 2011-05-05  Bruno Haible  <bruno@clisp.org>
13671
13672         tzset: Relicense under LGPL.
13673         * modules/tzset (License): Change to LGPL.
13674         No agreement needed; it's a no-op.
13675
13676         strtoimax, strtoumax: Relicense under LGPL.
13677         * modules/strtoimax (License): Change to LGPL.
13678         * modules/strtoumax (License): Likewise.
13679         With permission from Jim Meyering, Paul Eggert:
13680         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
13681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
13682
13683         getgroups: Relicense under LGPL.
13684         * modules/getgroups (License): Change to LGPL.
13685         With permission from Jim Meyering, Paul Eggert, Eric Blake:
13686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13689
13690         nanosleep: Relicense under LGPL.
13691         * modules/nanosleep (License): Change to LGPL.
13692         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
13693         Haible:
13694         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13695         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13696         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13697         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13698
13699         futimens: Relicense under LGPL.
13700         * modules/futimens (License): Change to LGPL.
13701         With permission from Eric Blake:
13702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13703
13704         fflush: Relicense under LGPL.
13705         * modules/fflush (License): Change to LGPL.
13706         With permission from Eric Blake, Bruno Haible, Jim Meyering:
13707         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13708         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13709         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
13710
13711         tmpfile: Relicense under LGPL.
13712         * modules/tmpfile (License): Change to LGPL.
13713         With permission from Ben Pfaff:
13714         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13715
13716         isfinite: Relicense under LGPL.
13717         * modules/isfinite (License): Change to LGPL.
13718         With permission from Ben Pfaff, Bruno Haible:
13719         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13720         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
13721
13722         acosl..tanl: Relicense under LGPL.
13723         * modules/acosl (License): Change to LGPL.
13724         * modules/asinl (License): Likewise.
13725         * modules/atanl (License): Likewise.
13726         * modules/cosl (License): Likewise.
13727         * modules/expl (License): Likewise.
13728         * modules/logl (License): Likewise.
13729         * modules/sinl (License): Likewise.
13730         * modules/sqrtl (License): Likewise.
13731         * modules/tanl (License): Likewise.
13732         Source code originally from glibc and Paolo Bonzini. Agreements:
13733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
13734         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
13735
13736 2011-05-05  Bruno Haible  <bruno@clisp.org>
13737
13738         signal: Define sighandler_t.
13739         * lib/signal.in.h (sighandler_t): New type.
13740         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
13741         whether sighandler_t is defined.
13742         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
13743         * modules/signal (Depends-on): Add extensions.
13744         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
13745         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
13746         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
13747
13748 2011-05-05  Eric Blake  <eblake@redhat.com>
13749
13750         maint: remove useless REPLACE_*_H macros
13751         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
13752         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
13753         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
13754         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
13755         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
13756         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
13757         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
13758         * m4/btowc.m4: Update callers.
13759         * m4/dirfd.m4: Likewise.
13760         * m4/duplocale.m4: Likewise.
13761         * m4/fchdir.m4: Likewise.
13762         * m4/fdopendir.m4: Likewise.
13763         * m4/inet_ntop.m4: Likewise.
13764         * m4/inet_pton.m4: Likewise.
13765         * m4/ioctl.m4: Likewise.
13766         * m4/mbrlen.m4: Likewise.
13767         * m4/mbrtowc.m4: Likewise.
13768         * m4/mbsinit.m4: Likewise.
13769         * m4/mbsnrtowcs.m4: Likewise.
13770         * m4/mbsrtowcs.m4: Likewise.
13771         * m4/poll.m4: Likewise.
13772         * m4/setlocale.m4: Likewise.
13773         * m4/wcrtomb.m4: Likewise.
13774         * m4/wcsnrtombs.m4: Likewise.
13775         * m4/wcsrtombs.m4: Likewise.
13776         * m4/wctob.m4: Likewise.
13777         * m4/wcwidth.m4: Likewise.
13778         * modules/posix_spawn: Likewise.
13779         * modules/posix_spawn_file_actions_addclose: Likewise.
13780         * modules/posix_spawn_file_actions_adddup2: Likewise.
13781         * modules/posix_spawn_file_actions_addopen: Likewise.
13782         * modules/posix_spawn_file_actions_destroy: Likewise.
13783         * modules/posix_spawn_file_actions_init: Likewise.
13784         * modules/posix_spawnattr_destroy: Likewise.
13785         * modules/posix_spawnattr_getflags: Likewise.
13786         * modules/posix_spawnattr_getpgroup: Likewise.
13787         * modules/posix_spawnattr_getschedparam: Likewise.
13788         * modules/posix_spawnattr_getschedpolicy: Likewise.
13789         * modules/posix_spawnattr_getsigdefault: Likewise.
13790         * modules/posix_spawnattr_getsigmask: Likewise.
13791         * modules/posix_spawnattr_init: Likewise.
13792         * modules/posix_spawnattr_setflags: Likewise.
13793         * modules/posix_spawnattr_setpgroup: Likewise.
13794         * modules/posix_spawnattr_setschedparam: Likewise.
13795         * modules/posix_spawnattr_setschedpolicy: Likewise.
13796         * modules/posix_spawnattr_setsigdefault: Likewise.
13797         * modules/posix_spawnattr_setsigmask: Likewise.
13798         * modules/posix_spawnp: Likewise.
13799
13800 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
13801
13802         Add option to do-release-commit-and-tag to specify branch.
13803         * build-aux/do-release-commit-and-tag: Add --branch.
13804
13805 2011-05-03  Bruno Haible  <bruno@clisp.org>
13806
13807         Avoid unnecessary compilation units, through conditional dependencies.
13808         * modules/accept (Depends-on): Add conditions to the dependencies.
13809         * modules/acosl (Depends-on): Likewise.
13810         * modules/argz (Depends-on): Likewise.
13811         * modules/asinl (Depends-on): Likewise.
13812         * modules/atanl (Depends-on): Likewise.
13813         * modules/atoll (Depends-on): Likewise.
13814         * modules/bind (Depends-on): Likewise.
13815         * modules/btowc (Depends-on): Likewise.
13816         * modules/canonicalize-lgpl (Depends-on): Likewise.
13817         * modules/ceil (Depends-on): Likewise.
13818         * modules/ceilf (Depends-on): Likewise.
13819         * modules/ceill (Depends-on): Likewise.
13820         * modules/chdir-long (Depends-on): Likewise.
13821         * modules/chown (Depends-on): Likewise.
13822         * modules/close (Depends-on): Likewise.
13823         * modules/connect (Depends-on): Likewise.
13824         * modules/cosl (Depends-on): Likewise.
13825         * modules/dirfd (Depends-on): Likewise.
13826         * modules/dprintf (Depends-on): Likewise.
13827         * modules/dprintf-posix (Depends-on): Likewise.
13828         * modules/error (Depends-on): Likewise.
13829         * modules/euidaccess (Depends-on): Likewise.
13830         * modules/expl (Depends-on): Likewise.
13831         * modules/faccessat (Depends-on): Likewise.
13832         * modules/fchdir (Depends-on): Likewise.
13833         * modules/fclose (Depends-on): Likewise.
13834         * modules/fcntl (Depends-on): Likewise.
13835         * modules/fdopendir (Depends-on): Likewise.
13836         * modules/fflush (Depends-on): Likewise.
13837         * modules/floor (Depends-on): Likewise.
13838         * modules/floorf (Depends-on): Likewise.
13839         * modules/floorl (Depends-on): Likewise.
13840         * modules/fnmatch (Depends-on): Likewise.
13841         * modules/fopen (Depends-on): Likewise.
13842         * modules/fprintf-posix (Depends-on): Likewise.
13843         * modules/frexp (Depends-on): Likewise.
13844         * modules/frexp-nolibm (Depends-on): Likewise.
13845         * modules/frexpl (Depends-on): Likewise.
13846         * modules/frexpl-nolibm (Depends-on): Likewise.
13847         * modules/fseek (Depends-on): Likewise.
13848         * modules/fsusage (Depends-on): Likewise.
13849         * modules/ftell (Depends-on): Likewise.
13850         * modules/ftello (Depends-on): Likewise.
13851         * modules/futimens (Depends-on): Likewise.
13852         * modules/getcwd (Depends-on): Likewise.
13853         * modules/getcwd-lgpl (Depends-on): Likewise.
13854         * modules/getdelim (Depends-on): Likewise.
13855         * modules/getdomainname (Depends-on): Likewise.
13856         * modules/getgroups (Depends-on): Likewise.
13857         * modules/gethostname (Depends-on): Likewise.
13858         * modules/getline (Depends-on): Likewise.
13859         * modules/getlogin_r (Depends-on): Likewise.
13860         * modules/getopt-posix (Depends-on): Likewise.
13861         * modules/getpeername (Depends-on): Likewise.
13862         * modules/getsockname (Depends-on): Likewise.
13863         * modules/getsockopt (Depends-on): Likewise.
13864         * modules/getsubopt (Depends-on): Likewise.
13865         * modules/getusershell (Depends-on): Likewise.
13866         * modules/glob (Depends-on): Likewise.
13867         * modules/grantpt (Depends-on): Likewise.
13868         * modules/iconv_open (Depends-on): Likewise.
13869         * modules/iconv_open-utf (Depends-on): Likewise.
13870         * modules/inet_ntop (Depends-on): Likewise.
13871         * modules/inet_pton (Depends-on): Likewise.
13872         * modules/ioctl (Depends-on): Likewise.
13873         * modules/isapipe (Depends-on): Likewise.
13874         * modules/isfinite (Depends-on): Likewise.
13875         * modules/isinf (Depends-on): Likewise.
13876         * modules/lchown (Depends-on): Likewise.
13877         * modules/ldexpl (Depends-on): Likewise.
13878         * modules/link (Depends-on): Likewise.
13879         * modules/linkat (Depends-on): Likewise.
13880         * modules/listen (Depends-on): Likewise.
13881         * modules/logl (Depends-on): Likewise.
13882         * modules/lstat (Depends-on): Likewise.
13883         * modules/mbrlen (Depends-on): Likewise.
13884         * modules/mbrtowc (Depends-on): Likewise.
13885         * modules/mbsinit (Depends-on): Likewise.
13886         * modules/mbsnrtowcs (Depends-on): Likewise.
13887         * modules/mbsrtowcs (Depends-on): Likewise.
13888         * modules/mbtowc (Depends-on): Likewise.
13889         * modules/memcmp (Depends-on): Likewise.
13890         * modules/mkdir (Depends-on): Likewise.
13891         * modules/mkdtemp (Depends-on): Likewise.
13892         * modules/mkfifo (Depends-on): Likewise.
13893         * modules/mkfifoat (Depends-on): Likewise.
13894         * modules/mknod (Depends-on): Likewise.
13895         * modules/mkostemp (Depends-on): Likewise.
13896         * modules/mkostemps (Depends-on): Likewise.
13897         * modules/mkstemp (Depends-on): Likewise.
13898         * modules/mkstemps (Depends-on): Likewise.
13899         * modules/mktime (Depends-on): Likewise.
13900         * modules/nanosleep (Depends-on): Likewise.
13901         * modules/open (Depends-on): Likewise.
13902         * modules/openat (Depends-on): Likewise.
13903         * modules/perror (Depends-on): Likewise.
13904         * modules/poll (Depends-on): Likewise.
13905         * modules/popen (Depends-on): Likewise.
13906         * modules/posix_spawn (Depends-on): Likewise.
13907         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
13908         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13909         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13910         * modules/posix_spawnp (Depends-on): Likewise.
13911         * modules/pread (Depends-on): Likewise.
13912         * modules/printf-posix (Depends-on): Likewise.
13913         * modules/ptsname (Depends-on): Likewise.
13914         * modules/putenv (Depends-on): Likewise.
13915         * modules/pwrite (Depends-on): Likewise.
13916         * modules/readline (Depends-on): Likewise.
13917         * modules/readlink (Depends-on): Likewise.
13918         * modules/readlinkat (Depends-on): Likewise.
13919         * modules/recv (Depends-on): Likewise.
13920         * modules/recvfrom (Depends-on): Likewise.
13921         * modules/regex (Depends-on): Likewise.
13922         * modules/remove (Depends-on): Likewise.
13923         * modules/rename (Depends-on): Likewise.
13924         * modules/renameat (Depends-on): Likewise.
13925         * modules/rmdir (Depends-on): Likewise.
13926         * modules/round (Depends-on): Likewise.
13927         * modules/roundf (Depends-on): Likewise.
13928         * modules/roundl (Depends-on): Likewise.
13929         * modules/rpmatch (Depends-on): Likewise.
13930         * modules/select (Depends-on): Likewise.
13931         * modules/send (Depends-on): Likewise.
13932         * modules/sendto (Depends-on): Likewise.
13933         * modules/setenv (Depends-on): Likewise.
13934         * modules/setlocale (Depends-on): Likewise.
13935         * modules/setsockopt (Depends-on): Likewise.
13936         * modules/shutdown (Depends-on): Likewise.
13937         * modules/sigaction (Depends-on): Likewise.
13938         * modules/signbit (Depends-on): Likewise.
13939         * modules/sigprocmask (Depends-on): Likewise.
13940         * modules/sinl (Depends-on): Likewise.
13941         * modules/sleep (Depends-on): Likewise.
13942         * modules/snprintf (Depends-on): Likewise.
13943         * modules/snprintf-posix (Depends-on): Likewise.
13944         * modules/socket (Depends-on): Likewise.
13945         * modules/sprintf-posix (Depends-on): Likewise.
13946         * modules/sqrtl (Depends-on): Likewise.
13947         * modules/stat (Depends-on): Likewise.
13948         * modules/strchrnul (Depends-on): Likewise.
13949         * modules/strdup-posix (Depends-on): Likewise.
13950         * modules/strerror (Depends-on): Likewise.
13951         * modules/strerror_r-posix (Depends-on): Likewise.
13952         * modules/strndup (Depends-on): Likewise.
13953         * modules/strnlen (Depends-on): Likewise.
13954         * modules/strptime (Depends-on): Likewise.
13955         * modules/strsep (Depends-on): Likewise.
13956         * modules/strsignal (Depends-on): Likewise.
13957         * modules/strstr-simple (Depends-on): Likewise.
13958         * modules/strtod (Depends-on): Likewise.
13959         * modules/strtoimax (Depends-on): Likewise.
13960         * modules/strtok_r (Depends-on): Likewise.
13961         * modules/strtoumax (Depends-on): Likewise.
13962         * modules/symlink (Depends-on): Likewise.
13963         * modules/symlinkat (Depends-on): Likewise.
13964         * modules/tanl (Depends-on): Likewise.
13965         * modules/tcgetsid (Depends-on): Likewise.
13966         * modules/tmpfile (Depends-on): Likewise.
13967         * modules/trunc (Depends-on): Likewise.
13968         * modules/truncf (Depends-on): Likewise.
13969         * modules/truncl (Depends-on): Likewise.
13970         * modules/uname (Depends-on): Likewise.
13971         * modules/unlink (Depends-on): Likewise.
13972         * modules/unlockpt (Depends-on): Likewise.
13973         * modules/unsetenv (Depends-on): Likewise.
13974         * modules/usleep (Depends-on): Likewise.
13975         * modules/utimensat (Depends-on): Likewise.
13976         * modules/vasprintf (Depends-on): Likewise.
13977         * modules/vdprintf (Depends-on): Likewise.
13978         * modules/vdprintf-posix (Depends-on): Likewise.
13979         * modules/vfprintf-posix (Depends-on): Likewise.
13980         * modules/vprintf-posix (Depends-on): Likewise.
13981         * modules/vsnprintf (Depends-on): Likewise.
13982         * modules/vsnprintf-posix (Depends-on): Likewise.
13983         * modules/vsprintf-posix (Depends-on): Likewise.
13984         * modules/wcrtomb (Depends-on): Likewise.
13985         * modules/wcscasecmp (Depends-on): Likewise.
13986         * modules/wcscspn (Depends-on): Likewise.
13987         * modules/wcsdup (Depends-on): Likewise.
13988         * modules/wcsncasecmp (Depends-on): Likewise.
13989         * modules/wcsnrtombs (Depends-on): Likewise.
13990         * modules/wcspbrk (Depends-on): Likewise.
13991         * modules/wcsrtombs (Depends-on): Likewise.
13992         * modules/wcsspn (Depends-on): Likewise.
13993         * modules/wcsstr (Depends-on): Likewise.
13994         * modules/wcstok (Depends-on): Likewise.
13995         * modules/wcswidth (Depends-on): Likewise.
13996         * modules/wctob (Depends-on): Likewise.
13997         * modules/wctomb (Depends-on): Likewise.
13998         * modules/wctype (Depends-on): Likewise.
13999         * modules/wcwidth (Depends-on): Likewise.
14000         * modules/write (Depends-on): Likewise.
14001
14002 2011-05-03  Bruno Haible  <bruno@clisp.org>
14003
14004         Support for conditional dependencies.
14005         * doc/gnulib.texi (Module description): Document the syntax of
14006         conditional dependencies.
14007         * gnulib-tool: New option --conditional-dependencies.
14008         (func_usage): Document it.
14009         (cond_dependencies): New variable.
14010         (func_get_automake_snippet_conditional,
14011         func_get_automake_snippet_unconditional): New functions, extracted from
14012         func_get_automake_snippet.
14013         (func_get_automake_snippet): Use them.
14014         (sed_first_32_chars): New variable.
14015         (func_module_shellfunc_name): New function.
14016         (func_module_shellvar_name): New function.
14017         (func_module_conditional_name): New function.
14018         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
14019         func_cond_module_condition): New functions.
14020         (func_modules_transitive_closure): Add support for conditional
14021         dependencies.
14022         (func_emit_lib_Makefile_am): For a conditional module, enclose the
14023         conditional automake snippet in an automake conditional.
14024         (func_emit_autoconf_snippets): Emit shell functions that contain the
14025         code for conditional modules.
14026         (func_import, func_create_testdir): Update specification.
14027
14028 2011-05-03  Eric Blake  <eblake@redhat.com>
14029
14030         test-getaddrinfo: report error information
14031         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
14032
14033 2011-05-03  Jim Meyering  <meyering@redhat.com>
14034
14035         bootstrap: avoid build failure when $GZIP is set
14036         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
14037         program name.  If defined at all, it is supposed to list gzip options.
14038         Reported by Alan Curry in http://debbugs.gnu.org/8609
14039
14040 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
14041
14042         readme-release: new module with release instructions
14043         * modules/readme-release: New module.
14044         * top/README-release: New file, from coreutils, grep, diffutils.
14045         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14046
14047 2011-05-02  Eric Blake  <eblake@redhat.com>
14048
14049         fflush: also replace fclose when fixing fflush
14050         * modules/fflush (Depends-on): Add fclose.
14051         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
14052         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
14053         memstreams with no backing fd.
14054         * doc/posix-functions/fclose.texi (fclose): Document the use of
14055         fflush module to fix the bug.
14056         * tests/test-fclose.c (main): Relax test when fclose is used in
14057         isolation.
14058
14059         fclose: add some tests
14060         * modules/fclose-tests: New test module.
14061         * tests/test-fclose.c: New file.
14062         * doc/posix-functions/fclose.texi (fclose): Document the bug.
14063
14064         fclose: reduced dependencies
14065         * modules/fclose (Depends-on): Switch from fflush/fseeko to
14066         simpler lseek.
14067         * lib/fclose.c (rpl_fclose): Likewise.
14068         Reported by Simon Josefsson.
14069
14070         exit: drop remaining clients
14071         * modules/argmatch (Depends-on): Replace exit with stdlib.
14072         * modules/copy-file (Depends-on): Likewise.
14073         * modules/execute (Depends-on): Likewise.
14074         * modules/exitfail (Depends-on): Likewise.
14075         * modules/obstack (Depends-on): Likewise.
14076         * modules/pagealign_alloc (Depends-on): Likewise.
14077         * modules/pipe-filter-gi (Depends-on): Likewise.
14078         * modules/pipe-filter-ii (Depends-on): Likewise.
14079         * modules/savewd (Depends-on): Likewise.
14080         * modules/spawn-pipe (Depends-on): Likewise.
14081         * modules/wait-process (Depends-on): Likewise.
14082         * modules/xsetenv (Depends-on): Likewise.
14083         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
14084         * modules/git-merge-changelog (Depends-on): Likewise.
14085         * modules/long-options (Depends-on): Likewise.
14086         * modules/pt_chown (Depends-on): Likewise.
14087         * modules/sysexits (Depends-on): Likewise.
14088
14089         freading: relax license from LGPLv3+ to LGPLv2+
14090         * modules/freading (License): Relax LGPL version.
14091
14092 2011-05-02  Bruno Haible  <bruno@clisp.org>
14093
14094         fchdir: Remove unused dependencies.
14095         * modules/fchdir (Depends-on): Remove include_next.
14096
14097 2011-05-02  Bruno Haible  <bruno@clisp.org>
14098
14099         gnulib-tool: Refactor.
14100         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
14101         from func_emit_autoconf_snippets.
14102         (func_emit_autoconf_snippets): Use it.
14103
14104 2011-05-02  Simon Josefsson  <simon@josefsson.org>
14105
14106         * NEWS: Document removal of 'exit'.
14107         * modules/exit: Remove file.
14108
14109 2011-05-01  Bruno Haible  <bruno@clisp.org>
14110
14111         Update DEPENDENCIES.
14112         * DEPENDENCIES (gettext): Recommend the newest release.
14113         Reported by Simon Josefsson.
14114
14115 2011-05-01  Bruno Haible  <bruno@clisp.org>
14116
14117         gnulib-tool: Reduce code duplication.
14118         * gnulib-tool (func_emit_autoconf_snippets): New function.
14119         (func_import, func_create_testdir): Use it.
14120
14121 2011-04-30  Eric Blake  <eblake@redhat.com>
14122
14123         fclose: don't fail on non-seekable input stream
14124         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
14125         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
14126         since fflush is allowed to fail in that case.
14127
14128 2011-04-30  Bruno Haible  <bruno@clisp.org>
14129
14130         dup3: cleanup
14131         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
14132
14133 2011-04-30  Bruno Haible  <bruno@clisp.org>
14134
14135         netdb: Make it work in C++ mode.
14136         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
14137         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
14138         module.
14139         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
14140         gl_MODULE_INDICATOR_FOR_TESTS.
14141         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
14142         * modules/netdb-c++-tests: New file.
14143         * tests/test-netdb-c++.cc: New file.
14144
14145 2011-04-30  Bruno Haible  <bruno@clisp.org>
14146
14147         New modules 'vfscanf', 'vscanf'.
14148         * modules/vfscanf: New file.
14149         * modules/vscanf: New file.
14150         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
14151         here.
14152         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
14153         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
14154
14155 2011-04-30  Bruno Haible  <bruno@clisp.org>
14156
14157         passfd: Add comments.
14158         * lib/passfd.c: Add comments about platforms.
14159
14160 2011-04-30  Bruno Haible  <bruno@clisp.org>
14161
14162         sys_uio: Make <sys/uio.h> self-contained.
14163         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
14164         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
14165
14166 2011-04-30  Bruno Haible  <bruno@clisp.org>
14167
14168         sys_socket: Ensure 'struct iovec' definition.
14169         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
14170         <sys/socket.h>.
14171         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
14172
14173 2011-04-30  Bruno Haible  <bruno@clisp.org>
14174
14175         sys_uio: Protect definition of 'struct iovec'.
14176         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
14177         it as a C struct.
14178
14179 2011-04-30  Bruno Haible  <bruno@clisp.org>
14180
14181         manywarnings: fix indentation
14182         * m4/manywarnings.m4: Indent by 2 spaces consistently.
14183
14184 2011-04-30  Pádraig Brady <P@draigBrady.com>
14185
14186         manywarnings: add -Wno-missing-field-initializers if needed.
14187         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
14188         option if it's needed to allow initialization with { 0, }
14189
14190 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
14191
14192         announce-gen: cosmetic improvement
14193         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
14194
14195 2011-04-29  Jim Meyering  <meyering@redhat.com>
14196
14197         vc-list-files: indent with spaces, not TABs
14198         * build-aux/vc-list-files: Convert leading TABs to spaces,
14199         to match the style of most other files in gnulib.
14200
14201         announce-gen: indent with spaces, not TABs
14202         * build-aux/announce-gen: Convert all TABs to spaces, to match
14203         the style of most other files in gnulib.
14204
14205 2011-04-29  Eric Blake  <eblake@redhat.com>
14206
14207         quotearg: avoid uninitialized variable use
14208         * lib/quotearg.c (quoting_options_from_style): Initialize
14209         remaining fields, and ensure that custom styles are only used via
14210         quoting_options rather than quoting_style.
14211
14212 2011-04-29  Jim Meyering  <meyering@redhat.com>
14213
14214         maint.mk: remove unused VC-tag variable
14215         * top/maint.mk (VC-tag): Remove unused variable.
14216
14217 2011-04-29  Bruno Haible  <bruno@clisp.org>
14218
14219         netdb: fix gai_strerror replacements
14220         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
14221         * modules/netdb: Substitute it.
14222
14223 2011-04-29  Jim Meyering  <meyering@redhat.com>
14224
14225         test-getcwd.c: avoid new set-but-not-used warning
14226         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
14227         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
14228         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
14229         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
14230
14231         test-hash.c: avoid a new shadowing warning
14232         * tests/test-hash.c (main): Don't shadow "dup".
14233
14234 2011-04-28  Eric Blake  <eblake@redhat.com>
14235
14236         getaddrinfo: fix gai_strerror signature
14237         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
14238         and work around mingw with UNICODE defined.
14239         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
14240         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
14241         * modules/netdb (Makefile.am): Substitute it.
14242         * lib/netdb.in.h (gai_strerror): Declare replacement.
14243         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
14244         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
14245         the fix.
14246
14247         getsockopt: avoid compiler warning
14248         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
14249         Reported by Matthias Bolte.
14250
14251         tests: drop unused link dependency
14252         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
14253         * modules/dirent-safer-tests (Makefile.am): Likewise.
14254         * modules/fdopendir-tests (Makefile.am): Likewise.
14255         * modules/mkfifoat-tests (Makefile.am): Likewise.
14256         * modules/openat-safer-tests (Makefile.am): Likewise.
14257         * modules/openat-tests (Makefile.am): Likewise.
14258         * modules/readlinkat-tests (Makefile.am): Likewise.
14259         * modules/symlinkat-tests (Makefile.am): Likewise.
14260         * modules/linkat-tests (Makefile.am): Likewise.
14261         (Depends-on): Switch to filenamecat-lgpl.
14262         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
14263         LIBINTL.
14264         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
14265         * tests/test-linkat.c (main): Don't require xalloc.
14266
14267         hash, mgetgroups: drop xalloc dependency
14268         * lib/hash.c (includes): Adjust includes.
14269         * lib/mgetgroups.c (includes): Likewise.
14270         (xgetgroups): Move...
14271         * lib/xgetgroups.c: ...to new file.
14272         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
14273         * modules/xgetgroups: New file, split from...
14274         * modules/mgetgroups: ...here.
14275         (Depends-on): Add xalloc-oversized.
14276         * modules/hash (Depends-on): Likewise.
14277         * modules/hash-tests (Depends-on): Drop xalloc.
14278         (test_hash_LDADD): Drop unused library.
14279         * tests/test-hash.c (main): Break xalloc dependency.
14280         (includes): Drop unused include.
14281
14282         xalloc-oversized: new module
14283         * modules/xalloc-oversized: New module.
14284         * modules/xalloc (Depends-on): Add it.
14285         * lib/xalloc.h (xalloc_oversized): Move...
14286         * lib/xalloc-oversized.h: ...into new file.
14287
14288         utimecmp: drop dependency on xmalloc
14289         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
14290         due to memory pressure.
14291         * modules/utimecmp (Depends-on): Drop xalloc.
14292
14293 2011-04-27  Eric Blake  <eblake@redhat.com>
14294
14295         getcwd: fix mingw bugs
14296         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
14297         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
14298         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
14299
14300 2011-04-27  Bruno Haible  <bruno@clisp.org>
14301
14302         mkstemps: Ensure declaration on MacOS X 10.5.
14303         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
14304         * doc/glibc-functions/mkstemps.texi: Document header file problem on
14305         MacOS X.
14306
14307 2011-04-27  Bruno Haible  <bruno@clisp.org>
14308
14309         mkstemp: More documentation.
14310         * doc/posix-functions/mkstemp.texi: Document header file problem on
14311         MacOS X.
14312
14313 2011-04-27  Bruno Haible  <bruno@clisp.org>
14314
14315         mkstemp: Tweak configure message when cross-compiling.
14316         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
14317         result as a guess.
14318
14319 2011-04-27  Bruno Haible  <bruno@clisp.org>
14320
14321         clean-temp: Clarify what it does.
14322         * lib/clean-temp.h: Add more comments.
14323         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
14324         module.
14325         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
14326         * doc/glibc-functions/mkstemps.texi: Likewise.
14327         * doc/glibc-functions/mkostemps.texi: Likewise.
14328
14329 2011-04-27  Eric Blake  <eblake@redhat.com>
14330
14331         fchdir: avoid extra chdir and fix test
14332         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
14333         getcwd-lgpl.
14334         * lib/fchdir.c (get_name): Any absolute name will do; it does not
14335         have to be canonical.
14336         (canonicalize_file_name): Drop unused macro.
14337         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
14338
14339         filenamecat-lgpl: fix licence
14340         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
14341         when it was first created.
14342
14343         linkat, renameat: add missing dependency
14344         * modules/linkat (Depends-on): Require getcwd-lgpl.
14345         * modules/renameat (Depends-on): Likewise.
14346
14347         tests: reduce dependencies
14348         * tests/test-linkat.c (main): Use lighter-weight getcwd.
14349         * tests/test-renameat.c (main): Likewise.
14350         * modules/linkat-tests (Depends-on): Relax dependency.
14351         * modules/renameat-tests (Depends-on): Likewise.
14352         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
14353         dependency explicit.
14354
14355         save-cwd: reduce default dependency
14356         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
14357         * lib/save-cwd.c: Update comments.
14358         * NEWS: Document the semantic change.
14359
14360         getcwd: enhance tests
14361         * tests/test-getcwd-lgpl.c: New file, taken from...
14362         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
14363         repeat long path stress tests from m4 probe.
14364         * modules/getcwd-lgpl-tests: New module.
14365         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
14366         * m4/getcwd-abort-bug.m4: Update comment.
14367         * m4/getcwd-path-max.m4: Likewise.
14368
14369         getcwd-lgpl: new module
14370         * modules/getcwd-lgpl: New module.
14371         * lib/getcwd-lgpl.c: New file.
14372         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14373         * MODULES.html.sh (lacking POSIX:2008): Likewise.
14374         * modules/getcwd (configure.ac): Set C witness.
14375         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
14376
14377         getcwd: tweak comments
14378         * m4/getcwd-abort-bug.m4: Fix comments.
14379         * m4/getcwd-path-max.m4: Likewise.
14380         * m4/getcwd.m4: Likewise.
14381
14382 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14383         and Eric Blake  <eblake@redhat.com>
14384
14385         mkstemp: replace if system version uses wrong permissions
14386         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
14387         read/write mode bits set in file created by mkstemp.
14388         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
14389
14390 2011-04-27  Eric Blake  <eblake@redhat.com>
14391
14392         passfd: avoid compiler warning
14393         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
14394         Reported by Laine Stump.
14395
14396 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
14397
14398         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
14399         required by the NetBSD (and perhaps other 4.4BSD derived) join.
14400
14401 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14402         and Eric Blake  <eblake@redhat.com>
14403
14404         mkstemp: mention clean-temp module
14405         * lib/mkstemp.c: Add comment.
14406         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
14407
14408 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14409
14410         inttypes: also provide default values for 32-bit tests
14411         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
14412         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
14413
14414 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14415
14416         strtoumax: remove dependency on strtoimax
14417         This is like the strtoull change of yesterday.
14418         * modules/strtoumax (Files): Add lib/strtoimax.c.
14419         (Depends-on): Remove strtoimax and add verify.
14420
14421         inttypes-incomplete: new module
14422         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
14423         all but the PRI* and SCN* parts of gl_INTTYPES_H.
14424         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
14425         of gl_INTTYPES_H.
14426         (gl_INTTYPES_H): Rewrite in terms of these new macros.
14427         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
14428         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
14429         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
14430         * modules/strtoumax, modules/xstrtol (Depends-on):
14431         Depend on inttypes-incomplete, not inttypes.
14432         * modules/inttypes-incomplete: New module, containing the contents
14433         of the old modules/inttypes module, except that the Files: section
14434         omits m4/inttypes-pri.m4, and the configure.ac section invokes
14435         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
14436         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
14437         (Depends-on): Depend only on inttypes-incomplete.
14438         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
14439
14440         inttypes: omit now-redundant strtoimax and strtoumax work
14441         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
14442         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
14443
14444         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
14445         This supports apps that need pointers to strtoimax and strtoumax,
14446         and ports to HP-UX 11.00 64.bit, which has macros that expand to
14447         nonexistent functions.  See
14448         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
14449         et seq.
14450         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
14451         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
14452         a macro.
14453         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
14454
14455 2011-04-25  Simon Josefsson  <simon@josefsson.org>
14456
14457         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
14458
14459 2011-04-25  Bruno Haible  <bruno@clisp.org>
14460
14461         strtol, strtoul: Mark modules as obsolete.
14462         * modules/strtol (Status, Notice): New sections.
14463         * modules/strtoul (Status, Notice): New sections.
14464
14465 2011-04-25  Bruno Haible  <bruno@clisp.org>
14466
14467         strtod: Remove check for strtod, unless supporting old platforms.
14468         * modules/strtod-obsolete: New file.
14469         * m4/strtod-obsolete.m4: New file.
14470         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
14471         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
14472         * modules/strtod (Depends-on): Add strtod-obsolete.
14473         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
14474
14475 2011-04-25  Bruno Haible  <bruno@clisp.org>
14476
14477         strcase: Make module obsolete.
14478         * modules/strcase (Status, Notice): New sections.
14479
14480 2011-04-25  Bruno Haible  <bruno@clisp.org>
14481
14482         dup2: Remove check for dup2, unless supporting old obsolete platforms.
14483         * modules/dup2-obsolete: New file.
14484         * m4/dup2-obsolete.m4: New file.
14485         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
14486         gl_FUNC_DUP2_OBSOLETE is not also defined.
14487         * modules/dup2 (Depends-on): Add dup2-obsolete.
14488         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
14489
14490 2011-04-25  Bruno Haible  <bruno@clisp.org>
14491
14492         strnlen: Avoid memchr related link error on old obsolete platforms.
14493         * modules/memchr-obsolete: New file.
14494         * m4/memchr-obsolete.m4: New file.
14495         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
14496         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
14497         * modules/memchr (Depends-on): Add memchr-obsolete.
14498         * modules/strnlen (Depends-on): Likewise.
14499         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
14500
14501 2011-04-25  Jim Meyering  <meyering@redhat.com>
14502
14503         maint.mk: makefile_at_at_check extend and clean up
14504         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
14505         in addition to */Makefile.am.
14506         Exempt legitimate uses of @VAR@ notation, e.g.,
14507         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
14508         Remove obsolete coreutils-specific comment.
14509         Prompted by discussion here:
14510         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
14511
14512 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14513
14514         strtoul: remove dependency on strtol
14515         This is so that 'configure' need not check for strtol merely because
14516         the application needs strtoul.
14517         * modules/strtoul (Files): Add lib/strtol.c.
14518         (Depends-on): Remove strtol.
14519
14520         strtoull: remove dependency on strtoul
14521         This is like the strtoll change.
14522         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
14523         (Depends-on): Remove strtoul.
14524
14525         strtoll: remove dependency on strtol
14526         This is so that 'configure' need not check for strtol merely because
14527         the application needs strtoll.
14528         * modules/strtoll (Files): Add lib/strtol.c.
14529         (Depends-on): Remove strtol.
14530
14531 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14532
14533         inttypes: Move some configure check to module 'imaxdiv'.
14534         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
14535         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
14536         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
14537
14538 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14539
14540         inttypes: Move some configure check to module 'imaxabs'.
14541         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
14542         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
14543         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
14544
14545 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14546
14547         inttypes: Remove configure tests that are not needed since 2009-12-31.
14548         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
14549         gl_cv_header_working_inttypes_h.
14550
14551 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14552
14553         * modules/strnlen (Depends-on): Remove memchr.
14554         The strnlen implementation doesn't need the memchr module's fixes; see
14555         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
14556
14557         strtol: remove dependency on wchar
14558         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
14559         * modules/strtol (Depends-on): Remove wchar.
14560
14561 2011-04-21  Eric Blake  <eblake@redhat.com>
14562
14563         passfd: fix test regression on Linux
14564         * modules/passfd-tests (configure.ac): Correct socketpair check.
14565
14566         passfd: speed up configure and drop unused code
14567         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
14568         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
14569         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
14570         Instead of probing at configure for unix_scm_rights_bsd44_way,
14571         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
14572         check to a struct member probe.
14573         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
14574         (sendfd, recvfd): Update preprocessor checks.
14575         * modules/passfd (Files): Reflect rename, and drop unused file.
14576         (Depends-on): Drop unused dependency.
14577
14578         passfd: allow compilation on mingw
14579         * modules/sys_socket (Depends-on): Add sys_uio.
14580         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
14581         iovec and a minimal struct msghdr.
14582         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
14583         * tests/test-sys_socket.c (main): Enhance test.
14584         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
14585         guaranteed to provide what we need.
14586         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
14587         * modules/passfd-tests (Depends-on): Add sys_wait.
14588         * tests/test-passfd.c (main): Skip test on mingw, for now.
14589         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
14590         partial 'struct msghdr' implementation.
14591
14592         sys_uio: new module
14593         * modules/sys_uio: New module.
14594         * modules/sys_uio-tests: Likewise.
14595         * lib/sys_uio.in.h: New file.
14596         * m4/sys_uio_h.m4: Likewise.
14597         * tests/test-sys_uio.c: Likewise.
14598         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
14599         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
14600
14601 2011-04-20  Jim Meyering  <meyering@redhat.com>
14602
14603         useless-if-before-free: avoid false-positive
14604         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
14605         disjunct so that it too requires a terminating ";".  Without that,
14606         this script would identify as useless one statement from gcc that
14607         was not:
14608           if (aligned_ptr)
14609             free (((void **) aligned_ptr) [-1]);
14610
14611 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
14612
14613         doc: update users.txt.
14614         * users.txt: Add barcode.
14615
14616 2011-04-19  Bruno Haible  <bruno@clisp.org>
14617
14618         ioctl: Remove link dependency on native Windows.
14619         * lib/fd-hook.h: Renamed from lib/close-hook.h.
14620         (gl_close_fn, gl_ioctl_fn): New types.
14621         (struct fd_hook): Renamed from struct close_hook. Change type of
14622         private_close_fn field. Add private_ioctl_fn field.
14623         (close_hook_fn): Add parameter for primary close method.
14624         (execute_close_hooks, execute_all_close_hooks): Likewise.
14625         (ioctl_hook_fn): New type.
14626         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
14627         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14628         argument.
14629         (unregister_fd_hook): Renamed from unregister_close_hook.
14630         * lib/fd-hook.c: Renamed from lib/close-hook.c.
14631         Don't include <unistd.h>.
14632         (close): Remove undef.
14633         (anchor): Update.
14634         (execute_close_hooks): Add argument for primary close method.
14635         (execute_all_close_hooks): Likewise.
14636         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
14637         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14638         argument. Allow each argument to be NULL.
14639         (unregister_fd_hook): Renamed from unregister_close_hook.
14640         * lib/close.c (rpl_close): Pass 'close' function pointer to
14641         execute_all_close_hooks.
14642         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
14643         (primary_ioctl): New function.
14644         (ioctl): Don't call ioctlsocket here. Instead, call
14645         execute_all_ioctl_hooks.
14646         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
14647         close method.
14648         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
14649         (fd_sockets_hook): Renamed from close_sockets_hook.
14650         (gl_sockets_startup, gl_sockets_cleanup): Update.
14651         * modules/fd-hook: Renamed from modules/close-hook. Update.
14652         * modules/close (Depends-on): Add fd-hook, remove close-hook.
14653         * modules/sockets (Depends-on): Likewise.
14654         * modules/ioctl (Depends-on): Add fd-hook.
14655         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
14656         GNULIB_SOCKET.
14657
14658 2011-04-19  Bruno Haible  <bruno@clisp.org>
14659
14660         Move the support of O_NONBLOCK in open() to the 'open' module.
14661         * modules/nonblocking (Depends-on): Remove 'open'.
14662         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
14663         gl_cv_have_open_O_NONBLOCK.
14664         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
14665         O_NONBLOCK support.
14666         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
14667
14668 2011-04-17  Bruno Haible  <bruno@clisp.org>
14669
14670         pipe2: Simplify code.
14671         * lib/pipe2.c (pipe2): Reduce code duplication.
14672
14673 2011-04-17  Bruno Haible  <bruno@clisp.org>
14674
14675         nonblocking: Add comment.
14676         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
14677
14678 2011-04-17  Bruno Haible  <bruno@clisp.org>
14679
14680         nonblocking: Add tests for sockets.
14681         * tests/test-nonblocking-socket.sh: New file.
14682         * tests/test-nonblocking-socket-main.c: New file.
14683         * tests/test-nonblocking-socket-child.c: New file.
14684         * tests/test-nonblocking-socket.h: New file.
14685         * tests/socket-server.h: New file.
14686         * tests/socket-client.h: New file.
14687         * modules/nonblocking-socket-tests: New file.
14688         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
14689
14690 2011-04-17  Bruno Haible  <bruno@clisp.org>
14691
14692         nonblocking: Add tests for pipes.
14693         * tests/test-nonblocking-pipe.sh: New file.
14694         * tests/test-nonblocking-pipe-main.c: New file.
14695         * tests/test-nonblocking-pipe-child.c: New file.
14696         * tests/test-nonblocking-pipe.h: New file.
14697         * tests/test-nonblocking-writer.h: New file.
14698         * tests/test-nonblocking-reader.h: New file.
14699         * tests/test-nonblocking-misc.h: New file.
14700         * modules/nonblocking-pipe-tests: New file.
14701         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
14702
14703 2011-04-16  Bruno Haible  <bruno@clisp.org>
14704
14705         gettext: Clarify the needed programmer actions.
14706         * modules/gettext (Notice): New field.
14707         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
14708
14709 2011-04-16  Bruno Haible  <bruno@clisp.org>
14710
14711         strchrnul: Tweak last commit.
14712         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
14713         bug.
14714         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
14715         as in _GL_FUNCDECL_SYS.
14716         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
14717         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
14718
14719 2011-04-15  Eric Blake  <eblake@redhat.com>
14720
14721         strchrnul: work around cygwin bug
14722         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
14723         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
14724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
14725         * modules/string (Makefile.am): Substitute it.
14726         * lib/string.in.h (strchrnul): Use it.
14727
14728 2011-04-15  Bruno Haible  <bruno@clisp.org>
14729
14730         Don't require lib/stdio-write.c when only module 'stdio' is used.
14731         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
14732         invocation.
14733         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
14734
14735 2011-04-14  Bruno Haible  <bruno@clisp.org>
14736
14737         Support non-blocking pipe I/O in read() on native Windows.
14738         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
14739         (read): New declaration.
14740         * lib/read.c: New file.
14741         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
14742         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
14743         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
14744         vscanf): New declarations.
14745         * lib/stdio-read.c: New file.
14746         * m4/read.m4: New file.
14747         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
14748         REPLACE_READ.
14749         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
14750         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14751         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
14752         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
14753         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
14754         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14755         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14756         * modules/read: New file.
14757         * modules/nonblocking (Files): Add lib/stdio-read.c.
14758         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
14759         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
14760         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14761         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14762         * modules/pread (Depends-on): Add read.
14763         * modules/safe-read (Depends-on): Likewise.
14764         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
14765         gets, scanf, vfscanf, vscanf): Verify signatures.
14766         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
14767         problem with non-blocking pipes.
14768         * doc/posix-functions/fgetc.texi: Likewise.
14769         * doc/posix-functions/fgets.texi: Likewise.
14770         * doc/posix-functions/fread.texi: Likewise.
14771         * doc/posix-functions/fscanf.texi: Likewise.
14772         * doc/posix-functions/getc.texi: Likewise.
14773         * doc/posix-functions/getchar.texi: Likewise.
14774         * doc/posix-functions/gets.texi: Likewise.
14775         * doc/posix-functions/scanf.texi: Likewise.
14776         * doc/posix-functions/vfscanf.texi: Likewise.
14777         * doc/posix-functions/vscanf.texi: Likewise.
14778
14779 2011-04-14  Bruno Haible  <bruno@clisp.org>
14780
14781         Support non-blocking pipe I/O in write() on native Windows.
14782         * lib/write.c (rpl_write): Split a write request that failed merely
14783         because the byte count was larger than the pipe buffer's size.
14784         * doc/posix-functions/write.texi: Mention the problem with large byte
14785         counts.
14786
14787 2011-04-14  Bruno Haible  <bruno@clisp.org>
14788
14789         wchar: Ensure that wchar_t gets defined on uClibc.
14790         * lib/wchar.in.h: On uClibc, include <stddef.h>.
14791         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
14792
14793 2011-04-13  Bruno Haible  <bruno@clisp.org>
14794
14795         safe-write, full-read: Avoid unnecessary compilation units.
14796         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
14797         (Depends-on): Remove safe-read. Add ssize_t.
14798         * modules/full-read (Files): Add lib/full-write.c.
14799         (Depends-on): Add full-write.
14800
14801 2011-04-13  Bruno Haible  <bruno@clisp.org>
14802
14803         Support non-blocking pipe I/O and SIGPIPE in pwrite().
14804         * modules/pwrite (Depends-on): Add 'write'.
14805
14806 2011-04-13  Bruno Haible  <bruno@clisp.org>
14807
14808         Support non-blocking pipe I/O in write() on native Windows.
14809         * lib/unistd.in.h (write): Enable replacement also if
14810         GNULIB_UNISTD_H_NONBLOCKING is 1.
14811         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
14812         (rpl_write): When failing to write on a non-blocking pipe, change
14813         errno from ENOSPC to EAGAIN.
14814         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
14815         putchar, puts, vfprintf, vprintf): Enable replacement also if
14816         GNULIB_STDIO_H_NONBLOCKING is 1.
14817         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
14818         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
14819         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
14820         CALL_WITH_SIGPIPE_EMULATION.
14821         (CALL_WITH_SIGPIPE_EMULATION): Use them.
14822         * m4/nonblocking.m4: New file.
14823         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
14824         for non-blocking I/O support.
14825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14826         GNULIB_UNISTD_H_NONBLOCKING.
14827         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
14828         required for non-blocking I/O support.
14829         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
14830         * modules/nonblocking (Files): Add m4/nonblocking.m4,
14831         lib/stdio-write.c, m4/asm-underscore.m4.
14832         (Depends-on): Add stdio, unistd.
14833         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
14834         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
14835         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
14836         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
14837         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
14838         problem with non-blocking pipes.
14839         * doc/posix-functions/fputc.texi: Likewise.
14840         * doc/posix-functions/fputs.texi: Likewise.
14841         * doc/posix-functions/fwrite.texi: Likewise.
14842         * doc/posix-functions/printf.texi: Likewise.
14843         * doc/posix-functions/putc.texi: Likewise.
14844         * doc/posix-functions/putchar.texi: Likewise.
14845         * doc/posix-functions/puts.texi: Likewise.
14846         * doc/posix-functions/vfprintf.texi: Likewise.
14847         * doc/posix-functions/vprintf.texi: Likewise.
14848         * doc/posix-functions/write.texi: Likewise.
14849
14850 2011-04-10  Jim Meyering  <meyering@redhat.com>
14851
14852         maint.mk: prohibit doubled words
14853         Detect them also when they're separated by a newline.
14854         There are 3 ways to customize it:
14855           - disable the test on a per file basis, as usual with rules using
14856             $(VC_LIST_EXCEPT)
14857           - replace the default doubled-word-selecting regexp (affects all files)
14858           - ignore a particular file-vs-doubled-word match
14859         I nearly used that last one to ignore the "is is" match in
14860         coreutils' NEWS file, since the text was "ls -is is ..."
14861         To do that, I would have added this line to cfg.mk:
14862           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
14863         but it would have ignored any "is is" match in NEWS.
14864         Low probability, but still...
14865         Instead, I changed the text, slightly:
14866           -  ls -is is now consistent with ls -lis in ignoring values returned
14867           +  "ls -is" is now consistent with ls -lis in ignoring values returned
14868         * top/maint.mk (prohibit_double_word_RE_): Provide default.
14869         (prohibit_doubled_word_): Define.
14870         (sc_prohibit_doubled_word): New rule.
14871         (sc_prohibit_the_the): Remove.  Subsumed by the above.
14872
14873 2011-04-10  Jim Meyering  <meyering@redhat.com>
14874
14875         maint: fix doubled-word typo in comment
14876         * m4/gethostname.m4: s/is is/it is/
14877         * m4/getdomainname.m4: Likewise.
14878
14879 2011-04-10  Jim Meyering  <meyering@redhat.com>
14880
14881         maint: remove doubled word: s/it it/it/
14882         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
14883
14884 2011-04-10  Jim Meyering  <meyering@redhat.com>
14885
14886         maint.mk: remove useless semicolon and backslash
14887         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
14888         semicolon and backslash.
14889
14890 2011-04-10  Bruno Haible  <bruno@clisp.org>
14891
14892         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
14893         * modules/stdint-tests (Depends-on): Add wchar.
14894
14895 2011-04-10  Jim Meyering  <meyering@redhat.com>
14896
14897         maint: remove doubled words in comments, e.g., s/a a/a/
14898         * lib/strptime.c (day_of_the_week): s/the the/the/
14899         * tests/test-chown.h (test_chown): s/a a/a/
14900
14901         test-chown.h: correct a cast
14902         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
14903         when the destination is a stat.st_gid.
14904
14905 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
14906
14907         getaddrinfo: Fix test for sa_len member.
14908         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
14909         include <sys/types.h> before <sys/socket.h>.
14910
14911 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14912
14913         maint: change "can not" to "cannot"
14914         * doc/posix-functions/iconv.texi (iconv): This one crossed line
14915         boundaries.
14916
14917 2011-04-09  Jim Meyering  <meyering@redhat.com>
14918
14919         maint: change "a a" to "a"
14920         * tests/test-lchown.h (test_lchown): s/a a/a/
14921
14922         maint.mk: prohibit \<the the\>
14923         * top/maint.mk (sc_prohibit_the_the): New rule.
14924
14925         maint: fix "the the" in comment
14926         * lib/count-one-bits.h: s/the the/the/
14927
14928         maint: change "can not" to "cannot"
14929         But do not change the occurrences in maintain.texi or in
14930         build-aux/po/Makefile.in.in, which I presume comes from gettext.
14931         * doc/gnulib-tool.texi: s/can not/cannot/
14932         * doc/posix-functions/accept.texi (accept): Likewise.
14933         * doc/posix-functions/socket.texi (socket): Likewise.
14934         * lib/mbrtowc.c: Likewise.
14935
14936         maint.mk: prohibit use of "can not"
14937         * top/maint.mk (sc_prohibit_can_not): New rule.
14938         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
14939
14940 2011-04-09  Bruno Haible  <bruno@clisp.org>
14941
14942         careadlinkat: Guard against misuse of careadlinkatcwd.
14943         * lib/careadlinkat.c: Include <stdlib.h>.
14944         (careadlinkatcwd): Check that the fd argument is as expected.
14945
14946 2011-04-09  Bruno Haible  <bruno@clisp.org>
14947
14948         careadlinkat: Use common coding style.
14949         * lib/careadlinkat.c: Move gnulib includes after system includes.
14950
14951 2011-04-09  Bruno Haible  <bruno@clisp.org>
14952
14953         careadlinkat: Clarify specification.
14954         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
14955         (careadlinkatcwd): Add comment.
14956         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
14957
14958 2011-04-09  Bruno Haible  <bruno@clisp.org>
14959
14960         areadlinkat: Avoid link error on many platforms.
14961         * modules/areadlinkat (Depends-on): Add areadlink.
14962
14963 2011-04-09  Bruno Haible  <bruno@clisp.org>
14964
14965         allocator, careadlinkat: Fix double-inclusion guard.
14966         * lib/allocator.h: Fix double-inclusion guard.
14967         * lib/careadlinkat.h: Likewise.
14968
14969 2011-04-09  Bruno Haible  <bruno@clisp.org>
14970
14971         relocatable-prog-wrapper: Update after module 'areadlink' changed.
14972         * lib/relocwrapper.c: Update dependencies hierarchy.
14973         * build-aux/install-reloc: Update list of files to be compiled.
14974         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
14975         lib/allocator.[hc].
14976
14977 2011-04-08  Eric Blake  <eblake@redhat.com>
14978
14979         strftime: silence gnulib-tool warning
14980         * modules/strftime-tests (Depends-on): Drop automatic dependency.
14981
14982 2011-04-08  Bruno Haible  <bruno@clisp.org>
14983
14984         verify: Fix syntax error with GCC 4.6 in C++ mode.
14985         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
14986         (HAVE_STATIC_ASSERT): New macro.
14987         (verify_true, verify): Use 'static_assert' if it is supported and
14988         '_Static_assert' is not supported.
14989
14990 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14991
14992         allocator: New module.
14993         * modules/allocator, lib/allocator.c: New files.
14994         * lib/allocator.h (stdlib_allocator): New decl.
14995         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
14996         Remove.  Do not include <stdlib.h>.
14997         (careadlinkat): Use stdlib_allocator instead of rolling our own.
14998         * modules/careadlinkat (Files): Remove lib/allocator.h.
14999         (Depends-on): Add allocator.
15000
15001         stdlib: let modules use system malloc, realloc
15002         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
15003         if !_GL_USE_STDLIB_ALLOC.
15004         (malloc, realloc): Limit this change to a smaller scope.
15005
15006         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
15007         (malloc, realloc): Don't #undef; no longer needed.
15008         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15009         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15010         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15011         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15012         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15013         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15014         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15015         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15016
15017         careadlinkat: rename members to avoid problem
15018         * lib/allocator.h (struct allocator): Rename members from
15019         malloc/realloc to allocate/reallocate, to avoid problems if malloc
15020         and realloc are #define'd.  Reported by Eric Blake in
15021         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
15022         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
15023
15024 2011-04-08  Eric Blake  <eblake@redhat.com>
15025
15026         nonblocking: reduce dependency
15027         * tests/test-nonblocking.c: Only test sockets when in use.
15028         * modules/nonblocking-tests (Depends-on): Drop socket.
15029         (Makefile.am): Link even if sockets are not present.
15030         * modules/pipe2-tests (Makefile.am): Likewise.
15031         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
15032
15033         pipe2: fix O_NONBLOCK support on mingw
15034         * modules/pipe2 (Depends-on): Add nonblocking.
15035         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
15036         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
15037         * tests/test-nonblocking.c (main): Likewise.
15038         * modules/pipe2-tests (Makefile.am): Avoid link failure.
15039
15040         fcntl-h: fix O_ACCMODE on cygwin
15041         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
15042         * lib/fcntl.in.h (O_ACCMODE): Fix it.
15043
15044         pipe-filter: drop O_NONBLOCK workarounds
15045         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
15046         * modules/pipe-filter-ii (Depends-on): Likewise.
15047         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
15048
15049         nonblocking: provide O_NONBLOCK for mingw
15050         * modules/nonblocking (Depends-on): Add open.
15051         (configure.ac): Set new witness macro.
15052         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
15053         * modules/fcntl-h (Makefile.am): Substitute it.
15054         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
15055         nonblocking module is in use.
15056         * lib/nonblocking.c: Adjust portability test.
15057         * lib/open.c (open): Don't let native open see gnulib flag.
15058         * tests/test-fcntl-h.c (main): Enhance test.
15059         * tests/test-open.h (test_open): Likewise.
15060         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
15061
15062         careadlinkat: fix compilation error on mingw
15063         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
15064         within struct allocator.
15065
15066 2011-04-06  Eric Blake  <eblake@redhat.com>
15067
15068         binary-io: relicense under LGPLv2+
15069         * modules/binary-io (License): Relax to LGPLv2+.
15070         Requested for libvirt, and required by pipe2.
15071
15072 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
15073
15074         verify: use _Static_assert if available
15075         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
15076         (verify_true, verify): Use it if available.  This generates better
15077         diagnostics with GCC 4.6.0 and later.
15078
15079 2011-04-05  Bruno Haible  <bruno@clisp.org>
15080
15081         Remove leftover generated .h files after config.status changed.
15082
15083         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
15084         GL_GENERATE_ALLOCA_H.
15085         * modules/alloca-opt (Makefile.am): Remove alloca.h if
15086         GL_GENERATE_ALLOCA_H evaluates to false.
15087
15088         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
15089         GL_GENERATE_ARGZ_H.
15090         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
15091         evaluates to false.
15092
15093         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
15094         GL_GENERATE_BYTESWAP_H.
15095         * modules/byteswap (Makefile.am): Remove byteswap.h if
15096         GL_GENERATE_BYTESWAP_H evaluates to false.
15097
15098         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
15099         GL_GENERATE_ERRNO_H.
15100         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
15101         evaluates to false.
15102
15103         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
15104         GL_GENERATE_FLOAT_H.
15105         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
15106         evaluates to false.
15107
15108         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
15109         GL_GENERATE_FNMATCH_H.
15110         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
15111         GL_GENERATE_FNMATCH_H evaluates to false.
15112
15113         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
15114         GL_GENERATE_GLOB_H.
15115         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
15116         evaluates to false.
15117
15118         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
15119         automake conditional GL_GENERATE_ICONV_H.
15120         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
15121         evaluates to false.
15122
15123         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
15124         GL_GENERATE_NETINET_IN_H.
15125         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
15126         GL_GENERATE_NETINET_IN_H evaluates to false.
15127
15128         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
15129         conditional GL_GENERATE_PTHREAD_H.
15130         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
15131         * modules/pthread (Makefile.am): Remove pthread.h if
15132         GL_GENERATE_PTHREAD_H evaluates to false.
15133
15134         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
15135         GL_GENERATE_SCHED_H.
15136         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
15137         evaluates to false.
15138
15139         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
15140         conditional GL_GENERATE_SELINUX_CONTEXT_H.
15141         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
15142         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
15143
15144         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
15145         GL_GENERATE_STDARG_H.
15146         * modules/stdarg (Makefile.am): Remove stdarg.h if
15147         GL_GENERATE_STDARG_H evaluates to false.
15148
15149         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
15150         GL_GENERATE_STDBOOL_H.
15151         * modules/stdbool (Makefile.am): Remove stdbool.h if
15152         GL_GENERATE_STDBOOL_H evaluates to false.
15153
15154         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
15155         conditional GL_GENERATE_STDDEF_H.
15156         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
15157         * modules/stddef (Makefile.am): Remove stddef.h if
15158         GL_GENERATE_STDDEF_H evaluates to false.
15159
15160         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
15161         GL_GENERATE_STDINT_H.
15162         * modules/stdint (Makefile.am): Remove stdint.h if
15163         GL_GENERATE_STDINT_H evaluates to false.
15164
15165         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
15166         GL_GENERATE_SYSEXITS_H.
15167         * modules/sysexits (Makefile.am): Remove sysexits.h if
15168         GL_GENERATE_SYSEXITS_H evaluates to false.
15169
15170         Reported by Karl Berry and Ralf Wildenhues.
15171
15172 2011-04-05  Bruno Haible  <bruno@clisp.org>
15173
15174         Ensure to rebuild generated .h files when config.status has changed.
15175         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
15176         config.status.
15177         * modules/ctype (Makefile.am): Likewise.
15178         * modules/dirent (Makefile.am): Likewise.
15179         * modules/errno (Makefile.am): Likewise.
15180         * modules/fcntl-h (Makefile.am): Likewise.
15181         * modules/float (Makefile.am): Likewise.
15182         * modules/getopt-posix (Makefile.am): Likewise.
15183         * modules/glob (Makefile.am): Likewise.
15184         * modules/iconv-h (Makefile.am): Likewise.
15185         * modules/inttypes (Makefile.am): Likewise.
15186         * modules/langinfo (Makefile.am): Likewise.
15187         * modules/locale (Makefile.am): Likewise.
15188         * modules/math (Makefile.am): Likewise.
15189         * modules/netdb (Makefile.am): Likewise.
15190         * modules/netinet_in (Makefile.am): Likewise.
15191         * modules/poll-h (Makefile.am): Likewise.
15192         * modules/pthread (Makefile.am): Likewise.
15193         * modules/pty (Makefile.am): Likewise.
15194         * modules/sched (Makefile.am): Likewise.
15195         * modules/search (Makefile.am): Likewise.
15196         * modules/selinux-h (Makefile.am): Likewise.
15197         * modules/signal (Makefile.am): Likewise.
15198         * modules/spawn (Makefile.am): Likewise.
15199         * modules/stdarg (Makefile.am): Likewise.
15200         * modules/stdbool (Makefile.am): Likewise.
15201         * modules/stddef (Makefile.am): Likewise.
15202         * modules/stdint (Makefile.am): Likewise.
15203         * modules/stdio (Makefile.am): Likewise.
15204         * modules/stdlib (Makefile.am): Likewise.
15205         * modules/string (Makefile.am): Likewise.
15206         * modules/strings (Makefile.am): Likewise.
15207         * modules/sys_file (Makefile.am): Likewise.
15208         * modules/sys_ioctl (Makefile.am): Likewise.
15209         * modules/sys_select (Makefile.am): Likewise.
15210         * modules/sys_socket (Makefile.am): Likewise.
15211         * modules/sys_stat (Makefile.am): Likewise.
15212         * modules/sys_time (Makefile.am): Likewise.
15213         * modules/sys_times (Makefile.am): Likewise.
15214         * modules/sys_utsname (Makefile.am): Likewise.
15215         * modules/sys_wait (Makefile.am): Likewise.
15216         * modules/sysexits (Makefile.am): Likewise.
15217         * modules/termios (Makefile.am): Likewise.
15218         * modules/time (Makefile.am): Likewise.
15219         * modules/unistd (Makefile.am): Likewise.
15220         * modules/wchar (Makefile.am): Likewise.
15221         * modules/wctype-h (Makefile.am): Likewise.
15222         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
15223
15224 2011-04-05  Bruno Haible  <bruno@clisp.org>
15225
15226         pipe2: Relicense under LGPLv2+.
15227         * modules/pipe2 (License): Change to LGPLv2+.
15228         Requested by Eric Blake, for libvirt.
15229
15230 2011-04-05  Bruce Korb  <bkorb@gnu.org>
15231
15232         bootstrap: compute gnulib_extra_files after updating build_aux
15233         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
15234         change build_aux or also supply gnulib_extra_files.  Handle correctly.
15235
15236 2011-04-05  Eric Blake  <eblake@redhat.com>
15237
15238         bootstrap: preserve git whitelist item sorting
15239         * build-aux/bootstrap (sort_patterns): New function.
15240         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
15241
15242 2011-04-05  Simon Josefsson  <simon@josefsson.org>
15243
15244         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
15245         sc_space_tab check.
15246
15247 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
15248
15249         areadlink, areadlinkat: rewrite in terms of careadlinkat
15250         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
15251         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
15252         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
15253         (malloc, realloc): Remove #undefs.
15254         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
15255         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
15256         readlink, ssize_t, stdint, unistd.
15257         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
15258         areadlink, stdint.
15259
15260         careadlinkat: new module
15261         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
15262         * modules/careadlinkat: New files, written by me with
15263         a review and feedback from Ben Pfaff in
15264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
15265
15266 2011-04-01  Bruno Haible  <bruno@clisp.org>
15267
15268         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
15269         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
15270         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
15271         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
15272         Reported by Bruce Korb <bruce.korb@gmail.com>.
15273
15274 2011-04-01  Bruno Haible  <bruno@clisp.org>
15275
15276         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
15277         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
15278         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
15279         * modules/wcpcpy (Depends-on): Add extensions.
15280         * modules/wcpncpy (Depends-on): Likewise.
15281         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
15282         systems.
15283         * doc/posix-functions/wcpncpy.texi: Likewise.
15284         * doc/posix-functions/wcwidth.texi: Likewise.
15285
15286 2011-03-31  Eric Blake  <eblake@redhat.com>
15287
15288         nonblocking: fix mingw test failures
15289         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
15290         non-blocking flag on regular file.
15291         (get_nonblocking_flag): Set errno on invalid fd.
15292         * tests/test-nonblocking.c (main): Avoid test failure on
15293         directories if fchdir is not active.
15294         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
15295
15296 2011-03-31  Bruno Haible  <bruno@clisp.org>
15297
15298         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
15299         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
15300         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
15301         Reported by Simon Josefsson <simon@josefsson.org>.
15302
15303 2011-03-31  Bruno Haible  <bruno@clisp.org>
15304         and Eric Blake  <eblake@redhat.com>
15305
15306         nonblocking: new module
15307         * modules/nonblocking: New module.
15308         * modules/nonblocking-tests: Likewise.
15309         * lib/nonblocking.h: New file.
15310         * lib/nonblocking.c: Likewise.
15311         * tests/test-nonblocking.c: New test.
15312         * lib/ioctl.c (ioctl) [mingw]: Update comment.
15313
15314 2011-03-30  Bruno Haible  <bruno@clisp.org>
15315
15316         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
15317         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
15318         instead of 'printf' format for GCC >= 4.4.
15319         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
15320         (fprintf, printf, vfprintf, vprintf): Declare with
15321         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
15322         the system's vfprintf() function.
15323         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
15324
15325 2011-03-30  Eric Blake  <eblake@redhat.com>
15326
15327         passfd: fix scoping bug
15328         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
15329         before sendmsg/recvmsg.
15330
15331         passfd: standardize coding conventions
15332         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
15333         can be learned at compile time.
15334         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
15335         ifdefs.
15336         (sendfd, recvfd): Follow gnulib code conventions.
15337
15338         passfd: fix incorrect sendmsg arguments
15339         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
15340         incorrect msg_controllen value.
15341         * modules/passfd-tests (Depends-on): Check for alarm.
15342         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
15343         Reported by Bastien ROUCARIES.
15344
15345 2011-03-30  Bruno Haible  <bruno@clisp.org>
15346
15347         c-strcasestr: Relicense under LGPLv2+.
15348         * modules/c-strcasestr (License): Change to LGPLv2+.
15349         Requested by Eric Blake, for libvirt.
15350
15351 2011-03-30  Simon Josefsson  <simon@josefsson.org>
15352
15353         * users.txt: Add libidn2.  Fix libtasn1 link.
15354
15355 2011-03-30  Jim Meyering  <meyering@redhat.com>
15356
15357         tests: readlink* ("",... fails with EINVAL on newer kernels
15358         readlink and readlinkat have typically failed with ENOENT for
15359         the invalid, empty file name,  "".  However, with the advent
15360         of linux-2.6.39, they fail with EINVAL.
15361         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
15362         when operating on the empty file name.
15363         * tests/test-readlink.h (test_readlink): Likewise.
15364
15365 2011-03-29  Bruno Haible  <bruno@clisp.org>
15366
15367         Relicense some modules under LGPLv2+, for libidn2.
15368         * modules/array-mergesort (License): Change to LGPLv2+.
15369         * modules/c-strcaseeq (License): Likewise.
15370         * modules/striconveh (License): Likewise.
15371         * modules/striconveha (License): Likewise.
15372         * modules/uniconv/base (License): Likewise.
15373         * modules/uniconv/u8-conv-from-enc (License): Likewise.
15374         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
15375         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
15376         * modules/unictype/base (License): Likewise.
15377         * modules/unictype/bidiclass-of (License): Likewise.
15378         * modules/unictype/category-M (License): Likewise.
15379         * modules/unictype/category-none (License): Likewise.
15380         * modules/unictype/category-of (License): Likewise.
15381         * modules/unictype/category-test (License): Likewise.
15382         * modules/unictype/category-test-withtable (License): Likewise.
15383         * modules/unictype/combining-class (License): Likewise.
15384         * modules/unictype/joiningtype-of (License): Likewise.
15385         * modules/unictype/scripts (License): Likewise.
15386         * modules/uninorm/base (License): Likewise.
15387         * modules/uninorm/canonical-decomposition (License): Likewise.
15388         * modules/uninorm/composition (License): Likewise.
15389         * modules/uninorm/decompose-internal (License): Likewise.
15390         * modules/uninorm/decomposition-table (License): Likewise.
15391         * modules/uninorm/nfc (License): Likewise.
15392         * modules/uninorm/nfd (License): Likewise.
15393         * modules/uninorm/u32-normalize (License): Likewise.
15394         * modules/unistr/base (License): Likewise.
15395         * modules/unistr/u32-cpy (License): Likewise.
15396         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
15397         * modules/unistr/u32-to-u8 (License): Likewise.
15398         * modules/unistr/u32-uctomb (License): Likewise.
15399         * modules/unistr/u8-check (License): Likewise.
15400         * modules/unistr/u8-mblen (License): Likewise.
15401         * modules/unistr/u8-mbtouc (License): Likewise.
15402         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
15403         * modules/unistr/u8-mbtoucr (License): Likewise.
15404         * modules/unistr/u8-prev (License): Likewise.
15405         * modules/unistr/u8-strlen (License): Likewise.
15406         * modules/unistr/u8-to-u32 (License): Likewise.
15407         * modules/unistr/u8-uctomb (License): Likewise.
15408         * modules/unitypes (License): Likewise.
15409         Requested by Simon Josefsson.
15410
15411 2011-03-29  Simon Josefsson  <simon@josefsson.org>
15412
15413         lib-symbol-visibility: Add a notice.
15414         * modules/lib-symbol-visibility (Notice): New field.
15415
15416 2011-03-29  Bruno Haible  <bruno@clisp.org>
15417
15418         getaddrinfo: Doc fix.
15419         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
15420         section "fixed in Gnulib".
15421
15422 2011-03-28  Simon Josefsson  <simon@josefsson.org>
15423
15424         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
15425         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
15426
15427 2011-03-26  Bruno Haible  <bruno@clisp.org>
15428
15429         unictype/property-byname: Reduce the number of load-time relocations.
15430         * lib/unictype/pr_byname.c: Include <stdlib.h>.
15431         (UC_PROPERTY_INDEX_*): New enumeration values.
15432         (uc_property_byname): Convert an index from the lookup table to an
15433         uc_property_t.
15434         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
15435         values.
15436
15437 2011-03-26  Bruno Haible  <bruno@clisp.org>
15438
15439         unictype/property-byname: Allow omitted word separators and aliases.
15440         * lib/unictype/pr_byname.gperf: Add property names without word
15441         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
15442         for 'space'.
15443
15444 2011-03-26  Bruno Haible  <bruno@clisp.org>
15445
15446         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
15447         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
15448         also hyphens to space.
15449         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
15450         without spaces.
15451         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
15452
15453 2011-03-26  Bruno Haible  <bruno@clisp.org>
15454
15455         unictype/joiningtype-byname: Recognize long names as well.
15456         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
15457         a long name.
15458         * lib/unictype/joiningtype_byname.c: Include <string.h>,
15459         unictype/joiningtype_byname.h.
15460         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
15461         * lib/unictype/joiningtype_byname.gperf: New file.
15462         * modules/unictype/joiningtype-byname (Files): Add
15463         lib/unictype/joiningtype_byname.gperf.
15464         (Depends-on): Add gperf.
15465         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
15466         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
15467         long names.
15468
15469         Tests for module 'unictype/joiningtype-longname'.
15470         * modules/unictype/joiningtype-longname-tests: New file.
15471         * tests/unictype/test-joiningtype_longname.c: New file.
15472
15473         New module 'unictype/joiningtype-longname'.
15474         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
15475         * lib/unictype/joiningtype_longname.c: New file.
15476         * modules/unictype/joiningtype-longname: New file.
15477         * modules/unictype/joiningtype-all (Depends-on): Add
15478         unictype/joiningtype-longname.
15479
15480 2011-03-26  Bruno Haible  <bruno@clisp.org>
15481
15482         unictype/bidiclass-byname: Recognize long names as well.
15483         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
15484         name.
15485         * lib/unictype/bidi_byname.c: Include <string.h>,
15486         unictype/bidi_byname.h.
15487         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
15488         * lib/unictype/bidi_byname.gperf: New file.
15489         * modules/unictype/bidiclass-byname (Files): Add
15490         lib/unictype/bidi_byname.gperf.
15491         (Depends-on): Add gperf.
15492         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
15493         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
15494         long names.
15495
15496         Tests for module 'unictype/bidiclass-longname'.
15497         * modules/unictype/bidiclass-longname-tests: New file.
15498         * tests/unictype/test-bidi_longname.c: New file.
15499
15500         New module 'unictype/bidiclass-longname'.
15501         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
15502         * lib/unictype/bidi_longname.c: New file.
15503         * modules/unictype/bidiclass-longname: New file.
15504         * modules/unictype/bidiclass-all (Depends-on): Add
15505         unictype/bidiclass-longname.
15506
15507 2011-03-26  Bruno Haible  <bruno@clisp.org>
15508
15509         unictype/bidi*: Rename modules.
15510         * modules/unictype/bidiclass-all: Renamed from
15511         modules/unictype/bidicategory-all.
15512         * modules/unictype/bidiclass-name: Renamed from
15513         modules/unictype/bidiclass-name.
15514         (Description): Update.
15515         * modules/unictype/bidiclass-name-tests: Renamed from
15516         modules/unictype/bidicategory-name-tests.
15517         * modules/unictype/bidiclass-byname: Renamed from
15518         modules/unictype/bidicategory-byname.
15519         (Description): Update.
15520         * modules/unictype/bidiclass-byname-tests: Renamed from
15521         modules/unictype/bidicategory-byname-tests.
15522         * modules/unictype/bidiclass-of: Renamed from
15523         modules/unictype/bidicategory-of.
15524         (Description): Update.
15525         * modules/unictype/bidiclass-of-tests: Renamed from
15526         modules/unictype/bidicategory-of-tests.
15527         * modules/unictype/bidiclass-test: Renamed from
15528         modules/unictype/bidicategory-test.
15529         (Description): Update.
15530         * modules/unictype/bidiclass-test-tests: Renamed from
15531         modules/unictype/bidicategory-test-tests.
15532         * modules/unictype/bidicategory-all: New file, a simple redirection.
15533         * modules/unictype/bidicategory-name: Likewise.
15534         * modules/unictype/bidicategory-byname: Likewise.
15535         * modules/unictype/bidicategory-of: Likewise.
15536         * modules/unictype/bidicategory-test: Likewise.
15537         * modules/unictype/property-bidi-* (Dependencies): Update.
15538         * lib/unictype/bidi_*.c: Update comment.
15539
15540 2011-03-26  Bruno Haible  <bruno@clisp.org>
15541
15542         unictype/bidi*: Rename functions, part 2.
15543         * modules/unictype/bidicategory-name (configure.ac): Update required
15544         libunistring version.
15545         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
15546
15547 2011-03-25  Bruno Haible  <bruno@clisp.org>
15548
15549         New module 'unictype/combining-class-all'.
15550         * modules/unictype/combining-class-all: New file.
15551
15552         Tests for module 'unictype/combining-class-byname'.
15553         * modules/unictype/combining-class-byname-tests: New file.
15554         * tests/unictype/test-combiningclass_byname.c: New file.
15555
15556         New module 'unictype/combining-class-byname'.
15557         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
15558         * lib/unictype/combiningclass_byname.c: New file.
15559         * lib/unictype/combiningclass_byname.gperf: New file.
15560         * modules/unictype/combining-class-byname: New file.
15561
15562         Tests for module 'unictype/combining-class-longname'.
15563         * modules/unictype/combining-class-longname-tests: New file.
15564         * tests/unictype/test-combiningclass_longname.c: New file.
15565
15566         New module 'unictype/combining-class-longname'.
15567         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
15568         * lib/unictype/combiningclass_longname.c: New file.
15569         * modules/unictype/combining-class-longname: New file.
15570
15571         Tests for module 'unictype/combining-class-name'.
15572         * modules/unictype/combining-class-name-tests: New file.
15573         * tests/unictype/test-combiningclass_name.c: New file.
15574
15575         New module 'unictype/combining-class-name'.
15576         * lib/unictype.in.h (uc_combining_class_name): New declaration.
15577         * lib/unictype/combiningclass_name.c: New file.
15578         * modules/unictype/combining-class-name: New file.
15579
15580 2011-03-25  Bruno Haible  <bruno@clisp.org>
15581
15582         unictype/combining-class: Rename source files.
15583         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
15584         of unictype/combining.h.
15585         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
15586         Update.
15587         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
15588         * modules/unictype/combining-class (Description): Fix.
15589         (Files, Makefile.am): Update.
15590         * tests/unictype/test-combiningclass.c: Renamed from
15591         tests/unictype/test-combining.c.
15592         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
15593
15594 2011-03-25  Bruno Haible  <bruno@clisp.org>
15595
15596         unictype: Update list of canonical combining classes.
15597         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
15598
15599 2011-03-25  Bruno Haible  <bruno@clisp.org>
15600
15601         unictype/category-byname: Recognize long names as well.
15602         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
15603         a long name.
15604         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
15605         unictype/categ_byname.h.
15606         (UC_CATEGORY_INDEX_*): New enumeration values.
15607         (uc_general_category_byname): Use uc_general_category_lookup and
15608         convert from index to value.
15609         * lib/unictype/categ_byname.gperf: New file.
15610         * modules/unictype/category-byname (Files): Add
15611         lib/unictype/categ_byname.gperf.
15612         (Depends-on): Add gperf.
15613         (Makefile.am): Add rule for generating unictype/categ_byname.h.
15614         * tests/unictype/test-categ_byname.c (main): Test the recognition of
15615         long names.
15616
15617         Tests for module 'unictype/category-longname'.
15618         * modules/unictype/category-longname-tests: New file.
15619         * tests/unictype/test-categ_longname.c: New file.
15620
15621         New module 'unictype/category-longname'.
15622         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
15623         * lib/unictype/categ_longname.c: New file.
15624         * modules/unictype/category-longname: New file.
15625         * modules/unictype/category-all (Depends-on): Add it.
15626
15627 2011-03-25  Bruno Haible  <bruno@clisp.org>
15628
15629         Tests for module 'unictype/category-LC'.
15630         * modules/unictype/category-LC-tests: New file.
15631         * tests/unictype/test-categ_LC.c: New file, automatically generated.
15632
15633         New module 'unictype/category-LC'.
15634         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
15635         (UC_CATEGORY_LC): New declaration.
15636         (UC_CASED_LETTER): New macro.
15637         * lib/gen-uni-tables.c (is_category_LC): New function.
15638         (output_categories): Also handle category LC.
15639         (UC_CATEGORY_MASK_LC): New enumeration value.
15640         (general_category_byname): Also handle category LC.
15641         * lib/unictype/categ_LC.c: New file.
15642         * lib/unictype/categ_LC.h: New file, automatically generated.
15643         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
15644         category LC.
15645         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
15646         * modules/unictype/category-LC: New file.
15647         * modules/unictype/category-byname (Depends-on): Add
15648         unictype/category-LC.
15649         * modules/unictype/category-all (Depends-on): Likewise.
15650
15651 2011-03-25  Eric Blake  <eblake@redhat.com>
15652
15653         xmalloc: revert yesterday's regression
15654         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
15655         realloc's underlying behavior (allowing allocation of zero-size
15656         objects, especially if malloc-gnu is also in use).
15657
15658 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
15659
15660         maint.mk: add missing version to VC-tag
15661         * top/maint.mk: git tag was missing actual tag name; add it.
15662
15663         valgrind: do leak checking, and exit with code 1 on error (not 0)
15664         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
15665         to VALGRIND.
15666
15667 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
15668
15669         posix-modules: say what it does.
15670         * posix-modules: Add a line to the --help output saying what it does.
15671
15672 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15673
15674         xmalloc: Do not leak if underlying realloc is C99 compatible.
15675         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
15676         This avoids a leak on C99-based systems.  See
15677         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
15678
15679 2011-03-24  Eric Blake  <eblake@redhat.com>
15680
15681         realloc: document portability problem
15682         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
15683         passing 0 size to realloc.
15684
15685 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
15686
15687         doc: update users.txt
15688         * users.txt: Add cvsps, tmpwatch
15689
15690 2011-03-23  Matt Rice  <ratmice@gmail.com>
15691
15692         doc: update users.txt
15693         * users.txt: Add gdb.
15694
15695 2011-03-23  Jim Meyering  <meyering@redhat.com>
15696
15697         doc: update users.txt
15698         Looking through matches up to the following URL (there are still
15699         several more pages), I found several projects that use gnulib:
15700         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
15701         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
15702         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
15703
15704 2011-03-22  Bruno Haible  <bruno@clisp.org>
15705
15706         unictype/bidi*: Rename functions.
15707         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
15708         uc_bidi_class, uc_is_bidi_class): New declarations.
15709         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
15710         uc_bidi_category_byname.
15711         (uc_bidi_category_byname): New function.
15712         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
15713         u_bidi_category_name.
15714         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
15715         (uc_bidi_category_name): New function.
15716         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
15717         uc_bidi_category.
15718         (uc_bidi_category): New function.
15719         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
15720         uc_is_bidi_category. Invoke uc_bidi_class.
15721         (uc_is_bidi_category): New function.
15722         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
15723         instead of uc_bidi_category_byname.
15724         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
15725         instead of uc_bidi_category_name.
15726         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
15727         uc_bidi_category.
15728         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
15729         instead of uc_is_bidi_category.
15730
15731 2011-03-21  Bruno Haible  <bruno@clisp.org>
15732
15733         New module 'unictype/joininggroup-all'.
15734         * modules/unictype/joininggroup-all: New file.
15735
15736         Tests for module 'unictype/joininggroup-of'.
15737         * modules/unictype/joininggroup-of-tests: New file.
15738         * tests/unictype/test-joininggroup_of.c: New file.
15739         * tests/unictype/test-joininggroup_of.h: New file, automatically
15740         generated by gen-uni-tables.
15741
15742         New module 'unictype/joininggroup-of'.
15743         * modules/unictype/joininggroup-of: New file.
15744         * lib/unictype/joininggroup_of.c: New file.
15745         * lib/unictype/joininggroup_of.h: New file, automatically generated by
15746         gen-uni-tables.
15747
15748         Tests for module 'unictype/joininggroup-byname'.
15749         * modules/unictype/joininggroup-byname-tests: New file.
15750         * tests/unictype/test-joininggroup_byname.c: New file.
15751
15752         New module 'unictype/joininggroup-byname'.
15753         * modules/unictype/joininggroup-byname: New file.
15754         * lib/unictype/joininggroup_byname.c: New file.
15755         * lib/unictype/joininggroup_byname.gperf: New file.
15756
15757         Tests for module 'unictype/joininggroup-name'.
15758         * modules/unictype/joininggroup-name-tests: New file.
15759         * tests/unictype/test-joininggroup_name.c: New file.
15760
15761         New module 'unictype/joininggroup-name'.
15762         * modules/unictype/joininggroup-name: New file.
15763         * lib/unictype/joininggroup_name.c: New file.
15764         * lib/unictype/joininggroup_name.h: New file.
15765
15766         New module 'unictype/joiningtype-all'.
15767         * modules/unictype/joiningtype-all: New file.
15768
15769         Tests for module 'unictype/joiningtype-of'.
15770         * modules/unictype/joiningtype-of-tests: New file.
15771         * tests/unictype/test-joiningtype_of.c: New file.
15772         * tests/unictype/test-joiningtype_of.h: New file, automatically
15773         generated by gen-uni-tables.
15774
15775         New module 'unictype/joiningtype-of'.
15776         * modules/unictype/joiningtype-of: New file.
15777         * lib/unictype/joiningtype_of.c: New file.
15778         * lib/unictype/joiningtype_of.h: New file, automatically generated by
15779         gen-uni-tables.
15780
15781         Tests for module 'unictype/joiningtype-byname'.
15782         * modules/unictype/joiningtype-byname-tests: New file.
15783         * tests/unictype/test-joiningtype_byname.c: New file.
15784
15785         New module 'unictype/joiningtype-byname'.
15786         * modules/unictype/joiningtype-byname: New file.
15787         * lib/unictype/joiningtype_byname.c: New file.
15788
15789         Tests for module 'unictype/joiningtype-name'.
15790         * modules/unictype/joiningtype-name-tests: New file.
15791         * tests/unictype/test-joiningtype_name.c: New file.
15792
15793         New module 'unictype/joiningtype-name'.
15794         * modules/unictype/joiningtype-name: New file.
15795         * lib/unictype/joiningtype_name.c: New file.
15796
15797         unictype: Add support for Arabic shaping properties.
15798         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
15799         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
15800         declarations.
15801         (UC_JOINING_GROUP_*): New enumeration values.
15802         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
15803         declarations.
15804         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
15805         (unicode_joining_type): New variable.
15806         (UC_JOINING_GROUP_*): New enumeration values.
15807         (unicode_joining_group): New variable.
15808         (fill_arabicshaping, joining_type_as_c_identifier,
15809         output_joining_type_test, output_joining_type,
15810         joining_group_as_c_identifier, output_joining_group_test,
15811         output_joining_group): New functions.
15812         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
15813         fill_arabicshaping and output_joining_type_test, output_joining_type,
15814         output_joining_group_test, output_joining_group.
15815         Reported by Simon Josefsson.
15816
15817 2011-03-21  Jim Meyering  <meyering@redhat.com>
15818
15819         strftime: fix a bug in yesterday's change
15820         * lib/strftime.c (add): Accommodate width's initial value of -1.
15821         Otherwise, nstrftime would copy uninitialized data into
15822         the result buffer.
15823
15824 2011-03-21  Jim Meyering  <meyering@redhat.com>
15825
15826         tests: add strftime-tests module
15827         * tests/test-strftime.c: New file.
15828         * modules/strftime-tests: New module.
15829
15830 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15831
15832         strftime: don't assume a byte count fits in 'int'
15833         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
15834         found this problem by static analysis, using gcc -Wstrict-overflow
15835         (GCC 4.5.2, x86-64).  This reported an optimization that depended
15836         on an integer overflow having undefined behavior, but it turns out
15837         that the argument is a size, which might not fit in 'int' anyway,
15838
15839 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15840
15841         stdio: don't require ignore_value around fwrite
15842
15843         This patch works around libc bug 11959
15844         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
15845         Without this patch, applications must often write
15846         ignore_value (fwrite (...)) even though the ignore_value is
15847         not helpful here.  It's common to write many objects, using
15848         fwrite/printf/etc., and then use ferror to detect output error.
15849
15850         I considered making this patch optional, but decided against it,
15851         because libc is obviously being inconsistent here: there is no
15852         reason libc should insist that user code must inspect fwrite
15853         return's value without also insisting that it inspect printf's,
15854         putchar's, etc.  If user code wants to have a strict style where
15855         all these functions' values are checked (so that ferror need not
15856         be checked), we could add support for that style in a new gnulib
15857         module, but in the meantime it's better to be consistent and to
15858         support common usage.
15859
15860         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
15861         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
15862         that we are compiling in checking mode, and if not C++, and
15863         if not already wrapping fwrite for some other reason.
15864         (fwrite): #define to rpl_fwrite if the latter is defined.
15865
15866 2011-03-20  Bruno Haible  <bruno@clisp.org>
15867
15868         verror: Fix compilation error introduced on 2011-02-13.
15869         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
15870         instead of __attribute__.
15871         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15872
15873 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15874             Bruno Haible  <bruno@clisp.org>
15875
15876         socklen: do not depend on sys_socket
15877         While trying to modify Emacs to use gnulib's socklen module,
15878         I discovered a circular dependency: socklen depends on sys_socket
15879         and vice versa.  Emacs can use socklen, but it does not need
15880         sys_socket because it has its own substitute for sys/socket.h.
15881         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
15882         gl_TYPE_SOCKLEN_T.
15883         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
15884         gl_PREREQ_SYS_H_SOCKET.
15885         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
15886         gl_PREREQ_SYS_H_SOCKET.
15887         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
15888         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
15889         * modules/socklen (Depends-on): Do not depend on sys_socket.
15890         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
15891
15892 2011-03-20  Jim Meyering  <meyering@redhat.com>
15893
15894         maint.mk: sort file names *after* new transformation
15895         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
15896         prefix would have led to an unwarranted failure in GNU parted.
15897         Sort after that transformation.
15898
15899 2011-03-19  Jim Meyering  <meyering@redhat.com>
15900
15901         maint.mk: fix po-file syntax-check rule
15902         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
15903         Patch by Bruno Haible.
15904
15905 2011-03-19  Bruno Haible  <bruno@clisp.org>
15906
15907         socklen: Update comment.
15908         * m4/socklen.m4: Update comment about platforms.
15909
15910 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15911             Bruno Haible  <bruno@clisp.org>
15912
15913         inet_ntop, inet_pton: Simplify.
15914         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
15915         documented to provide socklen_t and we already depend on sys_socket.
15916         * modules/inet_pton (Depends-on): Likewise.
15917         * lib/arpa_inet.in.h: Adjust comment.
15918
15919 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15920             Bruno Haible  <bruno@clisp.org>
15921
15922         netdb: Simplify.
15923         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
15924         documented to provide socklen_t and we already depend on sys_socket.
15925         * lib/netdb.in.h: Adjust comment.
15926
15927 2011-03-19  Bruno Haible  <bruno@clisp.org>
15928
15929         sys_socket, netdb: Document problem with socklen_t.
15930         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
15931         platforms.
15932         * doc/posix-headers/netdb.texi: Likewise.
15933
15934 2011-03-18  Eric Blake  <eblake@redhat.com>
15935
15936         maint.mk: let po check work in VPATH build
15937         * top/maint.mk (po_file): Allow cfg.mk override.
15938         (sc_po_check): Allow VPATH use.
15939         Reported by Jiri Denemark.
15940
15941 2011-03-16  Jim Meyering  <meyering@redhat.com>
15942
15943         maint.mk: allow fine-grained syntax-check exclusion via Make variables
15944         Before, you would have had to create one .x-sc_ file per rule in order
15945         to exempt offending files.  Now, you may instead use a Make variable --
15946         usually defined in cfg.mk -- whose name identifies the affected rule.
15947         * top/maint.mk (_sc_excl): Define.
15948         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
15949         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
15950
15951 2011-03-13  Bruno Haible  <bruno@clisp.org>
15952
15953         ignore-value tests: Avoid warnings.
15954         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
15955         empty for gcc < 3.4.
15956
15957 2011-03-13  Bruno Haible  <bruno@clisp.org>
15958
15959         passfd: Fix link error on Solaris.
15960         * modules/passfd (Description): Correct.
15961         (Depends-on): Add socketlib.
15962         (Link): New section.
15963         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
15964
15965 2011-03-13  Bruno Haible  <bruno@clisp.org>
15966
15967         passfd: Fix link error on AIX 5.2.
15968         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
15969
15970 2011-03-13  Bruno Haible  <bruno@clisp.org>
15971
15972         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
15973         * lib/sys_socket.in.h: Include <stddef.h>.
15974         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
15975         CMSG_FIRSTHDR. Remove unused variable.
15976
15977 2011-03-13  Bruno Haible  <bruno@clisp.org>
15978
15979         passfd: Fix compilation error on OpenBSD.
15980         * lib/passfd.c: Include <sys/uio.h>.
15981
15982 2011-03-13  Bruno Haible  <bruno@clisp.org>
15983
15984         passfd test: Fix warnings.
15985         * tests/test-passfd.c: Include <sys/wait.h>.
15986         (main): Fix typo.
15987
15988 2011-03-13  Bruno Haible  <bruno@clisp.org>
15989
15990         passfd module, part 4, tweaks.
15991         * tests/test-passfd.c: Reorder includes.
15992         (main): Fix perror and printf calls.
15993
15994 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15995
15996         passfd module, part 4.
15997         * modules/passfd-tests: New file.
15998         * tests/test-passfd.c: New file.
15999
16000 2011-03-13  Jim Meyering  <meyering@redhat.com>
16001
16002         Makefile: rely on GNU make; derive syntax-check rule names
16003         Rather than requiring that each sc_ rule be listed as a dependent
16004         of "check", use features of GNU make to derive the list.
16005         * Makefile (syntax-check-rules): Define.
16006         (check): Depend on the new variable, not the hard-coded list.
16007
16008 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
16009             Bruno Haible  <bruno@clisp.org>
16010
16011         passfd module, part 3.
16012         * lib/passfd.h (recvfd): Add a flags argument.
16013         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
16014         (recvfd): Add a flags argument.
16015         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
16016         exists.
16017         * modules/passfd (Depends-on): Add cloexec.
16018         Suggested by Eric Blake.
16019
16020 2011-03-13  Bruno Haible  <bruno@clisp.org>
16021
16022         passfd module, part 2, tweaks.
16023         * modules/passfd (Files): Reorder.
16024         (Depends-on): Remove errno.
16025         (Include): Remove <sys/socket.h>, <sys/un.h>.
16026         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
16027         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
16028         specification header. Include <sys/socket.h> always. Don't include
16029         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
16030         (sendfd): Clarify that it sets errno when it fails.
16031         (recvfd): Fix specification.
16032
16033 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16034
16035         passfd module, part 2.
16036         * modules/passfd: New file.
16037         * lib/passfd.h: New file.
16038         * lib/passfd.c: New file.
16039
16040 2011-03-12  Bruno Haible  <bruno@clisp.org>
16041
16042         wcswidth, mbswidth: Avoid integer overflow.
16043         * lib/wcswidth.c: Include <limits.h>.
16044         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
16045         * lib/mbswidth.c: Include <limits.h>.
16046         (mbsnwidth): Avoid 'int' overflow.
16047         Reported by Jim Meyering.
16048
16049 2011-03-12  Bruno Haible  <bruno@clisp.org>
16050
16051         futimens, utimensat: Avoid endless recursion on Solaris 10.
16052         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
16053         Solaris.
16054         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
16055         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
16056
16057 2011-03-11  Jim Meyering  <meyering@redhat.com>
16058
16059         maint.mk: relax a regexp to accommodate other formatting styles
16060         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
16061         between "ngettext" and the following "(".
16062
16063 2011-03-11  Pádraig Brady <P@draigBrady.com>
16064
16065         maint.mk: suppress a false positive warning
16066         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
16067         diagnostics are marked with ngettext.
16068
16069 2011-03-10  Eric Blake  <eblake@redhat.com>
16070
16071         wchar: add explicit dependencies, for Tru64
16072         * modules/mbmemcasecoll (Depends-on): Add wchar.
16073         * modules/mbtowc (Depends-on): Likewise.
16074         * modules/vasnprintf (Depends-on): Likewise.
16075         * modules/unistdio/u-printf-args (Depends-on): Likewise.
16076         * modules/wctomb (Depends-on): Likewise.
16077         Reported by Peter O'Gorman.
16078
16079 2011-03-08  Bruno Haible  <bruno@clisp.org>
16080
16081         passfd module, part 1, tweaks.
16082         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
16083         Improve indentation. Improve AC_MSG_CHECKING messages.
16084         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
16085         gl_SOCKET_FAMILIES.
16086
16087 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16088
16089         passfd module, part 1.
16090         * m4/afunix.m4: New file.
16091         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
16092         sockets.
16093
16094 2011-03-08  Bruno Haible  <bruno@clisp.org>
16095
16096         regex-quote: New API.
16097         * lib/regex-quote.h: Include <stdbool.h>.
16098         (struct regex_quote_spec): New type.
16099         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16100         New declarations.
16101         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16102         'const struct regex_quote_spec *' argument.
16103         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
16104         (pcre_special): New constant.
16105         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16106         New functions.
16107         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16108         'const struct regex_quote_spec *' argument.
16109         * modules/regex-quote (Depends-on): Add stdbool.
16110         * tests/test-regex-quote.c (check): Update for new API. Add test for
16111         anchored results.
16112         * NEWS: Mention the API change.
16113         Reported by Reuben Thomas and Eric Blake.
16114
16115 2011-03-06  Bruno Haible  <bruno@clisp.org>
16116
16117         regex-quote: Fix creation of POSIX extended regular expressions.
16118         * lib/regex-quote.c (ere_special): Add grouping and alternation
16119         operators.
16120
16121 2011-03-05  Bruno Haible  <bruno@clisp.org>
16122
16123         doc: Improve doc regarding autopoint vs. gnulib.
16124         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
16125         disable autopoint while running autoreconf.
16126         Suggested by Ralf Wildenhues.
16127
16128 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16129
16130         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
16131         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
16132
16133 2011-03-03  Bruce Korb  <bkorb@gnu.org>
16134
16135         parse-duration: remove xalloc.h dependency
16136         * lib/parse-duration.c (parse_period): handle NULL return from
16137         strdup instead of calling xstrdup().
16138         * modules/parse-duration: remove "xalloc" dependency
16139
16140 2011-03-03  Matthew Booth  <mbooth@redhat.com>
16141
16142         bootstrap: honor m4_base when running aclocal
16143         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
16144
16145 2011-03-02  Jim Meyering  <meyering@redhat.com>
16146
16147         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
16148         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
16149         on request from Matt Booth.
16150
16151 2011-03-01  Eric Blake  <eblake@redhat.com>
16152
16153         test-link: work on Hurd
16154         * tests/test-link.h (test_link): Hurd rejects linking directories
16155         with EISDIR instead of the POSIX-mandated EPERM.
16156
16157 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
16158
16159         stdio: simplify by moving files to printf-posix, sigpipe
16160         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
16161         since this symbol is needed only if printf is replaced.
16162         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
16163         Require gl_ASM_SYMBOL_PREFIX.
16164         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
16165         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
16166         (Depends-on): Add 'raise'.
16167         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
16168         * modules/stdio (Files): Remove lib/stdio-write.c,
16169         m4/asm-underscore.m4.
16170         (Depends-on): Remove 'raise'.
16171
16172         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
16173         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
16174         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
16175         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
16176
16177 2011-02-28  Bruno Haible  <bruno@clisp.org>
16178
16179         localcharset: Assume ANSI C behaviour of free().
16180         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
16181         calling free().
16182         Suggested by Simon Josefsson <simon@josefsson.org>.
16183
16184 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
16185             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
16186             Bruno Haible  <bruno@clisp.org>  (tiny change)
16187
16188         On Cygwin, use /proc file system instead of win32 API.
16189         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
16190         Win32 file names.
16191         (DllMain): Simplify by removing Cygwin specific code.
16192         (find_shared_library_fullname): Use Linux specific implementation also
16193         for Cygwin.
16194         (get_shared_library_fullname): Update accordingly.
16195         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
16196         Win32 file names.
16197         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
16198         Cygwin specific code.
16199
16200 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
16201             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
16202
16203         Fix OpenMP flag detection for various Fortran compilers.
16204         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
16205         OpenMP-conditional compilation construct, to force compile
16206         failure with missing OpenMP flag.
16207         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
16208
16209 2011-02-25  Eric Blake  <eblake@redhat.com>
16210
16211         strstr: expand test coverage
16212         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
16213         compilation.
16214         * tests/test-memmem.c (main): Duplicate tests.
16215         * tests/test-strcasestr.c (main): Likewise.
16216         * tests/test-c-strcasestr.c (main): Likewise.
16217
16218 2011-02-25  Jim Meyering  <meyering@redhat.com>
16219
16220         maint.mk: detect missing-NL-at-EOF, too
16221         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
16222         it also detects when a file lacks a newline at EOF.
16223         (require_exactly_one_NL_at_EOF_): Renamed from
16224         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
16225         since people may well have .x-sc_... file names tied to the
16226         existing name.  Suggested by Eric Blake.
16227
16228 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16229
16230         dirname: move m4/dos.m4 functionality into lib/dosname.h
16231
16232         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
16233         extracts symbols from it, puts them into config.h; but it's much
16234         easier to use the symbols directly.  filename.h already does this,
16235         but it disagrees with dos.m4 in some respects.  This patch
16236         introduces a different include file dosname.h that packages up
16237         dos.m4, and then later we can work on merging filename.h and
16238         dosname.h.  Applications that need only the easy-to-configure
16239         symbols should consider including dosname.h rather than dirname.h.
16240         * NEWS: Mention incompatible changes.
16241         * m4/dos.m4: Remove.
16242         * lib/dosname.h, modules/dosname: New files.
16243         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
16244         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
16245         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
16246         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
16247         Include dosname.h, not dirname.h.
16248         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
16249         Include dosname.h, for definitions of symbols like ISSLASH
16250         that used to be in config.h.
16251         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
16252         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
16253         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16254         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16255         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
16256         * modules/rmdir (Files): Likewise.
16257         * modules/stat (Files): Likewise.
16258         * modules/unlink (Files): Likewise.
16259         * modules/dirname-lgpl (Depends-on): Add dosname.
16260         * modules/lstat (Depends-on): Likewise.
16261         * modules/openat (Depends-on): Likewise.
16262         * modules/rmdir (Depends-on): Likewise.
16263         * modules/savewd (Depends-on): Likewise.
16264         * modules/stat (Depends-on): Likewise.
16265         * modules/unlink (Depends-on): Likewise.
16266         * modules/openat (Depends-on): Remove dirname-lgpl.
16267         * modules/savewd (Depends-on): Likewise.
16268         * tests/test-dirname.c: Do not use removed symbols like
16269         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
16270         the remaining symbols, e.g., ISSLASH ('\\').
16271
16272 2011-02-25  Eric Blake  <eblake@redhat.com>
16273
16274         strstr: revert patches that introduced bug and pessimization
16275         * lib/str-two-way.h: Add another reference.
16276         (two_way_short_needle, two_way_long_needle): Revert changes from
16277         2011-02-24; they pessimize search speed.
16278         (critical_factorization): Partially revert changes from
16279         2010-06-22; they violate the requirement that the left half of the
16280         needle be smaller than the period of the needle.
16281
16282 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16283
16284         filenamecat: remove unnecessary dependency on dirname-lgpl
16285         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
16286         is no direct dependency, just an indirect one via filenamecat-lgpl.
16287
16288         remove: remove unnecessary use of m4/dos.m4
16289         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
16290         * modules/remove (FILES): Remove m4/dos.m4.
16291
16292         * lib/openat-proc.c: Don't include dirname.h; not needed.
16293
16294         backupfile: remove unnecessary use of m4/dos.m4
16295         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
16296         of its symbols are used by the backupfile code.  backupfile.c does
16297         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
16298         for the rare case of programs that want all their backup file
16299         names to live within 8+3 limits, and dos.m4 doesn't address that.
16300         * modules/backupfile (Files): Remove m4/dos.m4.
16301
16302 2011-02-24  Jim Meyering  <meyering@redhat.com>
16303
16304         strstr: fix a bug whereby strstr would mistakenly return NULL
16305         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
16306         in period calculation.
16307         (two_way_long_needle): Likewise.
16308         The original problem was reported by Mike Stump in
16309         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
16310         Ralf Wildenhues provided the short needle and haystack.
16311         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
16312         Add a more involved test to trigger the bug in two_way_long_needle.
16313
16314 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16315
16316         gnulib-tool: remove use of bold display in help screen
16317         * gnulib-tool (func_usage): Do not use bold display anymore in the
16318         help screen.  That was just meant to be a temporary emphasis for a
16319         backward-incompatible change.
16320
16321 2011-02-23  Bruno Haible  <bruno@clisp.org>
16322
16323         Fix misindentation of preprocessor directives.
16324         * lib/argp-namefrob.h: Reindent preprocessor directives.
16325         * lib/getopt_int.h (struct _getopt_data): Likewise.
16326         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
16327         * lib/vasnprintf.c (decode_long_double): Likewise.
16328         * tests/test-argmatch.c: Insert blank lines, for clarity.
16329         * tests/test-exclude.c: Likewise.
16330
16331 2011-02-22  Bruno Haible  <bruno@clisp.org>
16332
16333         ioctl: Fix for MacOS X in 64-bit mode.
16334         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
16335         value.
16336         Suggested by Eric Blake.
16337         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
16338
16339 2011-02-22  Jim Meyering  <meyering@redhat.com>
16340
16341         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
16342         * Makefile (sc_cpp_indent_check): Don't limit the check to files
16343         in lib/.
16344
16345 2011-02-22  Eric Blake  <eblake@redhat.com>
16346
16347         maint: avoid any CDPATH issue
16348         * Makefile (sc_cpp_indent_check): Anchor cd argument.
16349
16350         maint: adjust cpp indentation for my modules, as well
16351         * Makefile (sc_cpp_indent_check): Add my name.
16352         * lib/fbufmode.c: Filter through cppi.
16353         * lib/fpurge.c: Likewise.
16354         * lib/freadable.c: Likewise.
16355         * lib/freading.c: Likewise.
16356         * lib/fwritable.c: Likewise.
16357         * lib/fwriting.c: Likewise.
16358         * lib/sigaction.c: Likewise.
16359
16360 2011-02-22  Jim Meyering  <meyering@redhat.com>
16361
16362         maint: adjust cpp indentation to reflect nesting depth
16363         I.e., in a block of code that begins with an unnested "#if",
16364         put one space between the "#" in column 1 and following token.
16365         For example,
16366         -#include <sys/vfs.h>
16367         +# include <sys/vfs.h>
16368         Do this only in .c files that are part of a module I maintain.
16369         * lib/linkat.c: Filter through cppi.
16370         * lib/nanosleep.c: Likewise.
16371         * lib/openat.c: Likewise.
16372         * lib/openat-die.c: Likewise.
16373         * lib/dup3.c: Likewise.
16374         * lib/fchownat.c: Likewise.
16375         * lib/flock.c: Likewise.
16376         * lib/fsync.c: Likewise.
16377         * lib/fts.c: Likewise.
16378         * lib/getpass.c: Likewise.
16379         * lib/gettimeofday.c: Likewise.
16380         * lib/userspec.c: Likewise.
16381         * Makefile (sc_cpp_indent_check): New rule, to check this.
16382
16383 2011-02-22  Bruno Haible  <bruno@clisp.org>
16384
16385         New module 'wctomb'.
16386         * lib/stdlib.in.h (wctomb): New declaration.
16387         * lib/wctomb.c: New file.
16388         * lib/wctomb-impl.h: New file.
16389         * m4/wctomb.m4: New file.
16390         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
16391         REPLACE_WCTOMB.
16392         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
16393         REPLACE_WCTOMB.
16394         * modules/wctomb: New file.
16395         * tests/test-stdlib-c++.cc: Test signature of wctomb.
16396         * doc/posix-functions/wctomb.texi: Mention the new module.
16397         * modules/wctob (Depends-on): Add wctomb.
16398
16399 2011-02-22  Bruno Haible  <bruno@clisp.org>
16400
16401         New module 'mbtowc'.
16402         * lib/stdlib.in.h (mbtowc): New declaration.
16403         * lib/mbtowc.c: New file.
16404         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
16405         * m4/mbtowc.m4: New file.
16406         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
16407         REPLACE_MBTOWC.
16408         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
16409         REPLACE_MBTOWC.
16410         * modules/mbtowc: New file.
16411         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
16412         * doc/posix-functions/mbtowc.texi: Mention the new module.
16413         * modules/btowc (Depends-on): Add mbtowc.
16414
16415 2011-02-22  Bruno Haible  <bruno@clisp.org>
16416
16417         wcrtomb: Add more tests for native Windows platforms.
16418         * tests/test-wcrtomb-w32-1.sh: New file.
16419         * tests/test-wcrtomb-w32-2.sh: New file.
16420         * tests/test-wcrtomb-w32-3.sh: New file.
16421         * tests/test-wcrtomb-w32-4.sh: New file.
16422         * tests/test-wcrtomb-w32-5.sh: New file.
16423         * tests/test-wcrtomb-w32.c: New file.
16424         * modules/wcrtomb-tests (Files): Add them.
16425         (Makefile.am): Arrange to run these tests.
16426         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
16427         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
16428
16429 2011-02-20  Bruno Haible  <bruno@clisp.org>
16430
16431         wcrtomb: Enhance test.
16432         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
16433
16434 2011-02-20  Bruno Haible  <bruno@clisp.org>
16435
16436         mbrtowc: Tiny optimization.
16437         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
16438
16439 2011-02-20  Jim Meyering  <meyering@redhat.com>
16440
16441         test-exclude.c: remove unmatched #endif
16442         * tests/test-exclude.c: Remove stray #endif, left over from
16443         the change of a week ago.
16444
16445 2011-02-19  Jim Meyering  <meyering@redhat.com>
16446
16447         git-version-gen: skip "-dirty" check when appropriate
16448         * build-aux/git-version-gen: Don't run any git commands when the
16449         version string comes from .tarball-version.  Prior to this, we
16450         would run git update-index --refresh even from a just-unpacked
16451         tarball directory, and that could affect a .git/ directory in a
16452         parent of the build directory.  Reported by Mike Frysinger.
16453
16454 2011-02-19  Bruno Haible  <bruno@clisp.org>
16455
16456         unictype/property-byname: Reduce the size of the 'data' segment.
16457         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
16458
16459 2011-02-19  Bruno Haible  <bruno@clisp.org>
16460
16461         unictype/scripts: Reduce the size of the 'data' segment.
16462         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
16463         '%pic'.
16464         * lib/unictype/scripts_byname.gperf: Regenerated.
16465
16466 2011-02-19  Bruno Haible  <bruno@clisp.org>
16467
16468         stdint: Update documentation.
16469         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
16470
16471 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
16472
16473         stdint: omit redundant check for wchar.h
16474         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
16475         always tests whether wchar.h exists, so remove the now-redundant test.
16476
16477 2011-02-18  Bruno Haible  <bruno@clisp.org>
16478
16479         stdint: Cut dependency to module 'wchar'.
16480         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
16481         include the necessary prerequisites.
16482         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
16483         * modules/stdint (Depends-on): Remove wchar.
16484         (Makefile.am): Substitute HAVE_WCHAR_H.
16485         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
16486
16487 2011-02-18  Eric Blake  <eblake@redhat.com>
16488
16489         longlong: skip, rather than fail, on cross-compilation
16490         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
16491         when cross-compiling; regression from 2011-02-16.
16492
16493 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16494
16495         * NEWS: Mention 2011-02-08 change to stdlib.
16496
16497 2011-02-17  Bruno Haible  <bruno@clisp.org>
16498
16499         getloadavg: Add comments about platforms.
16500         * m4/getloadavg.m4: Add comment.
16501         * lib/getloadavg.c: Likewise.
16502
16503 2011-02-17  Bruno Haible  <bruno@clisp.org>
16504
16505         getloadavg: Fix link error on Solaris 2.6.
16506         * modules/getloadavg (Link): New section.
16507         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
16508         linking test-getloadavg.
16509         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
16510         getloadavg.
16511
16512 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16513
16514         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
16515         It was 'int', but this doesn't match the IRIX 6.5 manual.
16516         Suggested by Bruno Haible in
16517         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
16518
16519 2011-02-17  Bruno Haible  <bruno@clisp.org>
16520
16521         havelib: Fix comments.
16522         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
16523         change.
16524
16525 2011-02-17  Bruno Haible  <bruno@clisp.org>
16526
16527         havelib: Update config.rpath.
16528         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
16529
16530 2011-02-17  Bruno Haible  <bruno@clisp.org>
16531
16532         getloadavg test: Add some plausibility checks.
16533         * tests/test-getloadavg.c (check_avg): Print a warning when the value
16534         is improbable.
16535
16536 2011-02-16  Eric Blake  <eblake@redhat.com>
16537
16538         maintainer-makefile: make syntax-check a no-op from tarballs
16539         * top/maint.mk (no-vc-detected): New rule.
16540         (local-checks-available): Use it to avoid hanging if someone tries
16541         'make syntax-check' from a tarball.  Also append to any non-syntax
16542         checks already defined in cfg.mk.
16543
16544 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
16545
16546         longlong: tune, particularly for common case of c99
16547
16548         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
16549         or running anything if c99, or if unsigned long long int does not
16550         work.  In either case, we know the answer without further tests.
16551         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
16552         it at most once, and use its results for both long long int and
16553         unsigned long long int.  This is more likely to be efficient in
16554         the common case where the program wants to check for both long
16555         long int and unsigned long long int.
16556         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
16557         since the answer is already known.
16558
16559 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
16560
16561         getloadavg: set errno
16562         * lib/getloadavg.c: Set errno when returning -1.  If no other
16563         error number looks appropriate, set it to ENOSYS if the getloadavg
16564         looks like it can't possibly ever work, ENOTSUP otherwise.
16565         Suggested by Bruno Haible in
16566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
16567
16568         getloadavg: trim unused parts and speed up 'configure'
16569         * NEWS: Document this.
16570         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
16571         always compiled if getloadavg is absent.
16572         Move test code to ...
16573         * tests/test-getloadavg.c: New file, containing previous
16574         contents of test from lib/getloadavg.c.  It also contains
16575         suggestions by Bruno Haible in
16576         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
16577         * modules/getloadavg-tests: New file.
16578         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
16579         Do tests in the same order as they're needed for getloadavg.c.
16580         Omit setgid-related tests that generate symbols KMEM_GROUP,
16581         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
16582         Do only the tests that are needed to see whether the system has
16583         getloadavg, moving the other tests into ...
16584         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
16585         NLIST_NAME_UNION; nobody should be using it.  Do not define
16586         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
16587         relevant, as the user of this module shouldn't care how getloadavg
16588         is implemented.
16589
16590         getloadavg: omit unused var
16591         * lib/getloadavg.c (getloadavg): Omit unused local variable.
16592
16593 2011-02-15  Jim Meyering  <meyering@redhat.com>
16594
16595         doc: update users.txt
16596         * users.txt: Update iwhd's URL.
16597
16598 2011-02-13  Bruno Haible  <bruno@clisp.org>
16599
16600         Consistent macro naming for macros that use GCC __attribute__.
16601         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
16602         _ATTRIBUTE_NONNULL_.
16603         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
16604         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
16605         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
16606         ATTRIBUTE_DEPRECATED.
16607         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
16608         ATTRIBUTE_NORETURN.
16609         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16610         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16611         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16612         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16613         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
16614         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
16615         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
16616         ATTRIBUTE_SENTINEL.
16617         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
16618         ATTRIBUTE_RETURN_CHECK.
16619         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
16620         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
16621         ATTRIBUTE_NORETURN.
16622         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
16623         Reported by Paul Eggert.
16624
16625 2011-02-13  Bruno Haible  <bruno@clisp.org>
16626
16627         Don't interfere with a program's definition of __attribute__.
16628         * lib/argp.h (__attribute__): Remove definition.
16629         (_GL_ATTRIBUTE_FORMAT): New macro.
16630         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
16631         * lib/argp-fmtstream.h (__attribute__): Remove definition.
16632         (_GL_ATTRIBUTE_FORMAT): New macro.
16633         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
16634         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
16635         GCC 3 or newer.
16636         * lib/error.h (__attribute__): Remove definition.
16637         (_GL_ATTRIBUTE_FORMAT): New macro.
16638         (error, error_at_line): Use it.
16639         * lib/hash.h (__attribute__): Remove definition.
16640         (ATTRIBUTE_WUR): Update definition. Define always.
16641         * lib/openat.h (__attribute__): Remove definition.
16642         (ATTRIBUTE_NORETURN): Update definition. Define always.
16643         * lib/sigpipe-die.h (__attribute__): Remove definition.
16644         (ATTRIBUTE_NORETURN): Update definition. Define always.
16645         * lib/vasnprintf.h (__attribute__): Remove definition.
16646         (_GL_ATTRIBUTE_FORMAT): New macro.
16647         (asnprintf, vasnprintf): Use it.
16648         * lib/xalloc.h (__attribute__): Remove definition.
16649         (ATTRIBUTE_NORETURN): Update definition. Define always.
16650         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
16651         * lib/xmemdup0.h (__attribute__): Remove definition.
16652         (ATTRIBUTE_NORETURN): Update definition. Define always.
16653         * lib/xprintf.h (__attribute__): Remove definition.
16654         (_GL_ATTRIBUTE_FORMAT): New macro.
16655         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
16656         * lib/xstrtol.h (__attribute__): Remove definition.
16657         (ATTRIBUTE_NORETURN): Update definition. Define always.
16658         * lib/xvasprintf.h (__attribute__): Remove definition.
16659         (_GL_ATTRIBUTE_FORMAT): New macro.
16660         (xasprintf, xvasprintf): Use it.
16661         * tests/test-argmatch.c (__attribute__): Remove definition.
16662         (ATTRIBUTE_NORETURN): Update definition. Define always.
16663         * tests/test-exclude.c (__attribute__): Remove definition.
16664         (ATTRIBUTE_NORETURN): Update definition. Define always.
16665         Reported by Paul Eggert.
16666
16667 2011-02-13  Bruno Haible  <bruno@clisp.org>
16668
16669         mbrtowc: Add more tests for native Windows platforms.
16670         * tests/test-mbrtowc-w32-1.sh: New file.
16671         * tests/test-mbrtowc-w32-2.sh: New file.
16672         * tests/test-mbrtowc-w32-3.sh: New file.
16673         * tests/test-mbrtowc-w32-4.sh: New file.
16674         * tests/test-mbrtowc-w32-5.sh: New file.
16675         * tests/test-mbrtowc-w32.c: New file.
16676         * modules/mbrtowc-tests (Files): Add them.
16677         (Makefile.am): Arrange to run these tests.
16678         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
16679         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
16680
16681 2011-02-13  Bruno Haible  <bruno@clisp.org>
16682
16683         mbrtowc: Work around native Windows bug.
16684         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
16685         guess when no suitable locale for testing was found.
16686         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
16687
16688 2011-02-13  Bruno Haible  <bruno@clisp.org>
16689
16690         mbsinit: Work around mingw bug.
16691         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
16692         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
16693         Windows.
16694         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
16695
16696 2011-02-13  Bruno Haible  <bruno@clisp.org>
16697
16698         mbsinit: Don't crash for a NULL argument.
16699         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
16700         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
16701
16702 2011-02-13  Bruno Haible  <bruno@clisp.org>
16703
16704         Don't interfere with a program's definition of __attribute__.
16705         * lib/stdio.in.h (__attribute__): Remove definition.
16706         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
16707         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
16708         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
16709         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
16710         * lib/string.in.h (__attribute__): Remove definition.
16711         Reported by Paul Eggert.
16712
16713 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16714
16715         stdlib: don't get in the way of non-GCC __attribute__
16716         See thread starting at
16717         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
16718         Revert previous stdlib change, installing the following instead:
16719         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
16720         to get in the way of a non-GCC compiler that supports __attribute__.
16721         (_GL_ATTRIBUTE_RETURN): New macro.
16722         (_Exit): Use it instead of __attribute__.
16723
16724 2011-02-12  Bruno Haible  <bruno@clisp.org>
16725
16726         quotearg test: Avoid test failure on mingw.
16727         * tests/test-quotearg.sh: Convert the locale identifier from native
16728         Windows syntax to Unix syntax.
16729
16730 2011-02-12  Bruno Haible  <bruno@clisp.org>
16731
16732         setlocale: Prefer gnulib's override over libintl's override.
16733         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
16734         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
16735         GNULIB_defined_setlocale is set.
16736
16737 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16738
16739         stdlib: support non-GCC __attribute__
16740
16741         Fix a serious and tricky problem encountered when attempting to
16742         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
16743         5.5, but it crashed due to memory corruption on Solaris 10 with
16744         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
16745         bits that are otherwise zero.  This tagging is optional inside
16746         Emacs but is preferred and is used when __attribute__ ((__aligned
16747         (8))) works, as it does with both recent-enough GCC and with Sun C
16748         5.11.  However, Sun C 5.11 is not GCC and does not #define
16749         __GNUC__ and __GNUC_MINOR__.
16750
16751         When I added the getloadavg module to Emacs, it brought in
16752         stdlib.in.h, which contained this fragment:
16753
16754            #ifndef __attribute__
16755            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
16756            #  define __attribute__(Spec)   /* empty */
16757            # endif
16758            #endif
16759
16760         When files that include <stdlib.h> were compiled with Sun C 5.11,
16761         the above code disabled __attribute__ ((__aligned (8))), which
16762         caused variables to not be properly aligned, which eventually led
16763         to the pointer corruption mentioned above.  (This was a bit hard
16764         to diagnose, unfortunately.)
16765
16766         Several "#define __attribute__(X) /* empty */" code snippets need
16767         to be eradicated from Gnulib to work with non-GCC compilers that
16768         support __attribute__.  The Autoconf way to do this is to test for
16769         each kind of attribute that we want support for, and selectively
16770         enable that in source code.
16771
16772         Fix this problem just for stdlib.h, by adding a test for the
16773         __noreturn__ attribute, and change stdlib.in.h to use that test
16774         when needed.  This technique can be easily generalized to the
16775         other *.in.h files and attributes, and a similar technique can be
16776         used for *.h and *.c files.  This patch is enough to solve the
16777         problem for Emacs + getloadavg, and I thought I'd publish it for
16778         feedback before undertaking further, similar fixes in other
16779         modules.
16780
16781         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
16782         because it's not needed for stdlib.h.  It merely substitutes the
16783         value directly into stdlib.h.  We may well need to #define it, or
16784         similar symbols, for other modules, but it's nice to also have an
16785         option to not #define it for applications like Emacs that do not
16786         need it.
16787
16788         * lib/stdlib.in.h (__attribute__): Do not #define.
16789         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
16790         be defined only if the _Exit module is also used.
16791         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
16792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
16793         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
16794         platforms.
16795         * modules/_Exit (Files): Add m4/attribute.m4.
16796         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
16797         * m4/attribute.m4: New file.
16798
16799 2011-02-12  Bruno Haible  <bruno@clisp.org>
16800
16801         wcsrtombs: Work around bug on native Windows.
16802         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
16803         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
16804         instead of len.
16805         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
16806
16807 2011-02-12  Bruno Haible  <bruno@clisp.org>
16808
16809         mbsrtowcs: Work around bug on native Windows.
16810         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
16811         against mingw bug.
16812         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
16813
16814 2011-02-12  Bruno Haible  <bruno@clisp.org>
16815
16816         Avoid setlocale bugs in tests.
16817         * modules/btowc (Dependencies): Add setlocale.
16818         * modules/c-strcase (Dependencies): Likewise.
16819         * modules/mbmemcasecmp (Dependencies): Likewise.
16820         * modules/mbmemcasecoll (Dependencies): Likewise.
16821         * modules/mbrtowc (Dependencies): Likewise.
16822         * modules/mbscasecmp (Dependencies): Likewise.
16823         * modules/mbscasestr (Dependencies): Likewise.
16824         * modules/mbschr (Dependencies): Likewise.
16825         * modules/mbscspn (Dependencies): Likewise.
16826         * modules/mbsinit (Dependencies): Likewise.
16827         * modules/mbsncasecmp (Dependencies): Likewise.
16828         * modules/mbsnrtowcs (Dependencies): Likewise.
16829         * modules/mbspbrk (Dependencies): Likewise.
16830         * modules/mbspcasecmp (Dependencies): Likewise.
16831         * modules/mbsrchr (Dependencies): Likewise.
16832         * modules/mbsrtowcs (Dependencies): Likewise.
16833         * modules/mbsspn (Dependencies): Likewise.
16834         * modules/mbsstr (Dependencies): Likewise.
16835         * modules/nl_langinfo (Dependencies): Likewise.
16836         * modules/quotearg (Dependencies): Likewise.
16837         * modules/unicase/locale-language (Dependencies): Likewise.
16838         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
16839         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
16840         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
16841         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
16842         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
16843         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
16844         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
16845         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
16846         * modules/vasnprintf-posix (Dependencies): Likewise.
16847         * modules/wcrtomb (Dependencies): Likewise.
16848         * modules/wcsnrtombs (Dependencies): Likewise.
16849         * modules/wcsrtombs (Dependencies): Likewise.
16850
16851 2011-02-12  Bruno Haible  <bruno@clisp.org>
16852
16853         setlocale: Workaround native Windows bug.
16854         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
16855         succeeds but sets LC_CTYPE to "C", report a failure.
16856         * tests/test-setlocale2.sh: New file.
16857         * tests/test-setlocale2.c: New file.
16858         * modules/setlocale-tests (Files): Add the new files.
16859         (Makefile.am): Enable test-setlocale2.sh test.
16860         * doc/posix-functions/setlocale.texi: Mention workaround.
16861
16862 2011-02-11  Bruno Haible  <bruno@clisp.org>
16863
16864         Tests for module 'setlocale'.
16865         * modules/setlocale-tests: New file.
16866         * tests/test-setlocale1.sh: New file.
16867         * tests/test-setlocale1.c: New file.
16868
16869         New module 'setlocale'.
16870         * lib/locale.in.h (setlocale): New declaration.
16871         * lib/setlocale.c: New file, based on
16872         gettext/gettext-runtime/intl/setlocale.c.
16873         * m4/setlocale.m4: New file.
16874         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
16875         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
16876         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
16877         REPLACE_SETLOCALE.
16878         * modules/setlocale: New file.
16879         * tests/test-locale-c++.cc: Test the declaration of setlocale.
16880         * doc/posix-functions/setlocale.texi: Mention the new module.
16881
16882 2011-02-11  Bruno Haible  <bruno@clisp.org>
16883
16884         Prepare for locale dependent tests on mingw.
16885         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
16886         because it has the wrong locale encoding.
16887         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
16888         French_France.1252 instead of "fr".
16889         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
16890         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
16891         because it has the wrong locale encoding.
16892         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
16893         native Windows, try Turkish_Turkey.65001.
16894         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
16895         Chinese_China.54936.
16896
16897         Prepare for locale dependent tests on mingw.
16898         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
16899         differently.
16900         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
16901         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
16902         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16903         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16904
16905 2011-02-11  Eric Blake  <eblake@redhat.com>
16906
16907         strptime: avoid compiler warnings
16908         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
16909         compiler warnings about dead code.
16910         Reported by Daniel P. Berrange.
16911
16912 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
16913
16914         doc: update users.txt
16915         * users.txt: Add rcs.
16916
16917 2011-02-10  John W. Eaton  <jwe@gnu.org>
16918
16919         doc: update users.txt
16920         * users.txt: Add octave.
16921
16922 2011-02-10  Jim Meyering  <meyering@redhat.com>
16923
16924         doc: update users.txt
16925         * users.txt: Add iwhd.
16926
16927 2011-02-09  Bruno Haible  <bruno@clisp.org>
16928
16929         gnulib-tool: Make copyright notice adjustment more robust.
16930         * gnulib-tool (func_import): In sed_transform_main_lib_file,
16931         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
16932         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
16933         License".
16934         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
16935
16936 2011-02-06  Bruno Haible  <bruno@clisp.org>
16937
16938         New module 'towctrans'.
16939         * modules/towctrans: New file.
16940         * lib/wctype.in.h (towctrans): New declaration.
16941         * lib/towctrans.c: New file.
16942         * lib/towctrans-impl.h: New file.
16943         * m4/towctrans.m4: New file.
16944         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
16945         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
16946         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
16947         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
16948         * doc/posix-functions/towctrans.texi: Mention the new module.
16949
16950 2011-02-06  Bruno Haible  <bruno@clisp.org>
16951
16952         New module 'wctrans'.
16953         * modules/wctrans: New file.
16954         * lib/wctype.in.h (wctrans): New declaration.
16955         * lib/wctrans.c: New file.
16956         * lib/wctrans-impl.h: New file.
16957         * m4/wctrans.m4: New file.
16958         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
16959         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
16960         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
16961         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
16962         * doc/posix-functions/wctrans.texi: Mention the new module.
16963
16964 2011-02-06  Bruno Haible  <bruno@clisp.org>
16965
16966         New module 'iswctype'.
16967         * modules/iswctype: New file.
16968         * lib/wctype.in.h (iswctype): New declaration.
16969         * lib/iswctype.c: New file.
16970         * lib/iswctype-impl.h: New file.
16971         * m4/iswctype.m4: New file.
16972         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
16973         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
16974         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
16975         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
16976         * doc/posix-functions/iswctype.texi: Mention the new module and the
16977         HP-UX 11.00 problem.
16978
16979 2011-02-06  Bruno Haible  <bruno@clisp.org>
16980
16981         New module 'wctype'.
16982         * modules/wctype: Change to represent the wctype() substitute.
16983         * lib/wctype.in.h (wctype): New declaration.
16984         * lib/wctype.c: New file.
16985         * lib/wctype-impl.h: New file.
16986         * m4/wctype.m4: New file.
16987         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
16988         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
16989         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
16990         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
16991         * doc/posix-functions/wctype.texi: Mention the new module and the
16992         HP-UX 11.00 problem.
16993
16994 2011-02-06  Bruno Haible  <bruno@clisp.org>
16995
16996         wctype-h: Ensure wctype_t and wctrans_t are defined.
16997         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
16998         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16999         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17000         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
17001         HAVE_WCTRANS_T.
17002         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
17003
17004 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17005
17006         flock: fix license typo
17007
17008         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
17009         omitted.
17010
17011 2011-02-08  Bruno Haible  <bruno@clisp.org>
17012
17013         Split large sed scripts, for HP-UX sed.
17014         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
17015         to avoid HP-UX limit of 99 commands, in the near future.
17016         * modules/stdlib (Makefile.am): Likewise.
17017         * modules/unistd (Makefile.am): Likewise.
17018         * modules/wchar (Makefile.am): Likewise.
17019         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17020         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
17021         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
17022
17023 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17024             Bruno Haible  <bruno@clisp.org>
17025
17026         stdlib: improve random_r modularization
17027         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
17028         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
17029         you also need the random_r module to get this material right.
17030         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
17031         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
17032         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
17033
17034 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17035
17036         stdlib: don't depend on stdint
17037         * lib/stdlib.in.h: Don't include <stdint.h> merely because
17038         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
17039         be independent of whether stdint.h is needed.
17040         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
17041         here, instead of ...
17042         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
17043         struct random_data should be using the random_r module, not just
17044         the stdlib module (which wouldn't make sense: what package needs
17045         just struct random_data without also needing random_r?).
17046         * modules/stdlib (Depends-on): Remove stdint.
17047
17048         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
17049         See the thread rooted at
17050         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
17051         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
17052         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
17053         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
17054         __VMS)); previously it was always included (via fcntl--.h).
17055         (getloadavg): Do not use c_strtod.  Instead, approximate it by
17056         hand; this is good enough for load averages.  Also, do not use
17057         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
17058         flags directly if available and don't bother otherwise.  (Packages
17059         that need the extra reliability should use the modules that define
17060         these flags on older platforms that lack them.)
17061         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
17062         fcntl-safer.
17063
17064 2011-02-08  Jim Meyering  <meyering@redhat.com>
17065
17066         di-set.h, ino-map.h: add multiple-inclusion guard
17067         Technically, the guard is required only for ino-map.h, due to its
17068         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
17069         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
17070         * lib/ino-map.h: Likewise.
17071
17072 2011-02-06  Bruno Haible  <bruno@clisp.org>
17073
17074         iswblank: Ensure declaration on glibc systems.
17075         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
17076         * modules/iswblank (Dependencies): Add 'extensions'.
17077         * doc/posix-functions/iswblank.texi: Document the glibc problem.
17078
17079 2011-02-06  Bruno Haible  <bruno@clisp.org>
17080
17081         New module 'iswblank'.
17082         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
17083         * modules/iswblank: New file.
17084         * modules/wctype-h (Files): Remove lib/iswblank.c.
17085         (Makefile.am): Substitute GNULIB_ISWBLANK.
17086         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
17087         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
17088         (gl_WCTYPE_H_DEFAULTS): New macro.
17089         (gl_WCTYPE_H): Require it. Remove iswblank related code.
17090         * modules/iswblank-tests: New file.
17091         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
17092         * tests/test-wctype-h.c (main): Remove iswblank tests.
17093         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
17094         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
17095         of 'wctype-h'.
17096         * NEWS: Mention the change.
17097         * modules/mbchar (Depends-on): Add iswblank.
17098
17099 2011-02-08  Bruno Haible  <bruno@clisp.org>
17100
17101         di-set tests: Refactor.
17102         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
17103         unnecessary includes.
17104         (ASSERT): Remove macro.
17105         (main): Make C90 compliant by avoiding variable declaration after
17106         statement.
17107         * modules/di-set-tests (Files): Add tests/macros.h.
17108
17109 2011-02-08  Bruno Haible  <bruno@clisp.org>
17110
17111         ino-map tests: Refactor.
17112         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
17113         unnecessary includes.
17114         (ASSERT): Remove macro.
17115         (main): Make C90 compliant by avoiding variable declaration after
17116         statement.
17117         * modules/ino-map-tests (Files): Add tests/macros.h.
17118
17119 2011-02-08  Jim Meyering  <meyering@redhat.com>
17120
17121         di-set: add "const" to a cast
17122         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
17123         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
17124
17125 2011-02-06  Bruno Haible  <bruno@clisp.org>
17126
17127         Rename module 'wctype' to 'wctype-h'.
17128         * modules/wctype-h: Renamed from modules/wctype.
17129         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
17130         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
17131         (Files, Depends-on, Makefile.am): Update.
17132         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
17133         (Files, Makefile.am): Update.
17134         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
17135         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
17136         * doc/posix-headers/wctype.texi: Update.
17137         * doc/posix-functions/iswalnum.texi: Update.
17138         * doc/posix-functions/iswalpha.texi: Update.
17139         * doc/posix-functions/iswblank.texi: Update.
17140         * doc/posix-functions/iswcntrl.texi: Update.
17141         * doc/posix-functions/iswdigit.texi: Update.
17142         * doc/posix-functions/iswgraph.texi: Update.
17143         * doc/posix-functions/iswlower.texi: Update.
17144         * doc/posix-functions/iswprint.texi: Update.
17145         * doc/posix-functions/iswpunct.texi: Update.
17146         * doc/posix-functions/iswspace.texi: Update.
17147         * doc/posix-functions/iswupper.texi: Update.
17148         * doc/posix-functions/iswxdigit.texi: Update.
17149         * doc/posix-functions/towlower.texi: Update.
17150         * doc/posix-functions/towupper.texi: Update.
17151         * NEWS: Mention the change.
17152         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
17153         * modules/mbchar (Dependencies): Likewise.
17154         * modules/mbswidth (Dependencies): Likewise.
17155         * modules/quotearg (Dependencies): Likewise.
17156         * modules/regex (Dependencies): Likewise.
17157         * modules/wcscasecmp (Dependencies): Likewise.
17158         * modules/wcsncasecmp (Dependencies): Likewise.
17159         * modules/wcwidth (Dependencies): Likewise.
17160
17161 2011-02-06  Bruno Haible  <bruno@clisp.org>
17162
17163         New module 'wcswidth'.
17164         * modules/wcswidth: New file.
17165         * lib/wchar.in.h (wcswidth): New declaration.
17166         * lib/wcswidth.c: New file.
17167         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
17168         * m4/wcswidth.m4: New file.
17169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
17170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
17171         REPLACE_WCSWIDTH.
17172         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
17173         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
17174         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
17175         * doc/posix-functions/wcswidth.texi: Mention the new module.
17176
17177 2011-02-06  Bruno Haible  <bruno@clisp.org>
17178
17179         New module 'wcstok'.
17180         * modules/wcstok: New file.
17181         * lib/wchar.in.h (wcstok): New declaration.
17182         * lib/wcstok.c: New file.
17183         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
17184         * m4/wcstok.m4: New file.
17185         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
17186         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
17187         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
17188         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
17189         * doc/posix-functions/wcstok.texi: Mention the new module.
17190
17191 2011-02-06  Bruno Haible  <bruno@clisp.org>
17192
17193         New module 'wcsstr'.
17194         * modules/wcsstr: New file.
17195         * lib/wchar.in.h (wcsstr): New declaration.
17196         * lib/wcsstr.c: New file.
17197         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
17198         * m4/wcsstr.m4: New file.
17199         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
17200         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
17201         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
17202         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
17203         * doc/posix-functions/wcsstr.texi: Mention the new module.
17204
17205 2011-02-06  Bruno Haible  <bruno@clisp.org>
17206
17207         New module 'wcspbrk'.
17208         * modules/wcspbrk: New file.
17209         * lib/wchar.in.h (wcspbrk): New declaration.
17210         * lib/wcspbrk.c: New file.
17211         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
17212         * m4/wcspbrk.m4: New file.
17213         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
17214         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
17215         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
17216         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
17217         * doc/posix-functions/wcspbrk.texi: Mention the new module.
17218
17219 2011-02-06  Bruno Haible  <bruno@clisp.org>
17220
17221         New module 'wcsspn'.
17222         * modules/wcsspn: New file.
17223         * lib/wchar.in.h (wcsspn): New declaration.
17224         * lib/wcsspn.c: New file.
17225         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
17226         * m4/wcsspn.m4: New file.
17227         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
17228         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
17229         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
17230         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
17231         * doc/posix-functions/wcsspn.texi: Mention the new module.
17232
17233 2011-02-06  Bruno Haible  <bruno@clisp.org>
17234
17235         New module 'wcscspn'.
17236         * modules/wcscspn: New file.
17237         * lib/wchar.in.h (wcscspn): New declaration.
17238         * lib/wcscspn.c: New file.
17239         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
17240         * m4/wcscspn.m4: New file.
17241         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
17242         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
17243         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
17244         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
17245         * doc/posix-functions/wcscspn.texi: Mention the new module.
17246
17247 2011-02-06  Bruno Haible  <bruno@clisp.org>
17248
17249         New module 'wcsrchr'.
17250         * modules/wcsrchr: New file.
17251         * lib/wchar.in.h (wcsrchr): New declaration.
17252         * lib/wcsrchr.c: New file.
17253         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
17254         * m4/wcsrchr.m4: New file.
17255         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
17256         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
17257         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
17258         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
17259         * doc/posix-functions/wcsrchr.texi: Mention the new module.
17260
17261 2011-02-06  Bruno Haible  <bruno@clisp.org>
17262
17263         New module 'wcschr'.
17264         * modules/wcschr: New file.
17265         * lib/wchar.in.h (wcschr): New declaration.
17266         * lib/wcschr.c: New file.
17267         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
17268         * m4/wcschr.m4: New file.
17269         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
17270         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
17271         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
17272         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
17273         * doc/posix-functions/wcschr.texi: Mention the new module.
17274
17275 2011-02-06  Bruno Haible  <bruno@clisp.org>
17276
17277         New module 'wcsdup'.
17278         * modules/wcsdup: New file.
17279         * lib/wchar.in.h (wcsdup): New declaration.
17280         * lib/wcsdup.c: New file.
17281         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
17282         * m4/wcsdup.m4: New file.
17283         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
17284         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
17285         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
17286         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
17287         * doc/posix-functions/wcsdup.texi: Mention the new module.
17288
17289 2011-02-06  Bruno Haible  <bruno@clisp.org>
17290
17291         New module 'wcsxfrm'.
17292         * modules/wcsxfrm: New file.
17293         * lib/wchar.in.h (wcsxfrm): New declaration.
17294         * lib/wcsxfrm.c: New file.
17295         * lib/wcsxfrm-impl.h: New file.
17296         * m4/wcsxfrm.m4: New file.
17297         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
17298         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
17299         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
17300         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
17301         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
17302
17303 2011-02-06  Bruno Haible  <bruno@clisp.org>
17304
17305         New module 'wcscoll'.
17306         * modules/wcscoll: New file.
17307         * lib/wchar.in.h (wcscoll): New declaration.
17308         * lib/wcscoll.c: New file.
17309         * lib/wcscoll-impl.h: New file.
17310         * m4/wcscoll.m4: New file.
17311         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
17312         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
17313         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
17314         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
17315         * doc/posix-functions/wcscoll.texi: Mention the new module.
17316
17317 2011-02-06  Bruno Haible  <bruno@clisp.org>
17318
17319         New module 'wcsncasecmp'.
17320         * modules/wcsncasecmp: New file.
17321         * lib/wchar.in.h (wcsncasecmp): New declaration.
17322         * lib/wcsncasecmp.c: New file.
17323         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
17324         * m4/wcsncasecmp.m4: New file.
17325         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
17326         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
17327         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
17328         HAVE_WCSNCASECMP.
17329         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
17330         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
17331
17332 2011-02-06  Bruno Haible  <bruno@clisp.org>
17333
17334         New module 'wcscasecmp'.
17335         * modules/wcscasecmp: New file.
17336         * lib/wchar.in.h (wcscasecmp): New declaration.
17337         * lib/wcscasecmp.c: New file.
17338         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
17339         * m4/wcscasecmp.m4: New file.
17340         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
17341         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
17342         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
17343         HAVE_WCSCASECMP.
17344         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
17345         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
17346
17347 2011-02-05  Bruno Haible  <bruno@clisp.org>
17348
17349         New module 'wcsncmp'.
17350         * modules/wcsncmp: New file.
17351         * lib/wchar.in.h (wcsncmp): New declaration.
17352         * lib/wcsncmp.c: New file.
17353         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
17354         * m4/wcsncmp.m4: New file.
17355         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
17356         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
17357         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
17358         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
17359         * doc/posix-functions/wcsncmp.texi: Mention the new module.
17360
17361 2011-02-05  Bruno Haible  <bruno@clisp.org>
17362
17363         New module 'wcscmp'.
17364         * modules/wcscmp: New file.
17365         * lib/wchar.in.h (wcscmp): New declaration.
17366         * lib/wcscmp.c: New file.
17367         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
17368         * m4/wcscmp.m4: New file.
17369         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
17370         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
17371         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
17372         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
17373         * doc/posix-functions/wcscmp.texi: Mention the new module.
17374
17375 2011-02-05  Bruno Haible  <bruno@clisp.org>
17376
17377         New module 'wcsncat'.
17378         * modules/wcsncat: New file.
17379         * lib/wchar.in.h (wcsncat): New declaration.
17380         * lib/wcsncat.c: New file.
17381         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
17382         * m4/wcsncat.m4: New file.
17383         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
17384         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
17385         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
17386         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
17387         * doc/posix-functions/wcsncat.texi: Mention the new module.
17388
17389 2011-02-05  Bruno Haible  <bruno@clisp.org>
17390
17391         New module 'wcscat'.
17392         * modules/wcscat: New file.
17393         * lib/wchar.in.h (wcscat): New declaration.
17394         * lib/wcscat.c: New file.
17395         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
17396         * m4/wcscat.m4: New file.
17397         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
17398         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
17399         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
17400         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
17401         * doc/posix-functions/wcscat.texi: Mention the new module.
17402
17403 2011-02-05  Bruno Haible  <bruno@clisp.org>
17404
17405         New module 'wcpncpy'.
17406         * modules/wcpncpy: New file.
17407         * lib/wchar.in.h (wcpncpy): New declaration.
17408         * lib/wcpncpy.c: New file.
17409         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
17410         * m4/wcpncpy.m4: New file.
17411         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
17412         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
17413         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
17414         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
17415         * doc/posix-functions/wcpncpy.texi: Mention the new module.
17416
17417 2011-02-05  Bruno Haible  <bruno@clisp.org>
17418
17419         New module 'wcsncpy'.
17420         * modules/wcsncpy: New file.
17421         * lib/wchar.in.h (wcsncpy): New declaration.
17422         * lib/wcsncpy.c: New file.
17423         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
17424         * m4/wcsncpy.m4: New file.
17425         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
17426         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
17427         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
17428         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
17429         * doc/posix-functions/wcsncpy.texi: Mention the new module.
17430
17431 2011-02-05  Bruno Haible  <bruno@clisp.org>
17432
17433         New module 'wcpcpy'.
17434         * modules/wcpcpy: New file.
17435         * lib/wchar.in.h (wcpcpy): New declaration.
17436         * lib/wcpcpy.c: New file.
17437         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
17438         * m4/wcpcpy.m4: New file.
17439         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
17440         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
17441         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
17442         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
17443         * doc/posix-functions/wcpcpy.texi: Mention the new module.
17444
17445 2011-02-05  Bruno Haible  <bruno@clisp.org>
17446
17447         New module 'wcscpy'.
17448         * modules/wcscpy: New file.
17449         * lib/wchar.in.h (wcscpy): New declaration.
17450         * lib/wcscpy.c: New file.
17451         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
17452         * m4/wcscpy.m4: New file.
17453         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
17454         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
17455         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
17456         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
17457         * doc/posix-functions/wcscpy.texi: Mention the new module.
17458
17459 2011-02-05  Bruno Haible  <bruno@clisp.org>
17460
17461         New module 'wcsnlen'.
17462         * modules/wcsnlen: New file.
17463         * lib/wchar.in.h (wcsnlen): New declaration.
17464         * lib/wcsnlen.c: New file.
17465         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
17466         * m4/wcsnlen.m4: New file.
17467         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
17468         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
17469         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
17470         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
17471         * doc/posix-functions/wcsnlen.texi: Mention the new module.
17472
17473 2011-02-05  Bruno Haible  <bruno@clisp.org>
17474
17475         New module 'wcslen'.
17476         * modules/wcslen: New file.
17477         * lib/wchar.in.h (wcslen): New declaration.
17478         * lib/wcslen.c: New file.
17479         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
17480         * m4/wcslen.m4: New file.
17481         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
17482         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
17483         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
17484         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
17485         * doc/posix-functions/wcslen.texi: Mention the new module.
17486
17487 2011-02-05  Bruno Haible  <bruno@clisp.org>
17488
17489         New module 'wmemset'.
17490         * modules/wmemset: New file.
17491         * lib/wchar.in.h (wmemset): New declaration.
17492         * lib/wmemset.c: New file.
17493         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
17494         * m4/wmemset.m4: New file.
17495         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
17496         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
17497         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
17498         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
17499         * doc/posix-functions/wmemset.texi: Mention the new module.
17500
17501 2011-02-05  Bruno Haible  <bruno@clisp.org>
17502
17503         New module 'wmemmove'.
17504         * modules/wmemmove: New file.
17505         * lib/wchar.in.h (wmemmove): New declaration.
17506         * lib/wmemmove.c: New file.
17507         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
17508         * m4/wmemmove.m4: New file.
17509         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
17510         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
17511         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
17512         HAVE_WMEMMOVE.
17513         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
17514         * doc/posix-functions/wmemmove.texi: Mention the new module.
17515
17516 2011-02-05  Bruno Haible  <bruno@clisp.org>
17517
17518         New module 'wmemcpy'.
17519         * modules/wmemcpy: New file.
17520         * lib/wchar.in.h (wmemcpy): New declaration.
17521         * lib/wmemcpy.c: New file.
17522         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
17523         * m4/wmemcpy.m4: New file.
17524         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
17525         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
17526         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
17527         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
17528         * doc/posix-functions/wmemcpy.texi: Mention the new module.
17529
17530 2011-02-05  Bruno Haible  <bruno@clisp.org>
17531
17532         New module 'wmemcmp'.
17533         * modules/wmemcmp: New file.
17534         * lib/wchar.in.h (wmemcmp): New declaration.
17535         * lib/wmemcmp.c: New file.
17536         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
17537         * m4/wmemcmp.m4: New file.
17538         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
17539         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
17540         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
17541         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
17542         * doc/posix-functions/wmemcmp.texi: Mention the new module.
17543
17544 2011-02-07  Jim Meyering  <meyering@redhat.com>
17545
17546         di-set, ino-map: new modules, from coreutils
17547         * lib/di-set.c: New file.
17548         * lib/di-set.h: Likewise.
17549         * lib/ino-map.c: Likewise.
17550         * lib/ino-map.h: Likewise.
17551         * modules/di-set: Likewise.
17552         * modules/di-set-tests: Likewise.
17553         * modules/ino-map: Likewise.
17554         * modules/ino-map-tests: Likewise.
17555         * tests/test-di-set.c: Likewise.
17556         * tests/test-ino-map.c: Likewise.
17557
17558 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
17559
17560         getloadavg: merge minor changes from Emacs
17561
17562         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
17563         (getloadavg): Use memset, not bzero.
17564
17565         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
17566         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
17567         clash (bug#86).
17568
17569 2010-11-14  Bruno Haible  <bruno@clisp.org>
17570
17571         Allow multiple gnulib generated replacements to coexist.
17572         * lib/getopt.in.h (struct option): Avoid identical redefinition.
17573         * lib/inttypes.in.h (imaxdiv_t): Likewise.
17574         * lib/langinfo.in.h (nl_item): Likewise.
17575         * lib/math.in.h (_NaN, NAN): Likewise.
17576         * lib/netdb.in.h (struct addrinfo): Likewise.
17577         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
17578         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
17579         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
17580         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
17581         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
17582         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
17583         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
17584         pthread_mutexattr_init, pthread_mutexattr_settype,
17585         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
17586         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
17587         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
17588         pthread_spin_trylock, pthread_spin_unlock): Likewise.
17589         * lib/sched.in.h (struct sched_param): Likewise.
17590         * lib/se-selinux.in.h (security_class_t, security_context_t,
17591         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
17592         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
17593         lsetfilecon, fsetfilecon, security_check_context,
17594         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
17595         Likewise.
17596         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
17597         Likewise.
17598         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
17599         _gl_function_taking_int_returning_void_t, union sigval,
17600         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
17601         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
17602         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
17603         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
17604         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
17605         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
17606         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
17607         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
17608         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
17609         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
17610         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
17611         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
17612         socklen_t, rpl_fd_isset): Likewise.
17613         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
17614         * lib/sys_time.in.h (struct timeval): Likewise.
17615         * lib/sys_times.in.h (struct tms): Likewise.
17616         * lib/sys_utsname.in.h (struct utsname):
17617         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
17618         * lib/unistd.in.h (getpagesize): Likewise.
17619         * lib/wchar.in.h (mbstate_t): Likewise.
17620         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17621         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
17622         towlower, towupper): Likewise.
17623         Reported by Sam Steingold <sds@gnu.org>.
17624
17625 2011-02-05  Eric Blake  <eblake@redhat.com>
17626
17627         unsetenv: work around Haiku issues
17628         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
17629         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
17630
17631 2010-12-30  Bruce Korb  <bkorb@gnu.org>
17632
17633         libposix: avoid calling error() within libposix
17634         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
17635         is defined.
17636
17637 2011-02-05  Eric Blake  <eblake@redhat.com>
17638
17639         strerror_r-posix: port to cygwin
17640         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
17641         implementation.
17642         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
17643         * tests/test-strerror_r.c (main): Fix test.
17644         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17645         issue.
17646
17647 2011-02-05  Bruno Haible  <bruno@clisp.org>
17648
17649         New module 'wmemchr'.
17650         * modules/wmemchr: New file.
17651         * lib/wchar.in.h (wmemchr): New declaration.
17652         * lib/wmemchr.c: New file.
17653         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
17654         * m4/wmemchr.m4: New file.
17655         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
17656         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
17657         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
17658         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
17659         * doc/posix-functions/wmemchr.texi: Mention the new module.
17660
17661 2011-02-04  Eric Blake  <eblake@redhat.com>
17662
17663         fdopendir: detect FreeBSD bug
17664         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
17665         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
17666
17667 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17668
17669         stdbool: do not define HAVE_STDBOOL_H
17670         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
17671         AC_HEADER_STDBOOL.  All uses changed.  Do not define
17672         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
17673         imported from the latest Autoconf git.  It was motivated by Emacs,
17674         which uses gnulib but does not need HAVE_STDBOOL_H.
17675
17676 2011-02-04  Bruno Haible  <bruno@clisp.org>
17677
17678         wcsnrtombs: Prepare for new module wwcsnrtombs.
17679         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
17680         * lib/wcsnrtombs.c: Include it.
17681         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
17682
17683         wcsrtombs: Prepare for new module wwcsrtombs.
17684         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
17685         * lib/wcsrtombs.c: Include it.
17686         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
17687
17688         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
17689         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
17690         * lib/mbsnrtowcs.c: Include it.
17691         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
17692
17693         mbsrtowcs: Prepare for new module mbsrtowwcs.
17694         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
17695         * lib/mbsrtowcs.c: Include it.
17696         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
17697
17698 2011-02-04  Bruno Haible  <bruno@clisp.org>
17699
17700         vasnprintf: Reduce use of malloc for small format strings.
17701         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
17702         (arguments): Add room for the first 7 arguments.
17703         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
17704         (char_directives, u8_directives, u16_directives, u32_directives): Add
17705         room for the first 7 directives.
17706         * lib/printf-parse.c: Include <string.h>.
17707         (PRINTF_PARSE): Change memory handling code so that it uses the first
17708         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
17709         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
17710         Reported by Pádraig Brady <P@draigbrady.com>.
17711
17712 2011-01-31  Eric Blake  <eblake@redhat.com>
17713
17714         dup2: work around Haiku bug
17715         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
17716         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
17717         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17718         * tests/test-dup2.c (main): Enhance test.
17719
17720 2011-01-31  Simon Josefsson  <simon@josefsson.org>
17721
17722         doc: off_t is not available in eglibc 2.11.2 stdio.h.
17723         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
17724         declared by eglibc 2.11.2.
17725         * lib/stdio.in.h: Likewise.
17726
17727 2011-01-31  Eric Blake  <eblake@redhat.com>
17728
17729         ignore-value: add missing test dependency
17730         * tests/test-ignore-value.c: Revert previous change; stdio.h
17731         provides off_t.
17732         * modules/ignore-value-tests (Depends-on): Add missing dependency.
17733
17734 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17735
17736         mktime: clarify long_int width checking
17737         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
17738         the top level, to make it clearer that the assumption about
17739         long_int width is being checked.  See
17740         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
17741
17742 2011-01-30  Simon Josefsson  <simon@josefsson.org>
17743
17744         ignore-value: Fix self-test.
17745         * tests/test-ignore-value.c: Include sys/types.h for off_t.
17746
17747 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17748
17749         TYPE_MAXIMUM: avoid theoretically undefined behavior
17750         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
17751         negative number, which the C Standard says has undefined behavior.
17752         In practice this is not a problem, but might as well do it by the book.
17753         Reported by Rich Felker and Eric Blake; see
17754         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
17755         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
17756         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17757         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17758         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
17759         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17760         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
17761
17762         mktime: #undef mktime before #defining it
17763         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
17764
17765         mktime: systematically normalize tm_isdst comparisons
17766         * lib/mktime.c (isdst_differ): New function.
17767         (__mktime_internal): Use it systematically for all isdst comparisons.
17768         This completes the fix for libc BZ #6723, and removes the need for
17769         normalizing tm_isdst.  See
17770         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
17771         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
17772
17773         mktime: fix some integer overflow issues and sidestep the rest
17774
17775         This was prompted by a bug report by Benjamin Lindner for MinGW
17776         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
17777         His bug is due to signed integer overflow (0 - INT_MIN), and I
17778         I scanned through mktime.c looking for other integer overflow
17779         problems, fixing all the bugs I found.
17780
17781         Although the C Standard says the resulting code is still not safe
17782         in the presence of integer overflow, in practice it should be good
17783         enough for all real-world two's-complement implementations, except
17784         for debugging environments that deliberately trap on integer
17785         overflow (e.g., gcc -ftrapv).
17786
17787         * lib/mktime.c (WRAPV): New macro.
17788         (SHR): Also check that long_int and time_t shift right in the
17789         usual way, before using the fast-but-unportable method.
17790         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
17791         used.  The code already assumed two's complement, so there's
17792         no need to test for alternatives.  All uses removed.
17793         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
17794         the C standard.  Problem reported by Rich Felker in
17795         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
17796         (twos_complement_arithmetic): Also check long_int and time_t.
17797         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
17798         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
17799         (__mktime_internal): Avoid integer overflow with unary subtraction
17800         in two instances where -1 - X is an adequate replacement for -X,
17801         since the calculations are approximate.
17802
17803 2011-01-29  Eric Blake  <eblake@redhat.com>
17804
17805         mktime: avoid infinite loop
17806         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
17807         type; behavior is still undefined but portable to all known targets.
17808         Reported by Rich Felker.
17809
17810 2011-01-29  Simon Josefsson  <simon@josefsson.org>
17811
17812         rename, unlink, same-inode: Relicense.
17813         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
17814         * modules/unlink (License): Likewise.
17815         * modules/same-inode (License): Likewise.
17816
17817 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17818
17819         mktime: avoid problems on NetBSD 5 / i386
17820         * lib/mktime.c (long_int): New type.  This works around a problem
17821         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
17822         but time_t is 64 bits, and where I expect the existing code is
17823         wrong in some cases.
17824         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
17825         (ydhms_diff): Bring back the compile-time check for wide-enough
17826         year and yday.
17827
17828         mktime: fix misspelling in comment
17829         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
17830         This merges all recent glibc changes of importance.
17831
17832 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17833
17834         move-if-change: cope with concurrent mv of identical file.
17835         * build-aux/move-if-change (CMPPROG): Accept environment
17836         variable as an override for `cmp'.
17837         (usage): Document CMPPROG.
17838         Adjust comparison to drop stdout.  Cope with failure of mv if
17839         the target file exists and is identical to the source, for
17840         parallel builds.
17841         Report from H.J. Lu against binutils in PR binutils/12283.
17842
17843 2011-01-28  Bruce Korb  <bkorb@gnu.org>
17844
17845         * users.txt: Mention sharutils.
17846
17847 2011-01-28  Simon Josefsson  <simon@josefsson.org>
17848
17849         * users.txt: Mention OATH Toolkit.
17850
17851 2011-01-27  Bruno Haible  <bruno@clisp.org>
17852
17853         Prepare for supporting FreeBSD 10.
17854         * build-aux/config.libpath: Remove handling of freebsd1*.
17855
17856 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
17857
17858         Prepare for supporting FreeBSD 10.
17859         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
17860         match FreeBSD 10.0.
17861
17862 2011-01-27  Bruno Haible  <bruno@clisp.org>
17863
17864         vma-iter, get-rusage-as: Add OpenBSD support.
17865         * modules/vma-iter (configure.ac): Test for mquery.
17866         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
17867         * lib/vma-iter.c: Include <sys/mman.h>.
17868         (vma_iterate): Add an implementation based on mquery().
17869         * lib/resource-ext.h (get_rusage_as): Update comments.
17870         * lib/get-rusage-as.c: Likewise.
17871         * lib/get-rusage-data.c: Likewise.
17872
17873 2011-01-26  Karl Berry  <karl@gnu.org>
17874
17875         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
17876         variables to make it easier to override the makeinfo program used.
17877
17878 2011-01-26  Eric Blake  <eblake@redhat.com>
17879
17880         fcntl: work around Haiku F_DUPFD bugs
17881         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
17882         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
17883         cloexec bit on duplication.
17884         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
17885
17886 2011-01-26  Bruno Haible  <bruno@clisp.org>
17887
17888         Enable memory leak tests on AIX.
17889         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
17890         * tests/test-fprintf-posix3.c (main): Likewise.
17891
17892 2011-01-26  Bruno Haible  <bruno@clisp.org>
17893
17894         Tests for module 'get-rusage-data'.
17895         * modules/get-rusage-data-tests: New file.
17896         * tests/test-get-rusage-data.c: New file.
17897
17898         New module 'get-rusage-data'.
17899         * lib/resource-ext.h (get_rusage_data): New declaration.
17900         * lib/get-rusage-data.c: New file.
17901         * modules/get-rusage-data: New file.
17902
17903 2011-01-25  Bruno Haible  <bruno@clisp.org>
17904
17905         get-rusage-as: Allow for easier testing.
17906         * lib/resource-ext.h (get_rusage_as): Add comment.
17907         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
17908         (main): New function for interactive testing.
17909
17910 2011-01-25  Bruno Haible  <bruno@clisp.org>
17911
17912         vma-iter: Treat Haiku like BeOS.
17913         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
17914         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
17915
17916 2011-01-25  Eric Blake  <eblake@redhat.com>
17917
17918         c-stack: fix regression on cygwin when libsigsegv is present
17919         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
17920
17921 2011-01-24  Bruno Haible  <bruno@clisp.org>
17922
17923         vma-iter: Avoid empty intervals.
17924         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
17925         on an empty interval.
17926
17927 2011-01-24  Jim Meyering  <meyering@redhat.com>
17928
17929         u64: remove unnecessary #include
17930         * lib/u64.h: Don't include <stddef.h>.  It was not used.
17931
17932 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17933
17934         Allow the user to avoid the HAVE_RAW_DECL_* macros.
17935         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
17936
17937 2011-01-23  Bruno Haible  <bruno@clisp.org>
17938
17939         New module 'vma-iter'.
17940         * lib/vma-iter.h: New file.
17941         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
17942         * modules/vma-iter: New file.
17943         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
17944         for get_rusage_as_via_iterator.
17945         (vma_iterate_callback): New function.
17946         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
17947         * modules/get-rusage-as (Depends-on): Add vma-iter.
17948
17949 2011-01-23  Bruno Haible  <bruno@clisp.org>
17950
17951         uninorm: Tweak includes.
17952         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
17953         Reported by Jim Meyering.
17954
17955 2011-01-23  Bruno Haible  <bruno@clisp.org>
17956
17957         get-rusage-as: Improve on NetBSD.
17958         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
17959         /proc, like on FreeBSD.
17960
17961 2011-01-23  Jim Meyering  <meyering@redhat.com>
17962
17963         xreadlink.h: remove unnecessary #include
17964         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
17965
17966         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
17967         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
17968
17969 2011-01-23  Bruno Haible  <bruno@clisp.org>
17970
17971         get-rusage-as: Fix bug.
17972         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
17973         original limit when aborting the first loop.
17974
17975 2011-01-23  Bruno Haible  <bruno@clisp.org>
17976
17977         wctype: Ensure valid C syntax.
17978         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
17979         unconditionally, instead of gl_NEXT_HEADERS conditionally.
17980
17981 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17982
17983         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
17984         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
17985         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
17986         as they are needed only for configure's test case.
17987         This removes two unnecessary symbols from config.h.
17988
17989         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
17990         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
17991         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
17992         AC_CHECK_HEADERS_ONCE on a header that we also invoke
17993         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
17994         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
17995         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
17996         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
17997         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17998         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17999         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18000         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18001         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18002         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18003         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
18004         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18005         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18006         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18007
18008 2011-01-21  Eric Blake  <eblake@redhat.com>
18009
18010         maintainer-makefile: work with older git for submodule check
18011         * top/maint.mk (public-submodule-commit): Rewrite to avoid
18012         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
18013         Reported by Matthias Bolte.
18014
18015         bootstrap: minor portability fixes
18016         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
18017         (usage): Omit leading capital and trailing . on help phrases, per
18018         GNU Coding Standards.
18019         (check_versions, top level): Prefix messages with script name.
18020
18021 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
18022
18023         bootstrap: support --no-git option
18024         * build-aux/bootstrap: Add --no-git option, to be used when
18025         --gnulib-srcdir points to the exact desired checkout.
18026
18027 2011-01-21  Eric Blake  <eblake@redhat.com>
18028
18029         strerror_r-posix: work with glibc 2.13
18030         * lib/strerror_r.c (strerror_r): Fix return type.
18031
18032 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18033             Bruno Haible  <bruno@clisp.org>
18034
18035         uN_strstr: New unit tests.
18036         * modules/unistr/u8-strstr-tests: New file.
18037         * modules/unistr/u16-strstr-tests: New file.
18038         * modules/unistr/u32-strstr-tests: New file.
18039         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
18040         * tests/unistr/test-u8-strstr.c: New file.
18041         * tests/unistr/test-u16-strstr.c: New file.
18042         * tests/unistr/test-u32-strstr.c: New file.
18043
18044 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18045             Bruno Haible  <bruno@clisp.org>
18046
18047         Make uN_strstr functions O(n) worst-case.
18048         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
18049         16-bit and 32-bit unit cases, use the unibyte algorithm from
18050         lib/mbsstr.c.
18051         * lib/unistr/u8-strstr.c: Include <string.h>.
18052         (UNIT_IS_UINT8_T): New macro.
18053         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
18054         (U_STRLEN, U_STRNLEN): New macros.
18055         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
18056         (U_STRLEN, U_STRNLEN): New macros.
18057         * modules/unistr/u8-strstr (Depends-on): Add strstr.
18058         (configure.ac): Update required libunistring version.
18059         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
18060         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
18061         malloca.
18062         (configure.ac): Update required libunistring version.
18063         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
18064         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
18065         malloca.
18066         (configure.ac): Update required libunistring version.
18067
18068 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18069             Bruno Haible  <bruno@clisp.org>
18070
18071         Prepare for faster uN_strstr functions.
18072         * lib/str-kmp.h: Support definable UNITs.
18073         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
18074         needle_len argument.
18075         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
18076         * lib/mbscasestr.c (mbscasestr): Likewise.
18077
18078 2011-01-21  Pádraig Brady <P@draigBrady.com>
18079
18080         malloca-tests: make faster by unsetting MALLOC_PERTURB_
18081         * tests/test-malloca.c (main): Unset the environment variable
18082         to greatly speed up the test.
18083         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
18084         * modules/malloca-tests: Depend on unsetenv.
18085
18086 2011-01-21  Pádraig Brady <P@draigBrady.com>
18087
18088         ignore-value: remove stdint dependency
18089         * lib/ignore-value.h: Remove <stdint.h>
18090         * modules/ignore-value: Remove stdint dependency.
18091
18092 2011-01-21  Jim Meyering  <meyering@redhat.com>
18093
18094         maint.mk: adjust variable name to be consistent with other gl_ vars
18095         * top/maint.mk (gl_public_submodule_commit): Rename the variable
18096         to be lower case.
18097
18098 2011-01-20  Jim Meyering  <meyering@redhat.com>
18099
18100         maint.mk: make "check" depend on public-submodule-commit by default
18101         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
18102
18103 2011-01-20  Bruno Haible  <bruno@clisp.org>
18104
18105         mbfile, mbiter: Complete change from 2008-12-21.
18106         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
18107         * m4/mbiter.m4 (gl_MBITER): Likewise.
18108
18109 2011-01-20  Jim Meyering  <meyering@redhat.com>
18110
18111         init.sh: insert space between each function name and "()"
18112         * tests/init.sh: Make it a little easier to see that a function's
18113         name is "warn_", and not "warn" when looking at the first part of
18114         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
18115
18116 2011-01-20  Jim Meyering  <meyering@redhat.com>
18117
18118         mountlist: clean up code formatting
18119         * lib/mountlist.c (read_file_system_list): Split a long line,
18120         correct bracing style, use NULL in place of "(struct statfs *)0",
18121         don't parenthesize return value, add spaces around "=" and after
18122         ";-in-for-stmt".
18123
18124 2011-01-14  Markus Duft <mduft@gentoo.org>
18125
18126         mountlist: add support for Interix
18127         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
18128         Apply statvfs to all entries of /dev/fs.
18129         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
18130         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
18131
18132 2011-01-20  Jim Meyering  <meyering@redhat.com>
18133
18134         maint.mk: improve the public-submodule-commit rule
18135         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
18136         to suppress printing of its commands... unless V=1.
18137         Add git submodule's --quiet option to suppress printing of e.g.,
18138         "Entering gnulib" output.
18139         "cd" into $(srcdir) before running git submodule.
18140
18141 2011-01-20  Bruno Haible  <bruno@clisp.org>
18142
18143         include_next: Fix bug introduced on 2011-01-18.
18144         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
18145         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
18146         ac_cv_header_... variable if the second argument is not 'check'.
18147         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
18148         gl_NEXT_HEADERS_INTERNAL.
18149
18150 2011-01-20  Bruno Haible  <bruno@clisp.org>
18151
18152         Allow the user to avoid the GNULIB_TEST_* macros.
18153         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
18154         Suggested by Paul Eggert.
18155
18156 2011-01-14  Jim Meyering  <meyering@redhat.com>
18157
18158         bootstrap: avoid failure when there is no .gitmodules file
18159         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
18160         has been assigned to, even when its value is the empty string.
18161         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
18162         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
18163         Reported by John W. Eaton <jwe@gnu.org>.
18164
18165 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
18166
18167         assume <ctype.h>, ..., <time.h> exist
18168         For years gnulib has been assuming the existence of the headers
18169         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
18170         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
18171         them, since they don't appear to be needed.
18172         * README (Portability guidelines): Document this.
18173         * lib/flock.c: Assume <fcntl.h> exists.
18174         * lib/regex_internal.h: Assume <locale.h> exists.
18175         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
18176         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
18177         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
18178         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
18179         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
18180         * m4/regex.m4 (gl_REGEX): Likewise.
18181         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
18182         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
18183         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
18184         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
18185         * tests/test-argp.c: Likewise.
18186         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
18187
18188         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
18189         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
18190         AA_APPLE_UNIVERSAL_BUILD.  See
18191         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
18192         * NEWS: Document this.
18193
18194 2011-01-19  Eric Blake  <eblake@redhat.com>
18195
18196         c-stack: assume stack overflow if SA_SIGINFO unsupported
18197         * lib/c-stack.c (SIGACTION_WORKS): Rename...
18198         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
18199         sigaction will work.
18200         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
18201         behavior match Linux.
18202         * tests/test-c-stack.c (main): Prefer NULL for pointers.
18203
18204         stdbool-tests: accomodate Haiku
18205         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
18206
18207         binary-io: fix O_TEXT on Haiku
18208         * modules/binary-io (Depends-on): Add fcntl-h.
18209         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
18210         than blindly undefining O_TEXT.
18211         Reported by Scott McCreary.
18212
18213 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18214
18215         include_next: do not check for standard headers like stddef.h
18216
18217         I found this problem when modifying Emacs to use gnulib.
18218         I noticed that it added HAVE_STDDEF_H to config.h, even though
18219         gnulib always assumes <stddef.h> exists as per README and this
18220         symbol is unnecessary.
18221         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
18222         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
18223         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
18224         faster for headers like stddef.h that are known to exist.
18225         (gl_CHECK_NEXT_HEADERS): Use it.
18226         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
18227         rather than gl_CHECK_NEXT_HEADERS.
18228         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
18229         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
18230
18231 2011-01-18  Eric Blake  <eblake@redhat.com>
18232
18233         ansi-c++-opt: skip C++ dependency style if C++ is unused
18234         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
18235         tests when we know C++ compilation is not desired.
18236         Reported by Scott McCreary.
18237
18238 2011-01-18  Bruno Haible  <bruno@clisp.org>
18239
18240         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
18241         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
18242         (main): Perform test also when getrlimit and setrlimit don't exist or
18243         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
18244         limiting the address space size using setrlimit, compare the address
18245         space size before and after the the test.
18246         * tests/test-dprintf-posix2.c: Likewise.
18247         * tests/test-fprintf-posix3.sh: Update skip messages.
18248         * tests/test-dprintf-posix2.sh: Likewise.
18249         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
18250         * modules/dprintf-posix-tests (Depends-on): Likewise.
18251         Reported by Bruce Korb <bkorb@gnu.org> and
18252         Gary V. Vaughan <gary@gnu.org>.
18253
18254 2011-01-18  Bruno Haible  <bruno@clisp.org>
18255
18256         get-rusage-as: Improvement for Cygwin.
18257         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
18258         areas that are merely reserved.
18259
18260 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18261
18262         strftime: remove dependencies on multibyte modules
18263
18264         strftime depended on mbrlen, mbsinit, and wchar, but these modules
18265         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
18266         only if __osf__ is defined, and I suspect OSF doesn't need these
18267         other modules.  If my guess is wrong, we'll need to come up with a
18268         variant of strftime that doesn't need the multibyte modules.
18269
18270         I discovered this problem when attempting modify Emacs to use the
18271         strftime module.  With the previous gnulib, this caused Emacs to
18272         need 31 new files, ranging from lib/config.charset to
18273         m4/wint_t.m4.  This was overkill and I expect would be offputting
18274         to the Emacs maintainers.  After this change, only 6 new files are
18275         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
18276         stdbool.m4, and tm_gmtoff.m4.
18277
18278         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
18279         Suggested by Bruno Haible in
18280         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
18281         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
18282         and do not check for wchar.h.
18283         * modules/strftime (Files): Remove m4/mbstate_t.m4.
18284         (Depends-on): Remove mbrlen, mbsinit, wchar.
18285
18286 2011-01-18  Bruno Haible  <bruno@clisp.org>
18287
18288         Tests for module 'get-rusage-as'.
18289         * modules/get-rusage-as-tests: New file.
18290         * tests/test-get-rusage-as.c: New file.
18291
18292         New module 'get-rusage-as'.
18293         * modules/get-rusage-as: New file.
18294         * lib/resource-ext.h: New file.
18295         * lib/get-rusage-as.c: New file.
18296
18297 2011-01-17  Eric Blake  <eblake@redhat.com>
18298
18299         sigaction: relax license from LGPLv3+ to LGPLv2+
18300         * modules/sigaction (License): Relax to LGPLv2+.
18301
18302 2011-01-14  Bruno Haible  <bruno@clisp.org>
18303
18304         filemode: Make function declarations usable in C++ mode.
18305         * lib/filemode.h: Enclose function declarations in extern "C" block.
18306         Reported by John W. Eaton <jwe@gnu.org>.
18307
18308 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
18309
18310         save-cwd: no longer include "xgetcwd.h"
18311         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
18312         This avoids a compilation failure in projects that use save-cwd
18313         without also using the xgetcwd module.
18314
18315 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18316
18317         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
18318         This is so that a program like Emacs, which needs only dtoastr,
18319         does not have to bother with distributing and compiling ftoastr
18320         and ldtoastr.
18321         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
18322         * modules/dtoastr, modules/ldtoastr: New files.
18323         * modules/ftoastr: Now works just for 'float'.
18324         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
18325         (Makefile.am): Remove ftoastr.h (not needed and no effect),
18326         dtoastr.c, ldtoastr.c.
18327
18328 2011-01-11  Jim Meyering  <meyering@redhat.com>
18329
18330         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
18331         There is no need to work around the lack of the fchdir function,
18332         since gnulib can now provide a replacement when required.
18333         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
18334         * modules/save-cwd (Depends-on): Add fchdir.
18335
18336 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18337
18338         openat, save-cwd: avoid xmalloc
18339
18340         This removes a direct (but undocumented) dependency of openat on
18341         xalloc, along with an indirect dependency via save-cwd.  It also
18342         removes a dependency of save-cwd on xgetcwd, and thereby
18343         indirectly on xalloc.  This change causes the openat substitute
18344         to fall back on save_cwd when memory is tight, and for save_cwd to
18345         fail instead of dying when memory is tight, but that's good enough.
18346         Problem and initial idea for fix reported by Bastien Roucaries in
18347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
18348
18349         * lib/openat-proc.c: Include stdlib.h (for malloc), not
18350         xalloc.h (for xmalloc).
18351         (openat_proc_name): Use malloc, not xmalloc.
18352         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
18353         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
18354
18355         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
18356         This avoids heap allocation for file names whose lengths are in
18357         the range 512..1023, with the upper bound increasing to at most
18358         4031 depending on the platform's PATH_MAX.  (We do not want
18359         pathmax.h here as it might supply a non-constant PATH_MAX.)
18360         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
18361         Perhaps they should be moved to malloca.h?
18362         (OPENAT_BUFFER_SIZE): Use them.
18363
18364 2011-01-10  Bruno Haible  <bruno@clisp.org>
18365
18366         doc: Update users.txt.
18367         * users.txt: Add recutils.
18368
18369 2011-01-09  Karl Berry  <karl@gnu.org>
18370
18371         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
18372
18373         * doc/configmake.texi: New file.
18374         * doc/gnulib.texi: Include it.
18375         * modules/configmake: Move documentation from here.
18376
18377 2011-01-09  Bruno Haible  <bruno@clisp.org>
18378
18379         Update to Unicode 6.0.0.
18380         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
18381         (get_lbp): Update for Unicode 6.0.0.
18382         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
18383         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
18384         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
18385         U+11001, U+11038..U+11046. Remove U+06DE.
18386         (uc_width): Fix bounds of planes.
18387         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18388         lib/uniwidth/width.c.
18389         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
18390         trailing whitespace removed.
18391         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
18392         without comments, but with the original copyright notice.
18393         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
18394         * lib/unicase/ignorable.h: Likewise.
18395         * lib/unicase/tocasefold.h: Likewise.
18396         * lib/unicase/tolower.h: Likewise.
18397         * lib/unicase/totitle.h: Likewise.
18398         * lib/unicase/toupper.h: Likewise.
18399         * lib/unictype/bidi_of.h: Likewise.
18400         * lib/unictype/blocks.h: Likewise.
18401         * lib/unictype/categ_C.h: Likewise.
18402         * lib/unictype/categ_Cn.h: Likewise.
18403         * lib/unictype/categ_L.h: Likewise.
18404         * lib/unictype/categ_Ll.h: Likewise.
18405         * lib/unictype/categ_Lm.h: Likewise.
18406         * lib/unictype/categ_Lo.h: Likewise.
18407         * lib/unictype/categ_Lu.h: Likewise.
18408         * lib/unictype/categ_M.h: Likewise.
18409         * lib/unictype/categ_Mc.h: Likewise.
18410         * lib/unictype/categ_Me.h: Likewise.
18411         * lib/unictype/categ_Mn.h: Likewise.
18412         * lib/unictype/categ_N.h: Likewise.
18413         * lib/unictype/categ_Nd.h: Likewise.
18414         * lib/unictype/categ_No.h: Likewise.
18415         * lib/unictype/categ_P.h: Likewise.
18416         * lib/unictype/categ_Po.h: Likewise.
18417         * lib/unictype/categ_S.h: Likewise.
18418         * lib/unictype/categ_Sc.h: Likewise.
18419         * lib/unictype/categ_Sk.h: Likewise.
18420         * lib/unictype/categ_Sm.h: Likewise.
18421         * lib/unictype/categ_So.h: Likewise.
18422         * lib/unictype/categ_of.h: Likewise.
18423         * lib/unictype/combining.h: Likewise.
18424         * lib/unictype/ctype_alnum.h: Likewise.
18425         * lib/unictype/ctype_alpha.h: Likewise.
18426         * lib/unictype/ctype_graph.h: Likewise.
18427         * lib/unictype/ctype_lower.h: Likewise.
18428         * lib/unictype/ctype_print.h: Likewise.
18429         * lib/unictype/ctype_punct.h: Likewise.
18430         * lib/unictype/ctype_upper.h: Likewise.
18431         * lib/unictype/decdigit.h: Likewise.
18432         * lib/unictype/digit.h: Likewise.
18433         * lib/unictype/numeric.h: Likewise.
18434         * lib/unictype/pr_alphabetic.h: Likewise.
18435         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18436         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18437         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18438         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18439         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18440         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18441         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18442         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18443         * lib/unictype/pr_case_ignorable.h: Likewise.
18444         * lib/unictype/pr_cased.h: Likewise.
18445         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
18446         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
18447         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
18448         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
18449         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
18450         * lib/unictype/pr_combining.h: Likewise.
18451         * lib/unictype/pr_composite.h: Likewise.
18452         * lib/unictype/pr_currency_symbol.h: Likewise.
18453         * lib/unictype/pr_decimal_digit.h: Likewise.
18454         * lib/unictype/pr_deprecated.h: Likewise.
18455         * lib/unictype/pr_format_control.h: Likewise.
18456         * lib/unictype/pr_grapheme_base.h: Likewise.
18457         * lib/unictype/pr_grapheme_extend.h: Likewise.
18458         * lib/unictype/pr_grapheme_link.h: Likewise.
18459         * lib/unictype/pr_id_continue.h: Likewise.
18460         * lib/unictype/pr_id_start.h: Likewise.
18461         * lib/unictype/pr_ideographic.h: Likewise.
18462         * lib/unictype/pr_lowercase.h: Likewise.
18463         * lib/unictype/pr_math.h: Likewise.
18464         * lib/unictype/pr_numeric.h: Likewise.
18465         * lib/unictype/pr_other_alphabetic.h: Likewise.
18466         * lib/unictype/pr_other_id_continue.h: Likewise.
18467         * lib/unictype/pr_other_math.h: Likewise.
18468         * lib/unictype/pr_punctuation.h: Likewise.
18469         * lib/unictype/pr_sentence_terminal.h: Likewise.
18470         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18471         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18472         * lib/unictype/pr_unified_ideograph.h: Likewise.
18473         * lib/unictype/pr_uppercase.h: Likewise.
18474         * lib/unictype/pr_xid_continue.h: Likewise.
18475         * lib/unictype/pr_xid_start.h: Likewise.
18476         * lib/unictype/scripts.h: Likewise.
18477         * lib/unictype/scripts_byname.gperf: Likewise.
18478         * lib/unictype/sy_java_ident.h: Likewise.
18479         * lib/unigbrk/gbrkprop.h: Likewise.
18480         * lib/unilbrk/lbrkprop1.h: Likewise.
18481         * lib/unilbrk/lbrkprop2.h: Likewise.
18482         * lib/uninorm/decomposition-table2.h: Likewise.
18483         * lib/uniwbrk/wbrkprop.h: Likewise.
18484         * tests/unicase/test-cased.c: Likewise.
18485         * tests/unicase/test-ignorable.c: Likewise.
18486         * tests/unicase/test-uc_tolower.c: Likewise.
18487         * tests/unicase/test-uc_totitle.c: Likewise.
18488         * tests/unicase/test-uc_toupper.c: Likewise.
18489         * tests/unictype/test-categ_C.c: Likewise.
18490         * tests/unictype/test-categ_Cn.c: Likewise.
18491         * tests/unictype/test-categ_L.c: Likewise.
18492         * tests/unictype/test-categ_Ll.c: Likewise.
18493         * tests/unictype/test-categ_Lm.c: Likewise.
18494         * tests/unictype/test-categ_Lo.c: Likewise.
18495         * tests/unictype/test-categ_Lu.c: Likewise.
18496         * tests/unictype/test-categ_M.c: Likewise.
18497         * tests/unictype/test-categ_Mc.c: Likewise.
18498         * tests/unictype/test-categ_Me.c: Likewise.
18499         * tests/unictype/test-categ_Mn.c: Likewise.
18500         * tests/unictype/test-categ_N.c: Likewise.
18501         * tests/unictype/test-categ_Nd.c: Likewise.
18502         * tests/unictype/test-categ_No.c: Likewise.
18503         * tests/unictype/test-categ_P.c: Likewise.
18504         * tests/unictype/test-categ_Po.c: Likewise.
18505         * tests/unictype/test-categ_S.c: Likewise.
18506         * tests/unictype/test-categ_Sc.c: Likewise.
18507         * tests/unictype/test-categ_Sk.c: Likewise.
18508         * tests/unictype/test-categ_Sm.c: Likewise.
18509         * tests/unictype/test-categ_So.c: Likewise.
18510         * tests/unictype/test-ctype_alnum.c: Likewise.
18511         * tests/unictype/test-ctype_alpha.c: Likewise.
18512         * tests/unictype/test-ctype_graph.c: Likewise.
18513         * tests/unictype/test-ctype_lower.c: Likewise.
18514         * tests/unictype/test-ctype_print.c: Likewise.
18515         * tests/unictype/test-ctype_punct.c: Likewise.
18516         * tests/unictype/test-ctype_upper.c: Likewise.
18517         * tests/unictype/test-decdigit.h: Likewise.
18518         * tests/unictype/test-digit.h: Likewise.
18519         * tests/unictype/test-numeric.h: Likewise.
18520         * tests/unictype/test-pr_alphabetic.c: Likewise.
18521         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18522         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
18523         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
18524         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18525         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18526         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18527         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18528         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18529         * tests/unictype/test-pr_case_ignorable.c: Likewise.
18530         * tests/unictype/test-pr_cased.c: Likewise.
18531         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
18532         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
18533         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
18534         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
18535         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
18536         * tests/unictype/test-pr_combining.c: Likewise.
18537         * tests/unictype/test-pr_composite.c: Likewise.
18538         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18539         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18540         * tests/unictype/test-pr_deprecated.c: Likewise.
18541         * tests/unictype/test-pr_format_control.c: Likewise.
18542         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18543         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18544         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18545         * tests/unictype/test-pr_id_continue.c: Likewise.
18546         * tests/unictype/test-pr_id_start.c: Likewise.
18547         * tests/unictype/test-pr_ideographic.c: Likewise.
18548         * tests/unictype/test-pr_lowercase.c: Likewise.
18549         * tests/unictype/test-pr_math.c: Likewise.
18550         * tests/unictype/test-pr_numeric.c: Likewise.
18551         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18552         * tests/unictype/test-pr_other_id_continue.c: Likewise.
18553         * tests/unictype/test-pr_other_math.c: Likewise.
18554         * tests/unictype/test-pr_punctuation.c: Likewise.
18555         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18556         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18557         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18558         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18559         * tests/unictype/test-pr_uppercase.c: Likewise.
18560         * tests/unictype/test-pr_xid_continue.c: Likewise.
18561         * tests/unictype/test-pr_xid_start.c: Likewise.
18562         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18563         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18564         changes.
18565         * lib/unictype/categ_Cc.h: Likewise.
18566         * lib/unictype/categ_Cf.h: Likewise.
18567         * lib/unictype/categ_Co.h: Likewise.
18568         * lib/unictype/categ_Cs.h: Likewise.
18569         * lib/unictype/categ_Lt.h: Likewise.
18570         * lib/unictype/categ_Nl.h: Likewise.
18571         * lib/unictype/categ_Pc.h: Likewise.
18572         * lib/unictype/categ_Pd.h: Likewise.
18573         * lib/unictype/categ_Pe.h: Likewise.
18574         * lib/unictype/categ_Pf.h: Likewise.
18575         * lib/unictype/categ_Pi.h: Likewise.
18576         * lib/unictype/categ_Ps.h: Likewise.
18577         * lib/unictype/categ_Z.h: Likewise.
18578         * lib/unictype/categ_Zl.h: Likewise.
18579         * lib/unictype/categ_Zp.h: Likewise.
18580         * lib/unictype/categ_Zs.h: Likewise.
18581         * lib/unictype/ctype_blank.h: Likewise.
18582         * lib/unictype/ctype_cntrl.h: Likewise.
18583         * lib/unictype/ctype_digit.h: Likewise.
18584         * lib/unictype/ctype_space.h: Likewise.
18585         * lib/unictype/ctype_xdigit.h: Likewise.
18586         * lib/unictype/mirror.h: Likewise.
18587         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18588         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18589         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18590         * lib/unictype/pr_bidi_control.h: Likewise.
18591         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18592         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18593         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18594         * lib/unictype/pr_bidi_pdf.h: Likewise.
18595         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18596         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18597         * lib/unictype/pr_dash.h: Likewise.
18598         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18599         * lib/unictype/pr_diacritic.h: Likewise.
18600         * lib/unictype/pr_extender.h: Likewise.
18601         * lib/unictype/pr_hex_digit.h: Likewise.
18602         * lib/unictype/pr_hyphen.h: Likewise.
18603         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18604         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18605         * lib/unictype/pr_ignorable_control.h: Likewise.
18606         * lib/unictype/pr_iso_control.h: Likewise.
18607         * lib/unictype/pr_join_control.h: Likewise.
18608         * lib/unictype/pr_left_of_pair.h: Likewise.
18609         * lib/unictype/pr_line_separator.h: Likewise.
18610         * lib/unictype/pr_logical_order_exception.h: Likewise.
18611         * lib/unictype/pr_non_break.h: Likewise.
18612         * lib/unictype/pr_not_a_character.h: Likewise.
18613         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18614         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18615         * lib/unictype/pr_other_id_start.h: Likewise.
18616         * lib/unictype/pr_other_lowercase.h: Likewise.
18617         * lib/unictype/pr_other_uppercase.h: Likewise.
18618         * lib/unictype/pr_paired_punctuation.h: Likewise.
18619         * lib/unictype/pr_paragraph_separator.h: Likewise.
18620         * lib/unictype/pr_pattern_syntax.h: Likewise.
18621         * lib/unictype/pr_pattern_white_space.h: Likewise.
18622         * lib/unictype/pr_private_use.h: Likewise.
18623         * lib/unictype/pr_quotation_mark.h: Likewise.
18624         * lib/unictype/pr_radical.h: Likewise.
18625         * lib/unictype/pr_soft_dotted.h: Likewise.
18626         * lib/unictype/pr_space.h: Likewise.
18627         * lib/unictype/pr_titlecase.h: Likewise.
18628         * lib/unictype/pr_variation_selector.h: Likewise.
18629         * lib/unictype/pr_white_space.h: Likewise.
18630         * lib/unictype/pr_zero_width.h: Likewise.
18631         * lib/unictype/sy_c_ident.h: Likewise.
18632         * lib/unictype/sy_c_whitespace.h: Likewise.
18633         * lib/unictype/sy_java_whitespace.h: Likewise.
18634         * lib/uninorm/composition-table.gperf: Likewise.
18635         * lib/uninorm/decomposition-table1.h: Likewise.
18636         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
18637         LB8.
18638         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18639         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18640         * modules/unictype/*: Bump version number of expected libunistring
18641         version.
18642
18643 2011-01-09  Bruno Haible  <bruno@clisp.org>
18644
18645         Update to Unicode 5.2.0.
18646         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
18647         trailing whitespace removed.
18648
18649 2011-01-09  Bruno Haible  <bruno@clisp.org>
18650
18651         New Unicode character properties, from Unicode 5.2.0.
18652         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
18653         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
18654         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
18655         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
18656         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
18657         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
18658         uc_is_property_cased, uc_is_property_case_ignorable,
18659         uc_is_property_changes_when_lowercased,
18660         uc_is_property_changes_when_uppercased,
18661         uc_is_property_changes_when_titlecased,
18662         uc_is_property_changes_when_casefolded,
18663         uc_is_property_changes_when_casemapped): New declarations.
18664         * lib/unictype/pr_byname.gperf: Add the new properties.
18665         * modules/unictype/property-byname (Depends-on): Depend on the new
18666         properties modules.
18667         * modules/unictype/property-all (Depends-on): Likewise.
18668         * MODULES.html.sh (Unicode string functions): Add
18669         unictype/property-case-ignorable, unictype/property-cased,
18670         unictype/property-changes-when-casefolded,
18671         unictype/property-changes-when-casemapped,
18672         unictype/property-changes-when-lowercased,
18673         unictype/property-changes-when-titlecased,
18674         unictype/property-changes-when-uppercased.
18675
18676         New module 'unictype/property-changes-when-casemapped'.
18677         * modules/unictype/property-changes-when-casemapped: New file.
18678         * lib/unictype/pr_changes_when_casemapped.c: New file.
18679         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
18680         generated by gen-uni-tables.
18681         * modules/unictype/property-changes-when-casemapped-tests: New file.
18682         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
18683         automatically generated by gen-uni-tables.
18684
18685         New module 'unictype/property-changes-when-casefolded'.
18686         * modules/unictype/property-changes-when-casefolded: New file.
18687         * lib/unictype/pr_changes_when_casefolded.c: New file.
18688         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
18689         generated by gen-uni-tables.
18690         * modules/unictype/property-changes-when-casefolded-tests: New file.
18691         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
18692         automatically generated by gen-uni-tables.
18693
18694         New module 'unictype/property-changes-when-titlecased'.
18695         * modules/unictype/property-changes-when-titlecased: New file.
18696         * lib/unictype/pr_changes_when_titlecased.c: New file.
18697         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
18698         generated by gen-uni-tables.
18699         * modules/unictype/property-changes-when-titlecased-tests: New file.
18700         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
18701         automatically generated by gen-uni-tables.
18702
18703         New module 'unictype/property-changes-when-uppercased'.
18704         * modules/unictype/property-changes-when-uppercased: New file.
18705         * lib/unictype/pr_changes_when_uppercased.c: New file.
18706         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
18707         generated by gen-uni-tables.
18708         * modules/unictype/property-changes-when-uppercased-tests: New file.
18709         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
18710         automatically generated by gen-uni-tables.
18711
18712         New module 'unictype/property-changes-when-lowercased'.
18713         * modules/unictype/property-changes-when-lowercased: New file.
18714         * lib/unictype/pr_changes_when_lowercased.c: New file.
18715         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
18716         generated by gen-uni-tables.
18717         * modules/unictype/property-changes-when-lowercased-tests: New file.
18718         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
18719         automatically generated by gen-uni-tables.
18720
18721         New module 'unictype/property-case-ignorable'.
18722         * modules/unictype/property-case-ignorable: New file.
18723         * lib/unictype/pr_case_ignorable.c: New file.
18724         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
18725         by gen-uni-tables.
18726         * modules/unictype/property-case-ignorable-tests: New file.
18727         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
18728         generated by gen-uni-tables.
18729
18730         New module 'unictype/property-cased'.
18731         * modules/unictype/property-cased: New file.
18732         * lib/unictype/pr_cased.c: New file.
18733         * lib/unictype/pr_cased.h: New file, automatically generated by
18734         gen-uni-tables.
18735         * modules/unictype/property-cased-tests: New file.
18736         * tests/unictype/test-pr_cased.c: New file, automatically generated by
18737         gen-uni-tables.
18738
18739 2011-01-09  Bruno Haible  <bruno@clisp.org>
18740
18741         Update to Unicode 5.2.0.
18742         * lib/gen-uni-tables.c (output_predicate, output_category,
18743         output_combclass, output_bidi_category, output_decimal_digit_test,
18744         output_decimal_digit, output_digit_test, output_digit,
18745         output_numeric_test, output_numeric, output_mirror, output_scripts,
18746         output_scripts_byname, output_blocks, output_ident_category): Fix
18747         comment header.
18748         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
18749         get_wbp.
18750         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
18751         items.
18752         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
18753         Changes_When_Lowercased, Changes_When_Uppercased,
18754         Changes_When_Titlecased, Changes_When_Casefolded,
18755         Changes_When_Casemapped.
18756         (is_property_alphabetic, is_property_default_ignorable_code_point):
18757         Update for Unicode 5.2.0.
18758         (is_property_cased, is_property_case_ignorable,
18759         is_property_changes_when_lowercased,
18760         is_property_changes_when_uppercased,
18761         is_property_changes_when_titlecased,
18762         is_property_changes_when_casefolded,
18763         is_property_changes_when_casemapped): New functions.
18764         (output_properties): Output also the properties cased, case_ignorable,
18765         changes_when_lowercased, changes_when_uppercased,
18766         changes_when_titlecased, changes_when_casefolded,
18767         changes_when_casemapped.
18768         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
18769         Unicode TR#11 revision 17 -> 19.
18770         (LBP_CP): New enumeration value.
18771         (LBP_*): Adjust values accordingly.
18772         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18773         TR#14 revision 22 -> 24.
18774         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
18775         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
18776         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18777         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
18778         is_WBP_MIDLETTER.
18779         (output_composition_tables): Allow for 24 bits instead of 16 bits in
18780         the code1 and code2 of each composition rule.
18781         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
18782         * lib/unicase/ignorable.h: Likewise.
18783         * lib/unicase/tocasefold.h: Likewise.
18784         * lib/unicase/tolower.h: Likewise.
18785         * lib/unicase/totitle.h: Likewise.
18786         * lib/unicase/toupper.h: Likewise.
18787         * lib/unictype/bidi_of.h: Likewise.
18788         * lib/unictype/blocks.h: Likewise.
18789         * lib/unictype/categ_C.h: Likewise.
18790         * lib/unictype/categ_Cf.h: Likewise.
18791         * lib/unictype/categ_Cn.h: Likewise.
18792         * lib/unictype/categ_L.h: Likewise.
18793         * lib/unictype/categ_Ll.h: Likewise.
18794         * lib/unictype/categ_Lm.h: Likewise.
18795         * lib/unictype/categ_Lo.h: Likewise.
18796         * lib/unictype/categ_Lu.h: Likewise.
18797         * lib/unictype/categ_M.h: Likewise.
18798         * lib/unictype/categ_Mc.h: Likewise.
18799         * lib/unictype/categ_Mn.h: Likewise.
18800         * lib/unictype/categ_N.h: Likewise.
18801         * lib/unictype/categ_Nd.h: Likewise.
18802         * lib/unictype/categ_Nl.h: Likewise.
18803         * lib/unictype/categ_No.h: Likewise.
18804         * lib/unictype/categ_P.h: Likewise.
18805         * lib/unictype/categ_Pd.h: Likewise.
18806         * lib/unictype/categ_Po.h: Likewise.
18807         * lib/unictype/categ_S.h: Likewise.
18808         * lib/unictype/categ_Sc.h: Likewise.
18809         * lib/unictype/categ_So.h: Likewise.
18810         * lib/unictype/categ_of.h: Likewise.
18811         * lib/unictype/combining.h: Likewise.
18812         * lib/unictype/ctype_alnum.h: Likewise.
18813         * lib/unictype/ctype_alpha.h: Likewise.
18814         * lib/unictype/ctype_graph.h: Likewise.
18815         * lib/unictype/ctype_lower.h: Likewise.
18816         * lib/unictype/ctype_print.h: Likewise.
18817         * lib/unictype/ctype_punct.h: Likewise.
18818         * lib/unictype/ctype_upper.h: Likewise.
18819         * lib/unictype/decdigit.h: Likewise.
18820         * lib/unictype/digit.h: Likewise.
18821         * lib/unictype/numeric.h: Likewise.
18822         * lib/unictype/pr_alphabetic.h: Likewise.
18823         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18824         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18825         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18826         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18827         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18828         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18829         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18830         * lib/unictype/pr_combining.h: Likewise.
18831         * lib/unictype/pr_composite.h: Likewise.
18832         * lib/unictype/pr_currency_symbol.h: Likewise.
18833         * lib/unictype/pr_dash.h: Likewise.
18834         * lib/unictype/pr_decimal_digit.h: Likewise.
18835         * lib/unictype/pr_deprecated.h: Likewise.
18836         * lib/unictype/pr_diacritic.h: Likewise.
18837         * lib/unictype/pr_extender.h: Likewise.
18838         * lib/unictype/pr_grapheme_base.h: Likewise.
18839         * lib/unictype/pr_grapheme_extend.h: Likewise.
18840         * lib/unictype/pr_grapheme_link.h: Likewise.
18841         * lib/unictype/pr_id_continue.h: Likewise.
18842         * lib/unictype/pr_id_start.h: Likewise.
18843         * lib/unictype/pr_ideographic.h: Likewise.
18844         * lib/unictype/pr_ignorable_control.h: Likewise.
18845         * lib/unictype/pr_logical_order_exception.h: Likewise.
18846         * lib/unictype/pr_lowercase.h: Likewise.
18847         * lib/unictype/pr_numeric.h: Likewise.
18848         * lib/unictype/pr_other_alphabetic.h: Likewise.
18849         * lib/unictype/pr_punctuation.h: Likewise.
18850         * lib/unictype/pr_sentence_terminal.h: Likewise.
18851         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18852         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18853         * lib/unictype/pr_unified_ideograph.h: Likewise.
18854         * lib/unictype/pr_uppercase.h: Likewise.
18855         * lib/unictype/pr_xid_continue.h: Likewise.
18856         * lib/unictype/pr_xid_start.h: Likewise.
18857         * lib/unictype/pr_zero_width.h: Likewise.
18858         * lib/unictype/scripts.h: Likewise.
18859         * lib/unictype/scripts_byname.gperf: Likewise.
18860         * lib/unictype/sy_java_ident.h: Likewise.
18861         * lib/unigbrk/gbrkprop.h: Likewise.
18862         * lib/unilbrk/lbrkprop1.h: Likewise.
18863         * lib/unilbrk/lbrkprop2.h: Likewise.
18864         * lib/unilbrk/lbrktables.h: Likewise.
18865         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
18866         LBP_CP. Implement rule LB30.
18867         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
18868         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
18869         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
18870         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
18871         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
18872         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
18873         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
18874         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
18875         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
18876         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
18877         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
18878         bits instead of 16 bits in the code1 and code2 of each composition
18879         rule.
18880         (uc_composition): Update for Unicode 5.2.0.
18881         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
18882         * lib/uninorm/decomposition-table2.h: Likewise.
18883         * lib/uniwbrk/wbrkprop.h: Likewise.
18884         * tests/unicase/test-cased.c: Likewise.
18885         * tests/unicase/test-ignorable.c: Likewise.
18886         * tests/unicase/test-uc_tolower.c: Likewise.
18887         * tests/unicase/test-uc_totitle.c: Likewise.
18888         * tests/unicase/test-uc_toupper.c: Likewise.
18889         * tests/unictype/test-categ_C.c: Likewise.
18890         * tests/unictype/test-categ_Cf.c: Likewise.
18891         * tests/unictype/test-categ_Cn.c: Likewise.
18892         * tests/unictype/test-categ_L.c: Likewise.
18893         * tests/unictype/test-categ_Ll.c: Likewise.
18894         * tests/unictype/test-categ_Lm.c: Likewise.
18895         * tests/unictype/test-categ_Lo.c: Likewise.
18896         * tests/unictype/test-categ_Lu.c: Likewise.
18897         * tests/unictype/test-categ_M.c: Likewise.
18898         * tests/unictype/test-categ_Mc.c: Likewise.
18899         * tests/unictype/test-categ_Mn.c: Likewise.
18900         * tests/unictype/test-categ_N.c: Likewise.
18901         * tests/unictype/test-categ_Nd.c: Likewise.
18902         * tests/unictype/test-categ_Nl.c: Likewise.
18903         * tests/unictype/test-categ_No.c: Likewise.
18904         * tests/unictype/test-categ_P.c: Likewise.
18905         * tests/unictype/test-categ_Pd.c: Likewise.
18906         * tests/unictype/test-categ_Po.c: Likewise.
18907         * tests/unictype/test-categ_S.c: Likewise.
18908         * tests/unictype/test-categ_Sc.c: Likewise.
18909         * tests/unictype/test-categ_So.c: Likewise.
18910         * tests/unictype/test-ctype_alnum.c: Likewise.
18911         * tests/unictype/test-ctype_alpha.c: Likewise.
18912         * tests/unictype/test-ctype_graph.c: Likewise.
18913         * tests/unictype/test-ctype_lower.c: Likewise.
18914         * tests/unictype/test-ctype_print.c: Likewise.
18915         * tests/unictype/test-ctype_punct.c: Likewise.
18916         * tests/unictype/test-ctype_upper.c: Likewise.
18917         * tests/unictype/test-decdigit.h: Likewise.
18918         * tests/unictype/test-digit.h: Likewise.
18919         * tests/unictype/test-numeric.h: Likewise.
18920         * tests/unictype/test-pr_alphabetic.c: Likewise.
18921         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18922         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18923         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
18924         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18925         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18926         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18927         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18928         * tests/unictype/test-pr_combining.c: Likewise.
18929         * tests/unictype/test-pr_composite.c: Likewise.
18930         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18931         * tests/unictype/test-pr_dash.c: Likewise.
18932         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18933         * tests/unictype/test-pr_deprecated.c: Likewise.
18934         * tests/unictype/test-pr_diacritic.c: Likewise.
18935         * tests/unictype/test-pr_extender.c: Likewise.
18936         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18937         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18938         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18939         * tests/unictype/test-pr_id_continue.c: Likewise.
18940         * tests/unictype/test-pr_id_start.c: Likewise.
18941         * tests/unictype/test-pr_ideographic.c: Likewise.
18942         * tests/unictype/test-pr_ignorable_control.c: Likewise.
18943         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
18944         * tests/unictype/test-pr_lowercase.c: Likewise.
18945         * tests/unictype/test-pr_numeric.c: Likewise.
18946         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18947         * tests/unictype/test-pr_punctuation.c: Likewise.
18948         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18949         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18950         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18951         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18952         * tests/unictype/test-pr_uppercase.c: Likewise.
18953         * tests/unictype/test-pr_xid_continue.c: Likewise.
18954         * tests/unictype/test-pr_xid_start.c: Likewise.
18955         * tests/unictype/test-pr_zero_width.c: Likewise.
18956         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18957         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
18958         changed behaviour: line breaking is now disallowed between a letter
18959         or '=' and '('.
18960         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18961         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18962         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
18963         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
18964         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18965         lib/uniwidth/width.c.
18966         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
18967         without comments, but with the original copyright notice.
18968         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18969         changes.
18970         * lib/unictype/categ_Cc.h: Likewise.
18971         * lib/unictype/categ_Co.h: Likewise.
18972         * lib/unictype/categ_Cs.h: Likewise.
18973         * lib/unictype/categ_Lt.h: Likewise.
18974         * lib/unictype/categ_Me.h: Likewise.
18975         * lib/unictype/categ_Pc.h: Likewise.
18976         * lib/unictype/categ_Pe.h: Likewise.
18977         * lib/unictype/categ_Pf.h: Likewise.
18978         * lib/unictype/categ_Pi.h: Likewise.
18979         * lib/unictype/categ_Ps.h: Likewise.
18980         * lib/unictype/categ_Sk.h: Likewise.
18981         * lib/unictype/categ_Sm.h: Likewise.
18982         * lib/unictype/categ_Z.h: Likewise.
18983         * lib/unictype/categ_Zl.h: Likewise.
18984         * lib/unictype/categ_Zp.h: Likewise.
18985         * lib/unictype/categ_Zs.h: Likewise.
18986         * lib/unictype/ctype_blank.h: Likewise.
18987         * lib/unictype/ctype_cntrl.h: Likewise.
18988         * lib/unictype/ctype_digit.h: Likewise.
18989         * lib/unictype/ctype_space.h: Likewise.
18990         * lib/unictype/ctype_xdigit.h: Likewise.
18991         * lib/unictype/mirror.h: Likewise.
18992         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18993         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18994         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18995         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18996         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18997         * lib/unictype/pr_bidi_control.h: Likewise.
18998         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18999         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19000         * lib/unictype/pr_bidi_pdf.h: Likewise.
19001         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19002         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19003         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19004         * lib/unictype/pr_format_control.h: Likewise.
19005         * lib/unictype/pr_hex_digit.h: Likewise.
19006         * lib/unictype/pr_hyphen.h: Likewise.
19007         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19008         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19009         * lib/unictype/pr_iso_control.h: Likewise.
19010         * lib/unictype/pr_join_control.h: Likewise.
19011         * lib/unictype/pr_left_of_pair.h: Likewise.
19012         * lib/unictype/pr_line_separator.h: Likewise.
19013         * lib/unictype/pr_math.h: Likewise.
19014         * lib/unictype/pr_non_break.h: Likewise.
19015         * lib/unictype/pr_not_a_character.h: Likewise.
19016         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19017         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19018         * lib/unictype/pr_other_id_continue.h: Likewise.
19019         * lib/unictype/pr_other_id_start.h: Likewise.
19020         * lib/unictype/pr_other_lowercase.h: Likewise.
19021         * lib/unictype/pr_other_math.h: Likewise.
19022         * lib/unictype/pr_other_uppercase.h: Likewise.
19023         * lib/unictype/pr_paired_punctuation.h: Likewise.
19024         * lib/unictype/pr_paragraph_separator.h: Likewise.
19025         * lib/unictype/pr_pattern_syntax.h: Likewise.
19026         * lib/unictype/pr_pattern_white_space.h: Likewise.
19027         * lib/unictype/pr_private_use.h: Likewise.
19028         * lib/unictype/pr_quotation_mark.h: Likewise.
19029         * lib/unictype/pr_radical.h: Likewise.
19030         * lib/unictype/pr_soft_dotted.h: Likewise.
19031         * lib/unictype/pr_space.h: Likewise.
19032         * lib/unictype/pr_titlecase.h: Likewise.
19033         * lib/unictype/pr_variation_selector.h: Likewise.
19034         * lib/unictype/pr_white_space.h: Likewise.
19035         * lib/unictype/sy_c_ident.h: Likewise.
19036         * lib/unictype/sy_c_whitespace.h: Likewise.
19037         * lib/unictype/sy_java_whitespace.h: Likewise.
19038         * modules/uni*/*: Bump version number of expected libunistring version.
19039         Reported by Simon Josefsson.
19040
19041 2011-01-09  Karl Heuer  <kwzh@gnu.org>
19042
19043         useless-if-before-free: fix typo in --help and make the internal,
19044         automatic version date update process work once again.
19045         --help output contained a NUL character instead of the
19046         backslash-zero that was intended.  Also, the "must lie within
19047         the first 8 lines" line is on line 9, and hence not getting
19048         automatically updated.
19049         * build-aux/useless-if-before-free: Fix the former by adding a
19050         backslash, and the latter by condensing the three lines of what-it-does
19051         to a single line, leaving one line of slack for the future.
19052
19053 2011-01-09  Bruno Haible  <bruno@clisp.org>
19054
19055         uniwidth/width: Fix width of U+1D173..U+1D17A.
19056         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
19057         symbolic_width, output_width_property_test): New functions.
19058         (main): Invoke output_nonspacing_property, output_width_property_test.
19059         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
19060         U+1D173..U+1D17A.
19061         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
19062         1.
19063         * modules/uniwidth/*: Bump version number of expected libunistring
19064         version.
19065         * modules/unilbrk/*: Likewise.
19066
19067 2011-01-08  Bruno Haible  <bruno@clisp.org>
19068
19069         uninorm tests: Preserve copyright of Unicode data file.
19070         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
19071         Mention modifications.
19072
19073 2011-01-08  Bruno Haible  <bruno@clisp.org>
19074
19075         gen-uni-tables: Prepare for Unicode 5.2.0.
19076         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
19077         (debug_output_lbp, output_lbp): Update.
19078
19079 2011-01-08  Bruno Haible  <bruno@clisp.org>
19080
19081         unilbrk: Clarify gen-uni-tables.c code.
19082         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
19083         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
19084         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
19085
19086 2011-01-07  Bruno Haible  <bruno@clisp.org>
19087
19088         strtod: Restore errno when successfully parsing Infinity or NaN.
19089         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
19090         restore the original errno.
19091
19092 2011-01-07  Bruno Haible  <bruno@clisp.org>
19093
19094         remove test: Avoid failure on HP-UX 11.
19095         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
19096
19097 2011-01-07  Bruno Haible  <bruno@clisp.org>
19098
19099         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
19100         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
19101         error code.
19102
19103 2011-01-07  Pádraig Brady <P@draigBrady.com>
19104
19105         ignore-value: fixup comments, and add Eric Blake
19106         as an author since he rewrote the macros.
19107         * lib/ignore-value.h (ignore_value):  State that
19108         we now support aggregates.  Also specify exactly
19109         when the GCC warn_unused_result feature was added.
19110
19111 2011-01-06  Eric Blake  <eblake@redhat.com>
19112
19113         ignore-value: support aggregate types
19114         * lib/ignore-value.h (ignore_value): Provide separate gcc
19115         definition.
19116         * modules/ignore-value-tests: New test module.
19117         * tests/test-ignore-value.c: New test.
19118
19119         maint.mk: improve sc_prohibit_strcmp regex
19120         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
19121         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
19122         definition of STRNEQ.
19123
19124         signal: work around Haiku issue with SIGBUS
19125         * lib/siglist.h: Add comment.
19126         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
19127         strsignal's favoring of SIGSEGV.
19128         * tests/test-signal.c (main): Avoid test failure.
19129         * doc/posix-headers/signal.texi (signal.h): Document the issue.
19130         Reported by Scott McCreary.
19131
19132         maint.mk: add pre-release check to ensure submodule commits are public
19133         * top/maint.mk (public-submodule-commit): New rule.
19134         (submodule-checks): New variable.
19135         (alpha beta stable): Depend on the variable.
19136
19137 2011-01-05  Pádraig Brady <P@draigBrady.com>
19138         and Jim Meyering  <meyering@redhat.com>
19139
19140         ignore-value: make ignore_value more generic; deprecate ignore_ptr
19141         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
19142         (ATTRIBUTE_DEPRECATED): Define.
19143         (_ignore_case): New function.
19144         (ignore_value): New macro, to replace the old function.
19145         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
19146         * modules/ignore-value (Depends-on): Add stdint.
19147
19148 2011-01-04  Eric Blake  <eblake@redhat.com>
19149
19150         doc: regenerate INSTALL
19151         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
19152         @firstparagraphindent support, now that autoconf dropped it.
19153         (INSTALL_PRELUDE): Reinstate old macro.
19154         * doc/install.texi: Resync from autoconf.
19155         * doc/INSTALL: Reflect recent autoconf update.
19156         * doc/INSTALL.ISO: Likewise.
19157         * doc/INSTALL.UTF-8: Likewise.
19158         Reported by Karl Berry.
19159
19160 2011-01-04  Bruce Korb  <address@hidden>
19161
19162         git-version-gen: avoid a sub-shell
19163         * build-aux/git-version-gen: Redirect stderr in `...` via
19164         "exec 2>...", rather than via an added sub-shell.
19165
19166 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
19167
19168         git-version-gen: use (...) rather than sh -c '...'
19169         * build-aux/git-version-gen: Rather than hard-coding a shell's name
19170         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
19171
19172 2011-01-03  Jim Meyering  <meyering@redhat.com>
19173
19174         git-version-gen: convert leading TABs to spaces
19175         * build-aux/git-version-gen: Expand leading TABs.
19176
19177         git-version-gen: handle failed "git rev-list"
19178         * build-aux/git-version-gen: Rather than leaking a "fatal" error
19179         from git and proceeding as if it had succeeded but printed no SHA1
19180         checksums, suppress the diagnostic and handle the failure.
19181         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
19182
19183         git-version-gen: include command name in one more diagnostic
19184         * build-aux/git-version-gen: When the required .tarball-version file
19185         was missing or unreadable, you might see the diagnostic from "cat",
19186         but no trace of the name of the invoking script.  Now, you still see
19187         the diagnostic from cat, but also get one from "git-version-gen: ".
19188         Inspired by a patch from Bruce Korb.
19189
19190         update-copyright: adjust test to match changed code
19191         * tests/test-update-copyright.sh: Change test's expected output
19192         to match new actual output.
19193
19194 2011-01-02  Bruno Haible  <bruno@clisp.org>
19195
19196         getlogin_r: Avoid test failure on HP-UX 11.
19197         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
19198         ERANGE when the second argument is zero.
19199         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
19200         portability problem.
19201
19202 2011-01-02  Bruce Korb  <bkorb@gnu.org>
19203
19204         * build-aux/update-copyright: doc Simon's changes
19205
19206 2011-01-02  Simon Josefsson  <simon@josefsson.org>
19207
19208         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
19209         environment variable.
19210
19211 2011-01-02  Bruno Haible  <bruno@clisp.org>
19212
19213         unigbrk: Avoid gcc warnings.
19214         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
19215         unused variable.
19216         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
19217         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
19218         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
19219         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
19220         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
19221         Change type of first argument to 'const char *'.
19222         (main): Remove unused variable.
19223         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
19224         type of first argument to 'const char *'.
19225         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
19226         Likewise.
19227         (main): Change type of variable 's'.
19228         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
19229         to 'int'.
19230
19231 2011-01-02  Bruno Haible  <bruno@clisp.org>
19232
19233         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
19234         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
19235         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
19236         bug.
19237         * lib/pwrite.c: Undo 2010-12-31 patch.
19238         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
19239
19240 2011-01-02  Bruno Haible  <bruno@clisp.org>
19241
19242         pread: Fix test whether it works.
19243         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
19244
19245 2011-01-02  Bruno Haible  <bruno@clisp.org>
19246
19247         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
19248         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
19249         ends in "6". Don't require a specific month name. Try also the locale
19250         names found on HP-UX 11 and Solaris 7.
19251
19252 2011-01-02  Bruno Haible  <bruno@clisp.org>
19253
19254         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
19255         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
19256         C linkage.
19257         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
19258
19259 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19260
19261         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
19262         for consistency, since the "cluster" term is not used elsewhere.
19263         * lib/unigbrk.in.h: Update name.
19264         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
19265         * lib/unigbrk/u16-grapheme-next.c: Update name.
19266         * lib/unigbrk/u16-grapheme-prev.c: Update name.
19267         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
19268         * lib/unigbrk/u32-grapheme-next.c: Update name.
19269         * lib/unigbrk/u32-grapheme-prev.c: Update name.
19270         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
19271         * lib/unigbrk/u8-grapheme-next.c: Update name.
19272         * lib/unigbrk/u8-grapheme-prev.c: Update name.
19273         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
19274         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
19275         Suggested by Bruno Haible.
19276
19277 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19278
19279         Remove module 'u8-grapheme-len' as too redundant with
19280         'u8-grapheme-next'.
19281         * modules/unigbrk/u8-grapheme-len: Delete file.
19282         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
19283         * lib/unigbrk.in.h: Remove prototype for deleted function.
19284         * lib/unigbrk/u8-grapheme-len.c: Delete file.
19285         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
19286
19287         Remove module 'u16-grapheme-len' as too redundant with
19288         'u16-grapheme-next'.
19289         * modules/unigbrk/u16-grapheme-len: Delete file.
19290         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
19291         * lib/unigbrk.in.h: Remove prototype for deleted function.
19292         * lib/unigbrk/u16-grapheme-len.c: Delete file.
19293         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
19294
19295         Remove module 'u32-grapheme-len' as too redundant with
19296         'u32-grapheme-next'.
19297         * modules/unigbrk/u32-grapheme-len: Delete file.
19298         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
19299         * lib/unigbrk.in.h: Remove prototype for deleted function.
19300         * lib/unigbrk/u32-grapheme-len.c: Delete file.
19301         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
19302
19303         Suggested by Bruno Haible.
19304
19305 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19306
19307         * unigbrk.in.h: Fix typo: "ben" => "been".
19308         Reported by Bruno Haible.
19309
19310 2011-01-01  Jim Meyering  <meyering@redhat.com>
19311
19312         maint: update almost all copyright ranges to include 2011
19313         Run the new "make update-copyright" rule.
19314
19315 2011-01-01  Jim Meyering  <meyering@redhat.com>
19316
19317         maint: update-copyright: exempt doc/INSTALL*
19318         * Makefile (update-copyright): Also exclude doc/INSTALL*,
19319         since they are generated.  Suggested by Bruno Haible.
19320
19321 2011-01-01  Jim Meyering  <meyering@redhat.com>
19322
19323         maint: refine the update-copyright rule
19324         * Makefile (update-copyright): Also exclude any file that includes
19325         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
19326         code that merely generates the comment.
19327
19328 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19329
19330         New module 'u8-grapheme-len'.
19331         * modules/unigbrk/u8-grapheme-len: New file.
19332         * modules/unigbrk/u8-grapheme-len-tests: New file.
19333         * lib/unigbrk.in.h: Add prototype for new function.
19334         * lib/unigbrk/u8-grapheme-len.c: New file.
19335         * tests/unigbrk/test-u8-grapheme-len.c: New file.
19336
19337         New module 'u16-grapheme-len'.
19338         * modules/unigbrk/u16-grapheme-len: New file.
19339         * modules/unigbrk/u16-grapheme-len-tests: New file.
19340         * lib/unigbrk.in.h: Add prototype for new function.
19341         * lib/unigbrk/u16-grapheme-len.c: New file.
19342         * tests/unigbrk/test-u16-grapheme-len.c: New file.
19343
19344         New module 'u32-grapheme-len'.
19345         * modules/unigbrk/u32-grapheme-len: New file.
19346         * modules/unigbrk/u32-grapheme-len-tests: New file.
19347         * lib/unigbrk.in.h: Add prototype for new function.
19348         * lib/unigbrk/u32-grapheme-len.c: New file.
19349         * tests/unigbrk/test-u32-grapheme-len.c: New file.
19350
19351         New module 'u8-grapheme-next'.
19352         * modules/unigbrk/u8-grapheme-next: New file.
19353         * modules/unigbrk/u8-grapheme-next-tests: New file.
19354         * lib/unigbrk.in.h: Add prototype for new function.
19355         * lib/unigbrk/u8-grapheme-next.c: New file.
19356         * tests/unigbrk/test-u8-grapheme-next.c: New file.
19357
19358         New module 'u16-grapheme-next'.
19359         * modules/unigbrk/u16-grapheme-next: New file.
19360         * modules/unigbrk/u16-grapheme-next-tests: New file.
19361         * lib/unigbrk.in.h: Add prototype for new function.
19362         * lib/unigbrk/u16-grapheme-next.c: New file.
19363         * tests/unigbrk/test-u16-grapheme-next.c: New file.
19364
19365         New module 'u32-grapheme-next'.
19366         * modules/unigbrk/u32-grapheme-next: New file.
19367         * modules/unigbrk/u32-grapheme-next-tests: New file.
19368         * lib/unigbrk.in.h: Add prototype for new function.
19369         * lib/unigbrk/u32-grapheme-next.c: New file.
19370         * tests/unigbrk/test-u32-grapheme-next.c: New file.
19371
19372         New module 'u8-grapheme-prev'.
19373         * modules/unigbrk/u8-grapheme-prev: New file.
19374         * modules/unigbrk/u8-grapheme-prev-tests: New file.
19375         * lib/unigbrk.in.h: Add prototype for new function.
19376         * lib/unigbrk/u8-grapheme-prev.c: New file.
19377         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
19378
19379         New module 'u16-grapheme-prev'.
19380         * modules/unigbrk/u16-grapheme-prev: New file.
19381         * modules/unigbrk/u16-grapheme-prev-tests: New file.
19382         * lib/unigbrk.in.h: Add prototype for new function.
19383         * lib/unigbrk/u16-grapheme-prev.c: New file.
19384         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
19385
19386         New module 'u32-grapheme-prev'.
19387         * modules/unigbrk/u32-grapheme-prev: New file.
19388         * modules/unigbrk/u32-grapheme-prev-tests: New file.
19389         * lib/unigbrk.in.h: Add prototype for new function.
19390         * lib/unigbrk/u32-grapheme-prev.c: New file.
19391         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
19392
19393         New module 'u8-grapheme-breaks'.
19394         * modules/unigbrk/u8-grapheme-breaks: New file.
19395         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
19396         * lib/unigbrk.in.h: Add prototype for new function.
19397         * lib/unigbrk/u8-grapheme-breaks.c: New file.
19398         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
19399
19400         New module 'u16-grapheme-breaks'.
19401         * modules/unigbrk/u16-grapheme-breaks: New file.
19402         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
19403         * lib/unigbrk.in.h: Add prototype for new function.
19404         * lib/unigbrk/u16-grapheme-breaks.c: New file.
19405         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
19406
19407         New module 'u32-grapheme-breaks'.
19408         * modules/unigbrk/u32-grapheme-breaks: New file.
19409         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
19410         * lib/unigbrk.in.h: Add prototype for new function.
19411         * lib/unigbrk/u32-grapheme-breaks.c: New file.
19412         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
19413
19414         New module 'ulc-grapheme-breaks'.
19415         * modules/unigbrk/ulc-grapheme-breaks: New file.
19416         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
19417         * m4/locale-ar.m4: New file.
19418         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
19419         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
19420         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
19421
19422 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19423
19424         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
19425         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
19426         modified how this file was generated before I initially submitted
19427         the module, but failed to regenerate it.  This meant that several
19428         of the level2 entries were wrong.
19429         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
19430         Remove the division-by-2 that is folded into the table now that
19431         gbrkprop.h has been regenerated properly.  Now -1 entries are
19432         handled correctly.
19433
19434         New module 'unigbrk/uc-gbrk-prop-tests'.
19435         * modules/unigbrk/uc-gbrk-prop-tests: New file.
19436         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
19437         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
19438         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
19439
19440 2011-01-01  Bruno Haible  <bruno@clisp.org>
19441
19442         Avoid use of hexadecimal escapes.
19443         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
19444         instead of hexadecimal escapes.
19445
19446 2011-01-01  Jim Meyering  <meyering@redhat.com>
19447
19448         maint: new rule to update copyright year ranges
19449         * Makefile (update-copyright): New rule.
19450
19451         maint: indent with TABs in Makefile
19452         * Makefile: Expand leading sequences of spaces to TABs
19453
19454         version-etc: update the copyright year it reports
19455         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
19456
19457 2010-12-31  Bruno Haible  <bruno@clisp.org>
19458
19459         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
19460         * lib/isfinite.c (zerof, zerod, zerol): New variables.
19461         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
19462         zero.
19463
19464 2010-12-31  Bruno Haible  <bruno@clisp.org>
19465
19466         pwrite: Work around HP-UX 11.11 bug.
19467         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
19468         works and set REPLACE_PWRITE if not.
19469         * lib/pwrite.c (pwrite): Add an implementation that uses the system
19470         function.
19471         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
19472
19473 2010-12-31  Bruno Haible  <bruno@clisp.org>
19474
19475         pread: Work around HP-UX 11 bugs.
19476         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
19477         and set REPLACE_PREAD if not.
19478         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
19479
19480 2010-12-31  Eric Blake  <eblake@redhat.com>
19481
19482         nl_langinfo: fix YESEXPR on Irix 6.5
19483         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
19484         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
19485         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
19486         it.
19487
19488 2010-12-31  Bruno Haible  <bruno@clisp.org>
19489
19490         iconv: Document HP-UX 11 bug.
19491         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
19492
19493 2010-12-31  Bruno Haible  <bruno@clisp.org>
19494
19495         ldexpl: Fix link error on HP-UX 11.
19496         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
19497         LDEXPL_LIBM, using $ISNANL_LIBM.
19498
19499 2010-12-31  Eric Blake  <eblake@redhat.com>
19500
19501         ftello: avoid compilation failure with SunStudio c89
19502         * lib/ftello.c (ftello): Use lseek, not llseek.
19503
19504         tests: avoid failing coreutils tests on cygwin
19505         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
19506         (create_exe_shims_): Return 0 when skipping.
19507
19508 2010-12-31  Bruno Haible  <bruno@clisp.org>
19509
19510         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
19511         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
19512
19513 2010-12-31  Bruno Haible  <bruno@clisp.org>
19514
19515         waitpid: Fix link error in C++ mode.
19516         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
19517
19518 2010-12-31  Bruno Haible  <bruno@clisp.org>
19519
19520         isnan: Use GCC built-ins when possible.
19521         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
19522         __builtin_isnan.
19523         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
19524         (isnan): Define using GCC built-ins for GCC >= 4.0.
19525
19526 2010-12-31  Bruno Haible  <bruno@clisp.org>
19527
19528         isnand: Fix mistake.
19529         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
19530         __builtin_isnand.
19531
19532 2010-12-31  Bruno Haible  <bruno@clisp.org>
19533
19534         open: Avoid C++ error on HP-UX 11.
19535         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
19536
19537 2010-12-31  Bruno Haible  <bruno@clisp.org>
19538
19539         time_r: Add missing declarations on HP-UX 11.
19540         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
19541         instead of HAVE_LOCALTIME_R.
19542         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
19543         HAVE_LOCALTIME_R always.
19544         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
19545         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
19546         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
19547         HAVE_LOCALTIME_R.
19548         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
19549         * doc/posix-functions/localtime_r.texi: Likewise.
19550
19551 2010-12-29  Eric Blake  <eblake@redhat.com>
19552
19553         mountlist: tweak previous commit
19554         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
19555         Reported by Paul Eggert.
19556
19557         mountlist: fix local drive detection on cygwin
19558         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
19559         that works for cygwin.
19560
19561 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19562
19563         ftoastr, snprintf: ftoastr + snprintf module
19564         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
19565         since the snprintf module now should be good enough here.
19566         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
19567         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
19568         and gl_MODULE_INDICATOR([snprintf]), but the former enables
19569         GNULIB_SNPRINTF only for the test directory, and the latter
19570         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
19571         seems to suffice by itself.
19572
19573 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
19574
19575         alloca: one step towards thread-safety
19576         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
19577         need for a static variable.  All callers changed.  This does not
19578         make the alloca replacement thread-safe, but it's one step.
19579
19580         tests: minor indenting change
19581         * tests/init.sh: Sync from coreutils housekeeping patch
19582         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
19583         to keep lines within 80 columns.
19584
19585 2010-12-28  Jim Meyering  <meyering@redhat.com>
19586
19587         regex: don't infloop on persistent failing calloc
19588         * lib/regexec.c (build_trtable): Return failure indication upon
19589         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
19590         In glibc, this was fixed for version 2.13:
19591         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
19592
19593 2010-12-28  Bruno Haible  <bruno@clisp.org>
19594             Paul Eggert <eggert@cs.ucla.edu>
19595
19596         linkat: Make implementation robust against system behaviour variations.
19597         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
19598         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
19599         way, and to -2 if it needs a generic runtime test.
19600         * lib/linkat.c (solaris_optimized_link_immediate,
19601         solaris_optimized_link_follow): New functions.
19602         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
19603         (check_same_link): Use it.
19604
19605 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
19606
19607         New module 'unigbrk/base'.
19608         * modules/unigbrk/base: New file.
19609         * lib/unigbrk.in.h: New file.
19610
19611         New module 'unigbrk/uc-gbrk-prop'.
19612         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
19613         * modules/unigbrk/uc-gbrk-prop: New file.
19614         * lib/unigbrk/gbrkprop.h: New file.
19615         * lib/unigbrk/uc-gbrk-prop.c: New file.
19616
19617         New module 'unigbrk/uc-is-grapheme-break'.
19618         * modules/unigbrk/uc-is-grapheme-break: New file.
19619         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
19620         * lib/unigbrk/uc-is-grapheme-break.c: New file.
19621         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
19622         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
19623         * tests/unigbrk/GraphemeBreakTest.txt: New file.
19624
19625         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
19626
19627 2010-12-27  Bruno Haible  <bruno@clisp.org>
19628
19629         linkat test: Avoid failure on Solaris 11 2010-11.
19630         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
19631
19632 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19633
19634         utimens: work around glibc rounding bug on more platforms
19635         * lib/utimens.c (fdutimens): Work around rounding bug even if
19636         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
19637         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
19638
19639 2010-12-27  Bruno Haible  <bruno@clisp.org>
19640
19641         select tests: Improve comments.
19642         * tests/test-select.c (do_select): Add comments.
19643
19644 2010-12-27  Bruno Haible  <bruno@clisp.org>
19645
19646         select tests: Safer way of handling timeout.
19647         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
19648         at every invocation.
19649
19650 2010-12-27  Bruno Haible  <bruno@clisp.org>
19651
19652         select tests: Use 'bool' where appropriate.
19653         * tests/test-select.c (connect_to_socket): Change argument type to
19654         'bool'.
19655
19656 2010-12-27  Bruno Haible  <bruno@clisp.org>
19657
19658         select tests: Use existing modules.
19659         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
19660         (configure.ac): Don't test for unistd.h.
19661         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
19662         declared in <unistd.h>.
19663
19664 2010-12-27  Bruno Haible  <bruno@clisp.org>
19665
19666         mbrtowc: Work around a Solaris 7 bug.
19667         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
19668         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
19669         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
19670         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
19671         MBRTOWC_NULL_ARG1_BUG.
19672         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
19673         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
19674         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
19675         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
19676
19677 2010-12-27  Jim Meyering  <meyering@redhat.com>
19678
19679         read-file.c: tweak syntax
19680         * lib/read-file.c (fread_file): Remove space after "*" in function
19681         definitions.
19682
19683 2010-12-27  Bruno Haible  <bruno@clisp.org>
19684
19685         times test: Avoid gcc warnings on OSF/1.
19686         * tests/test-times.c (main): Cast printf arguments from clock_t to
19687         'long int'.
19688
19689 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19690
19691         utimens: work around glibc rounding bug on older Linux kernels
19692         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
19693         on Linux with a glibc whose utimes might not work, then work
19694         around a longstanding glibc bug involving rounding rather than
19695         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
19696         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19697
19698 2010-12-26  Bruno Haible  <bruno@clisp.org>
19699
19700         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
19701         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
19702         _GL_CXXALIAS_SYS.
19703         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19704
19705 2010-12-26  Bruno Haible  <bruno@clisp.org>
19706
19707         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
19708         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
19709         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19710         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
19711         looking for the declaration.
19712         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
19713         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
19714         problem.
19715         * doc/posix-functions/inet_pton.texi: Likewise.
19716
19717 2010-12-26  Bruno Haible  <bruno@clisp.org>
19718
19719         arpa_inet: Use the common idioms with C++ support.
19720         * lib/arpa_inet.in.h: Include c++defs.h.
19721         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
19722         support.
19723         * modules/arpa_inet (Depends-on): Add c++defs.
19724         (Makefile.am): Substitute the contents of c++defs.h.
19725         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
19726         * modules/arpa_inet-c++-tests: New file.
19727         * tests/test-arpa_inet-c++.cc: New file.
19728
19729 2010-12-25  Bruno Haible  <bruno@clisp.org>
19730
19731         Fix more C++ link errors on Solaris 8.
19732         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
19733         $(LIB_EACCESS).
19734         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
19735         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
19736         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
19737         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
19738         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
19739
19740 2010-12-25  Bruno Haible  <bruno@clisp.org>
19741
19742         printf-posix: Fix link error when a non-GCC compiler is used.
19743         * lib/stdio.in.h (printf): When not using GCC, override printf
19744         correctly.
19745         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19746
19747 2010-12-25  Bruno Haible  <bruno@clisp.org>
19748
19749         strerror_r-posix: Update doc.
19750         * doc/posix-functions/strerror_r.texi: Update doc about the return
19751         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
19752
19753 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19754
19755         utimens: simplify the logic of the previous change
19756         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
19757         This should not affect whether the test succeeds or fails.
19758
19759         utimens: configure better on hosts with NFS clock skew
19760         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
19761         uses the clock of the local host.  It might use the clock of the
19762         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
19763         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19764
19765 2010-12-25  Bruno Haible  <bruno@clisp.org>
19766
19767         ptsname test: Avoid failure on Solaris.
19768         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
19769         open a pseudo-terminal; don't use BSD-style ptys.
19770         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
19771
19772 2010-12-25  Bruno Haible  <bruno@clisp.org>
19773
19774         ptsname: Avoid ERANGE failure on some systems.
19775         * lib/ptsname.c (buffer): Increase size.
19776
19777 2010-12-25  Bruno Haible  <bruno@clisp.org>
19778
19779         rename, renameat: Avoid test failures at NFS mounted locations.
19780         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
19781         so that subsequent mkdir calls succeed.
19782
19783 2010-12-25  Bruno Haible  <bruno@clisp.org>
19784
19785         iswblank: Fix C++ link error on Solaris 8.
19786         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
19787         _GL_FUNCDECL_SYS.
19788
19789 2010-12-25  Bruno Haible  <bruno@clisp.org>
19790
19791         unistd: Fix C++ link error on Solaris 8.
19792         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
19793
19794 2010-12-25  Bruno Haible  <bruno@clisp.org>
19795
19796         readlink doc: Mention an old glibc bug.
19797         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
19798
19799 2010-12-25  Bruno Haible  <bruno@clisp.org>
19800
19801         fcntl-h: Fix for use of C++ on glibc systems.
19802         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19803         also on glibc systems in C++ mode.
19804         Reported by Gary V. Vaughan <gary@gnu.org>.
19805
19806 2010-12-25  Bruno Haible  <bruno@clisp.org>
19807
19808         roundl-ieee: Make it work on OSF/1 5.1 with cc.
19809         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
19810
19811 2010-12-25  Bruno Haible  <bruno@clisp.org>
19812
19813         truncl-ieee: Make it work on OSF/1 5.1 with cc.
19814         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
19815         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
19816         test whether truncl works according to ISO C 99 with IEC 60559.
19817         * m4/truncl-ieee.m4: New file.
19818         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
19819         m4/signbit.m4.
19820         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
19821
19822 2010-12-25  Bruno Haible  <bruno@clisp.org>
19823
19824         ceill-ieee: Make it work on OSF/1 5.1 with cc.
19825         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
19826         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
19827         test whether ceill works according to ISO C 99 with IEC 60559.
19828         * m4/ceill-ieee.m4: New file.
19829         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
19830         m4/signbit.m4.
19831         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
19832
19833 2010-12-25  Bruno Haible  <bruno@clisp.org>
19834
19835         Ensure all prerequisites of <wchar.h> are included.
19836         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
19837         before <wchar.h>.
19838         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19839         gl_MBRLEN_NUL_RETVAL): Likewise.
19840         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19841         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
19842         AC_FUNC_MBRTOWC): Likewise.
19843         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19844         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
19845         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19846         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
19847         Likewise.
19848         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19849         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
19850         (gl_WCHAR_H): Improve comments.
19851         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19852
19853 2010-12-25  Bruno Haible  <bruno@clisp.org>
19854
19855         strtok_r: Fix C syntax error in autoconf macro.
19856         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
19857         characters in test program.
19858
19859 2010-12-24  Bruno Haible  <bruno@clisp.org>
19860
19861         ceil, trunc, round: Fix gcc warnings.
19862         * lib/ceil.c (MIN): Undefine before redefining.
19863         * lib/trunc.c (MIN): Likewise.
19864         * lib/round.c (MIN): Likewise.
19865         Include <math.h> first.
19866
19867 2010-12-24  Bruno Haible  <bruno@clisp.org>
19868
19869         select tests: Avoid failures on OSF/1 5.1.
19870         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
19871         failure of closing the last socket; it may fail with ECONNRESET.
19872
19873 2010-12-24  Eric Blake  <eblake@redhat.com>
19874
19875         stdint: avoid HP-UX 10.20 preprocessor bug
19876         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
19877         than #if.
19878         * tests/test-floor2.c (main): Likewise.
19879         Reported by Peter O'Gorman.
19880
19881         pipe: make obsoletion transition easier
19882         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
19883         * modules/pipe (Files): Include revived file.
19884         (Include): Drop reference, to mirror getdate's behavior.
19885
19886 2010-12-24  Bruno Haible  <bruno@clisp.org>
19887
19888         sys_socket: Hide mismatch of declarations on NonStop Kernel.
19889         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
19890         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
19891         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19892
19893 2010-12-24  Bruno Haible  <bruno@clisp.org>
19894
19895         gethostname: Ensure declaration on NonStop Kernel.
19896         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
19897         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19898
19899 2010-12-24  Bruno Haible  <bruno@clisp.org>
19900
19901         sys_select: Ensure all necessary types on NonStop Kernel.
19902         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
19903         include <sys/time.h>.
19904         * doc/posix-headers/sys_select.texi: Mention that it's missing on
19905         NonStop Kernel.
19906         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19907
19908 2010-12-24  Bruno Haible  <bruno@clisp.org>
19909
19910         sys_select: Remove unneeded include.
19911         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
19912         have <sys/select.h>.
19913
19914 2010-12-24  Bruno Haible  <bruno@clisp.org>
19915
19916         gethostname: Provide a fallback for HOST_NAME_MAX.
19917         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
19918         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
19919         instead.
19920         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19921
19922 2010-12-24  Bruno Haible  <bruno@clisp.org>
19923
19924         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
19925         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
19926         (SA_RESTART): Likewise.
19927         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19928
19929 2010-12-24  Bruno Haible  <bruno@clisp.org>
19930
19931         signal: Define NSIG.
19932         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
19933         * tests/test-signal.c (nsig): New variable.
19934         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19935
19936 2010-12-24  Bruno Haible  <bruno@clisp.org>
19937
19938         rename, renameat: Avoid test failures on OSF/1 5.1.
19939         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
19940         alternative error codes.
19941         * tests/test-renameat.c (main): Likewise.
19942
19943 2010-12-24  Bruno Haible  <bruno@clisp.org>
19944
19945         *printf: Detect large precisions bug on Solaris 10/SPARC.
19946         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
19947         by Paul Eggert.
19948         * tests/test-snprintf-posix.h (test_function): Add this test code here
19949         too.
19950         * tests/test-sprintf-posix.h (test_function): Likewise.
19951         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19952         * tests/test-vasprintf-posix.c (test_function): Likewise.
19953         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
19954         around by gnulib.
19955         * doc/posix-functions/printf.texi: Likewise.
19956         * doc/posix-functions/snprintf.texi: Likewise.
19957         * doc/posix-functions/sprintf.texi: Likewise.
19958         * doc/posix-functions/vfprintf.texi: Likewise.
19959         * doc/posix-functions/vprintf.texi: Likewise.
19960         * doc/posix-functions/vsnprintf.texi: Likewise.
19961         * doc/posix-functions/vsprintf.texi: Likewise.
19962         * doc/posix-functions/dprintf.texi: Undo last commit.
19963         * doc/posix-functions/vdprintf.texi: Likewise.
19964
19965 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19966
19967         tests: port test-fdutimensat.c to Solaris 8
19968         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
19969         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
19970         On Solaris 8, it fails with errno == ENOSYS, because there is no
19971         futimens (so it can't use the fd), and there is no lutimens (so it
19972         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
19973
19974         vsnprintf: make more consistent with snprintf; doc fixes
19975
19976         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
19977         the byte count return problem was promoted from the snprintf-posix
19978         to the snprintf module.
19979         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19980         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
19981         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
19982         * tests/test-snprintf.c (main): Check the byte count returned.
19983         * tests/test-vsnprintf.c (main): Likewise.
19984
19985 2010-12-23  Eric Blake  <eblake@redhat.com>
19986
19987         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
19988         * modules/sigpipe (License): Relax license.
19989
19990 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19991
19992         doc: document Solaris printf bug with large float precisions
19993         * doc/posix-functions/dprintf.texi (dprintf):
19994         * doc/posix-functions/fprintf.texi (fprintf):
19995         * doc/posix-functions/printf.texi (printf):
19996         * doc/posix-functions/snprintf.texi (snprintf):
19997         * doc/posix-functions/sprintf.texi (sprintf):
19998         * doc/posix-functions/vdprintf.texi (vdprintf):
19999         * doc/posix-functions/vfprintf.texi (vfprintf):
20000         * doc/posix-functions/vprintf.texi (vprintf):
20001         * doc/posix-functions/vsnprintf.texi (vsnprintf):
20002         * doc/posix-functions/vsprintf.texi (vsprintf):
20003         Mention that these functions mishandle large floating point
20004         precisions on Solaris 10.  The same bug is also present in Solaris
20005         8, and I assume earlier.  This causes "cd gnulib-tests; make
20006         check" to fail on Solaris 8 (and I assume, later) when building
20007         the latest coreutils, in test-vasprintf-posix's call to
20008         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
20009         the wide flavors (e.g., wprintf) so this patch just updates the
20010         documentation for the narrow ones.
20011
20012         test-posixtm.c: add two tests
20013         * tests/test-posixtm.c: Add two tests, to highlight the
20014         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
20015         around this bug; this is merely to document it.
20016
20017 2010-12-22  Bruno Haible  <bruno@clisp.org>
20018
20019         getlogin_r: Work around portability problem on OSF/1.
20020         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
20021         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
20022         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
20023         test for a truncated result.
20024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
20025         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
20026         * modules/getlogin_r (Depends-on): Add memchr.
20027         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
20028
20029 2010-12-22  Bruno Haible  <bruno@clisp.org>
20030
20031         ptsname: Avoid test failure on OSF/1 5.1.
20032         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
20033         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
20034         (same_slave): New function.
20035         (main): Use it to compare ptsname's result with the expected file name.
20036
20037 2010-12-22  Bruno Haible  <bruno@clisp.org>
20038
20039         Port extended stdio modules to HP NonStop Kernel.
20040         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
20041         macros.
20042         * lib/fbufmode.c: Update comments.
20043         * lib/fflush.c: Likewise.
20044         * lib/fpurge.c: Likewise.
20045         * lib/freadable.c: Likewise.
20046         * lib/freadahead.c: Likewise.
20047         * lib/freading.c: Likewise.
20048         * lib/freadptr.c: Likewise.
20049         * lib/freadseek.c: Likewise.
20050         * lib/fseeko.c: Likewise.
20051         * lib/fseterr.c: Likewise.
20052         * lib/fwritable.c: Likewise.
20053         * lib/fwriting.c: Likewise.
20054         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20055
20056 2010-12-22  Bruno Haible  <bruno@clisp.org>
20057
20058         ttyname_r: Work around bug on OSF/1 5.1.
20059         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
20060         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
20061         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
20062         present.
20063         * lib/ttyname_r.c (ttyname_r): Update comments.
20064
20065 2010-12-22  Bruno Haible  <bruno@clisp.org>
20066
20067         round: Implement result sign according to IEEE 754.
20068         * lib/round.c (MIN, MINUS_ZERO): New macros.
20069         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
20070         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
20071         * tests/test-round-ieee.c (main): Likewise.
20072         * tests/test-roundl-ieee.c (main): Likewise.
20073
20074         trunc: Implement result sign according to IEEE 754.
20075         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
20076         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
20077         * tests/test-trunc2.c: Include minus-zero.h.
20078         (MINUS_ZERO): New macro.
20079         (trunc_reference): Keep in sync with lib/trunc.c.
20080         * tests/test-truncf2.c: Include minus-zero.h.
20081         (MINUS_ZERO): New macro.
20082         (truncf_reference): Keep in sync with lib/trunc.c.
20083         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
20084         * tests/test-trunc-ieee.c (main): Likewise.
20085         * tests/test-truncl-ieee.c (main): Likewise.
20086
20087         ceil: Implement result sign according to IEEE 754.
20088         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
20089         (FUNC): Return -0.0 for -1 < x < 0.
20090         * tests/test-ceil2.c: Include minus-zero.h.
20091         (MINUS_ZERO): New macro.
20092         (ceil_reference): Keep in sync with lib/ceil.c.
20093         * tests/test-ceilf2.c: Include minus-zero.h.
20094         (MINUS_ZERO): New macro.
20095         (ceilf_reference): Keep in sync with lib/ceil.c.
20096         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
20097         * tests/test-ceil-ieee.c (main): Likewise.
20098         * tests/test-ceill-ieee.c (main): Likewise.
20099
20100         floor: Implement result sign according to IEEE 754.
20101         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
20102         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
20103         * tests/test-floorf2.c (floorf_reference): Likewise.
20104         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
20105         * tests/test-floor-ieee.c (main): Likewise.
20106         * tests/test-floorl-ieee.c (main): Likewise.
20107
20108 2010-12-22  Bruno Haible  <bruno@clisp.org>
20109
20110         getaddrinfo: Update doc.
20111         * doc/posix-functions/gai_strerror.texi: Return type is also different
20112         on AIX and HP-UX.
20113
20114 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20115
20116         getaddrinfo, inet_ntop: Update doc for Solaris.
20117         * doc/posix-functions/gai_strerror.texi: Return type is also an
20118         issue on Solaris 9 and earlier.
20119         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
20120         on Solaris 10 and earlier.
20121
20122 2010-12-21  Bruno Haible  <bruno@clisp.org>
20123
20124         New module 'roundl-ieee'.
20125         * modules/roundl-ieee: New file.
20126         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
20127         test whether roundl works according to ISO C 99 with IEC 60559.
20128         * m4/roundl-ieee.m4: New file.
20129         * modules/roundl-ieee-tests: New file.
20130         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
20131         * tests/test-roundl.c (main): Remove signbit tests.
20132         * modules/roundl-tests (Depends-on): Remove signbit.
20133         * doc/posix-functions/roundl.texi: Mention the new module.
20134
20135 2010-12-21  Bruno Haible  <bruno@clisp.org>
20136
20137         New module 'truncl-ieee'.
20138         * modules/truncl-ieee: New file.
20139         * modules/truncl-ieee-tests: New file.
20140         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
20141         * tests/test-truncl.c (main): Remove signbit tests.
20142         * modules/truncl-tests (Depends-on): Remove signbit.
20143         * doc/posix-functions/truncl.texi: Mention the new module.
20144
20145 2010-12-21  Bruno Haible  <bruno@clisp.org>
20146
20147         New module 'ceill-ieee'.
20148         * modules/ceill-ieee: New file.
20149         * modules/ceill-ieee-tests: New file.
20150         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
20151         * tests/test-ceill.c (main): Remove signbit tests.
20152         * modules/ceill-tests (Depends-on): Remove signbit.
20153         * doc/posix-functions/ceill.texi: Mention the new module.
20154
20155 2010-12-21  Bruno Haible  <bruno@clisp.org>
20156
20157         New module 'floorl-ieee'.
20158         * modules/floorl-ieee: New file.
20159         * modules/floorl-ieee-tests: New file.
20160         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
20161         * tests/test-floorl.c (main): Remove signbit tests.
20162         * modules/floorl-tests (Depends-on): Remove signbit.
20163         * doc/posix-functions/floorl.texi: Mention the new module.
20164
20165 2010-12-21  Bruno Haible  <bruno@clisp.org>
20166
20167         New module 'round-ieee'.
20168         * modules/round-ieee: New file.
20169         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
20170         whether round works according to ISO C 99 with IEC 60559.
20171         * m4/round-ieee.m4: New file.
20172         * modules/round-ieee-tests: New file.
20173         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
20174         * tests/test-round1.c (main): Remove signbit tests.
20175         * modules/round-tests (Depends-on): Remove 'signbit'.
20176         * doc/posix-functions/round.texi: Mention the new module.
20177
20178 2010-12-21  Bruno Haible  <bruno@clisp.org>
20179
20180         New module 'trunc-ieee'.
20181         * modules/trunc-ieee: New file.
20182         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
20183         whether trunc works according to ISO C 99 with IEC 60559.
20184         * m4/trunc-ieee.m4: New file.
20185         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
20186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
20187         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
20188         * modules/trunc-ieee-tests: New file.
20189         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
20190         * tests/test-trunc1.c (main): Remove signbit tests.
20191         * modules/trunc-tests (Depends-on): Remove 'signbit'.
20192         * doc/posix-functions/trunc.texi: Mention the new module.
20193
20194 2010-12-21  Bruno Haible  <bruno@clisp.org>
20195
20196         New module 'ceil-ieee'.
20197         * modules/ceil-ieee: New file.
20198         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
20199         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
20200         ISO C 99 with IEC 60559.
20201         * m4/ceil-ieee.m4: New file.
20202         * modules/ceil (Files): Add lib/ceil.c.
20203         (Depends-on): Add 'float'.
20204         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20205         * lib/math.in.h (ceil): New declaration.
20206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
20207         REPLACE_CEIL.
20208         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
20209         * modules/ceil-ieee-tests: New file.
20210         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
20211         * tests/test-math-c++.cc: Check the signature of 'ceil'.
20212         * doc/posix-functions/ceil.texi: Mention the new module.
20213
20214 2010-12-21  Bruno Haible  <bruno@clisp.org>
20215
20216         New module 'floor-ieee'.
20217         * modules/floor-ieee: New file.
20218         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
20219         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
20220         ISO C 99 with IEC 60559.
20221         * m4/floor-ieee.m4: New file.
20222         * modules/floor (Files): Add lib/floor.c.
20223         (Depends-on): Add 'float'.
20224         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20225         * lib/math.in.h (floor): New declaration.
20226         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
20227         REPLACE_FLOOR.
20228         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
20229         * modules/floor-ieee-tests: New file.
20230         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
20231         * tests/test-math-c++.cc: Check the signature of 'floor'.
20232         * doc/posix-functions/floor.texi: Mention the new module.
20233
20234 2010-12-21  Bruno Haible  <bruno@clisp.org>
20235
20236         New module 'roundf-ieee'.
20237         * modules/roundf-ieee: New file.
20238         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
20239         test whether roundf works according to ISO C 99 with IEC 60559.
20240         * m4/roundf-ieee.m4: New file.
20241         * modules/roundf-ieee-tests: New file.
20242         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
20243         * tests/test-roundf1.c (main): Remove signbit tests.
20244         * modules/roundf-tests (Depends-on): Remove 'signbit'.
20245         * doc/posix-functions/roundf.texi: Mention the new module.
20246
20247 2010-12-21  Bruno Haible  <bruno@clisp.org>
20248
20249         New module 'truncf-ieee'.
20250         * modules/truncf-ieee: New file.
20251         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
20252         test whether truncf works according to ISO C 99 with IEC 60559.
20253         * m4/truncf-ieee.m4: New file.
20254         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
20255         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
20256         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
20257         * modules/truncf-ieee-tests: New file.
20258         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
20259         * tests/test-truncf1.c (main): Remove signbit tests.
20260         * modules/truncf-tests (Depends-on): Remove 'signbit'.
20261         * doc/posix-functions/truncf.texi: Mention the new module.
20262
20263 2010-12-21  Bruno Haible  <bruno@clisp.org>
20264
20265         New module 'ceilf-ieee'.
20266         * modules/ceilf-ieee: New file.
20267         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
20268         test whether ceilf works according to ISO C 99 with IEC 60559.
20269         * m4/ceilf-ieee.m4: New file.
20270         * modules/ceilf-ieee-tests: New file.
20271         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
20272         * tests/test-ceilf1.c (main): Remove signbit tests.
20273         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
20274         * doc/posix-functions/ceilf.texi: Mention the new module.
20275
20276 2010-12-21  Bruno Haible  <bruno@clisp.org>
20277
20278         New module 'floorf-ieee'.
20279         * modules/floorf-ieee: New file.
20280         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
20281         test whether floorf works according to ISO C 99 with IEC 60559.
20282         * m4/floorf-ieee.m4: New file.
20283         * modules/floorf-ieee-tests: New file.
20284         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
20285         * tests/test-floorf1.c (main): Remove signbit tests.
20286         * modules/floorf-tests (Depends-on): Remove 'signbit'.
20287         * doc/posix-functions/floorf.texi: Mention the new module.
20288
20289 2010-12-21  Bruno Haible  <bruno@clisp.org>
20290
20291         Support for minus zero in autoconf macros.
20292         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
20293         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
20294         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
20295         * tests/minus-zero.h: Update comments.
20296
20297 2010-12-21  Bruno Haible  <bruno@clisp.org>
20298
20299         Tests for module 'ceil'.
20300         * modules/ceil-tests: New file.
20301         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
20302         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
20303
20304 2010-12-21  Bruno Haible  <bruno@clisp.org>
20305
20306         Tests for module 'floor'.
20307         * modules/floor-tests: New file.
20308         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
20309         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
20310
20311 2010-12-21  Bruno Haible  <bruno@clisp.org>
20312
20313         math: Fix indentation.
20314         * lib/math.in.h (floorf): Fix indentation.
20315
20316 2010-12-21  Bruno Haible  <bruno@clisp.org>
20317
20318         Fix cross-compilation guesses on Solaris.
20319         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
20320         not match "solaris2.10".
20321         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20322         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
20323         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
20324
20325 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
20326
20327         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
20328         This fixes a problem observed with the latest coreutils snapshot
20329         that caused a test to fail on Solaris 8.  src/csplit.c's call
20330         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
20331         earlier, instead of returning the number of bytes that would have
20332         been generated; this causes csplit to incorrectly report memory
20333         exhaustion.
20334         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
20335         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
20336         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
20337         comments to match.
20338         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
20339         Fix typo in matching older versions of Solaris: "solaris2.10"
20340         is matched by the shell pattern "solaris2.[0-9]*".  This matters
20341         only for guessing while cross-compiling.
20342         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
20343
20344 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
20345
20346         ftoastr: fix comment again
20347         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20348         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
20349         Also, simplify example a bit by using flags = 0.
20350
20351 2010-12-20  Bruno Haible  <bruno@clisp.org>
20352
20353         round*, trunc*: Update documentation regarding glibc.
20354         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
20355         * doc/posix-functions/round.texi: Likewise.
20356         * doc/posix-functions/roundl.texi: Likewise.
20357         * doc/posix-functions/truncf.texi: Likewise.
20358         * doc/posix-functions/trunc.texi: Likewise.
20359         * doc/posix-functions/truncl.texi: Likewise.
20360
20361 2010-12-20  Bruno Haible  <bruno@clisp.org>
20362
20363         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
20364         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
20365         * doc/posix-functions/round.texi: Likewise.
20366         * doc/posix-functions/roundl.texi: Likewise.
20367
20368 2010-12-20  Bruno Haible  <bruno@clisp.org>
20369
20370         ttyname_r: Add missing declaration on HP-UX 11.
20371         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
20372         HAVE_TTYNAME_R.
20373         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
20374         declared. Set HAVE_TTYNAME_R always.
20375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20376         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
20377         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
20378         HAVE_TTYNAME_R.
20379         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
20380
20381 2010-12-20  Bruno Haible  <bruno@clisp.org>
20382
20383         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
20384         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
20385         * doc/posix-functions/getlogin_r.texi: Likewise.
20386         * tests/test-getlogin.c: Include <errno.h>.
20387         (main): Avoid test failure on HP-UX 11.11.
20388         * tests/test-getlogin_r.c (main): Likewise.
20389
20390 2010-12-20  Bruno Haible  <bruno@clisp.org>
20391
20392         getlogin_r: Add missing declaration on HP-UX 11.
20393         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
20394         declared also when it exists as a function.
20395         * doc/posix-functions/getlogin_r.texi: Document this workaround.
20396
20397 2010-12-20  Bruno Haible  <bruno@clisp.org>
20398
20399         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
20400         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
20401         through wcrtomb.
20402
20403 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20404
20405         ftoastr: fix comment
20406         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20407         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
20408
20409 2010-12-19  Bruno Haible  <bruno@clisp.org>
20410
20411         isnan: Ensure it is a macro.
20412         * lib/math.in.h (isnan): Define as a macro if not already a macro.
20413         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
20414         Solaris.
20415
20416 2010-12-19  Bruno Haible  <bruno@clisp.org>
20417
20418         ldexpl test: Fix link error on OSF/1 5.1.
20419         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
20420
20421 2010-12-19  Bruno Haible  <bruno@clisp.org>
20422
20423         wctype: Make it work in C++ mode on OSF/1 5.1.
20424         * lib/wctype.in.h (iswblank): Declare but not define here.
20425         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
20426         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
20427         * modules/wctype (Files): Add lib/iswblank.c.
20428
20429 2010-12-19  Bruno Haible  <bruno@clisp.org>
20430
20431         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
20432         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
20433         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
20434
20435 2010-12-19  Bruno Haible  <bruno@clisp.org>
20436
20437         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
20438         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
20439         _POSIX_PII_SOCKET.
20440         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
20441         * doc/posix-functions/recvfrom.texi: Likewise.
20442         * doc/posix-functions/send.texi: Likewise.
20443         * doc/posix-functions/sendto.texi: Likewise.
20444
20445 2010-12-19  Bruno Haible  <bruno@clisp.org>
20446
20447         tcgetsid: Add missing declaration on OSF/1 5.1.
20448         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
20449         HAVE_TCGETSID.
20450         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
20451         Don't set HAVE_TCGETSID.
20452         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
20453         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
20454         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
20455         HAVE_TCGETSID.
20456         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
20457
20458 2010-12-19  Bruno Haible  <bruno@clisp.org>
20459
20460         stdio: Fix problem with popen() declaration on OSF/1 5.1.
20461         * lib/stdio.in.h: During the include_next statement, let recursive
20462         includes of this file include only the system header file.
20463
20464 2010-12-19  Bruno Haible  <bruno@clisp.org>
20465
20466         iconv_open: Fix regression from 2010-12-04.
20467         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
20468         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
20469
20470 2010-12-19  Bruno Haible  <bruno@clisp.org>
20471
20472         stdbool test: Avoid a gcc warning.
20473         * tests/test-stdbool.c (main): Fail if e1 is false.
20474         Reported by Jim Meyering.
20475
20476 2010-12-19  Jim Meyering  <meyering@redhat.com>
20477
20478         setenv: restore to working order
20479         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
20480         mistakenly removed.
20481         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
20482         HAVE_SETENV.
20483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
20484         HAVE_SETENV.
20485
20486 2010-12-19  Bruno Haible  <bruno@clisp.org>
20487
20488         Document some different function declarations on OSF/1 5.1.
20489         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
20490         * doc/posix-functions/inet_ntop.texi: Likewise.
20491         * doc/posix-functions/gethostname.texi: Likewise.
20492         * lib/unistd.in.h (gethostname): Update comment.
20493
20494 2010-12-19  Bruno Haible  <bruno@clisp.org>
20495
20496         doc: Mention vasprintf-posix module.
20497         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
20498         the 'vasprintf-posix' module.
20499         * doc/glibc-functions/vasprintf.texi: Likewise.
20500
20501 2010-12-19  Bruno Haible  <bruno@clisp.org>
20502
20503         unsetenv: Add missing declaration on OSF/1 5.1.
20504         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
20505         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
20506         Don't set HAVE_UNSETENV. In the test program, set _BSD.
20507         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
20508         not HAVE_UNSETENV.
20509         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
20510         HAVE_UNSETENV.
20511         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
20512
20513 2010-12-19  Bruno Haible  <bruno@clisp.org>
20514
20515         setenv: Add missing declaration on OSF/1 5.1.
20516         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
20517         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
20518         declared. Don't set HAVE_SETENV.
20519         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
20520         not HAVE_SETENV.
20521         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
20522         HAVE_SETENV.
20523         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
20524
20525 2010-12-19  Bruno Haible  <bruno@clisp.org>
20526
20527         nl_langinfo tests: Avoid gcc warning.
20528         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
20529
20530 2010-12-19  Bruno Haible  <bruno@clisp.org>
20531
20532         mknod: Avoid error in C++ mode on OSF/1 with GCC.
20533         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
20534         _GL_CXXALIAS_SYS.
20535
20536 2010-12-19  Bruno Haible  <bruno@clisp.org>
20537
20538         stdbool: Relax test.
20539         * tests/test-stdbool.c (e): Don't require that casts from a variable's
20540         address to 'bool' work in static initializer, for compilers other than
20541         GCC.
20542
20543 2010-12-19  Bruno Haible  <bruno@clisp.org>
20544
20545         ftello: Add missing declaration on OSF/1 5.1.
20546         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
20547         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
20548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
20549         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
20550         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
20551
20552 2010-12-19  Bruno Haible  <bruno@clisp.org>
20553
20554         fseeko: Add missing declaration on OSF/1 5.1.
20555         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
20556         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
20557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
20558         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
20559         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
20560
20561 2010-12-19  Bruno Haible  <bruno@clisp.org>
20562
20563         fchdir: Add missing declaration on OSF/1 5.1.
20564         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
20565         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
20566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
20567         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
20568         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
20569
20570 2010-12-19  Bruno Haible  <bruno@clisp.org>
20571
20572         relocatable-prog-wrapper: Separate from relocatable-prog.
20573         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
20574         uninstall-relocwrapper rule here.
20575         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
20576         Reported by Ian Beckwith <ianb@erislabs.net>.
20577
20578 2010-12-19  Bruno Haible  <bruno@clisp.org>
20579
20580         unistr/u8-mbsnlen: Add missing dependency.
20581         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
20582         Reported by Ian Beckwith <ianb@erislabs.net>.
20583
20584 2010-12-19  Bruno Haible  <bruno@clisp.org>
20585
20586         iconv: Make it possible again to use this module without 'iconv-h'.
20587         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
20588         if it is not defined.
20589         Reported by Ian Beckwith <ianb@erislabs.net>.
20590
20591 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20592
20593         acl: port to Solaris 8 when copying from tmpfs to ufs
20594         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
20595         error number.  Problem observed on Solaris 8 with latest
20596         coreutils, with "mv A B", where A is on a tmpfs file system and B
20597         is on a ufs file system.  This caused coreutils' mv/part-symlink
20598         test to fail.
20599
20600         tests: set fail=0 at start
20601         * tests/init.sh (setup_): Move fail=0 initialization here ...
20602         (mktempd_): ... from here, so that tests can rely on fail being
20603         set to 0 initially.  This fixes a problem in coreutils; see:
20604         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
20605
20606 2010-12-18  Bruno Haible  <bruno@clisp.org>
20607
20608         memmem-simple: Stylistic changes.
20609         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
20610         Fix preprocessor directive indentation.
20611
20612 2010-12-15  Pádraig Brady <P@draigBrady.com>
20613
20614         memmem, memmem-simple: reorganize and expand empty needle check
20615         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
20616         functional checks to memmem-simple so that one has a fully functional
20617         memmem by using just this module.
20618         Restrict the performance only check to the memmem module.
20619         Also expand the empty needle check to ensure the correct
20620         pointer is returned, not just a non NULL pointer.
20621         * doc/glibc-functions/memmem.texi: Rearrange the portability
20622         documentation to correlate with the rearranged checks.
20623         Clarify exactly how the memmem and memmem-simple modules
20624         relate to each other.
20625
20626 2010-12-15  Pádraig Brady <P@draigBrady.com>
20627             Bruno Haible  <bruno@clisp.org>
20628
20629         Improve cross-compilation guesses for uClibc.
20630         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
20631         that uClibc does not have the glibc bug.
20632         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
20633         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
20634
20635 2010-12-14  Eric Blake  <eblake@redhat.com>
20636
20637         configmake: provide fallbacks for oldest supported autotools
20638         * m4/configmake.m4: New file.
20639         * modules/configmake (Files): Ship it.
20640         (configure.ac): Use it to guarantee fallbacks.
20641
20642 2010-12-13  Pádraig Brady <P@draigBrady.com>
20643
20644         read-file: Improve handling of large files
20645         * lib/read-file.c (fread_file): Minimize realloc()s
20646         for regular files, and better manage sizes around SIZE_MAX.
20647
20648 2010-12-13  Eric Blake  <eblake@redhat.com>
20649
20650         cloexec, fcntl: relax license
20651         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
20652         consent from all contributors.
20653         * modules/fcntl (License): Likewise.
20654
20655 2010-12-10  Bruno Haible  <bruno@clisp.org>
20656
20657         Tests for module 'pipe-posix'.
20658         * modules/pipe-posix-tests: New file.
20659         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
20660
20661 2010-12-10  Bruno Haible  <bruno@clisp.org>
20662
20663         pipe-posix: Make it work in C++ mode.
20664         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
20665         (pipe): Use common idiom, not a macro definition.
20666         * lib/pipe.c: New file.
20667         * m4/pipe.m4: New file.
20668         * modules/pipe-posix (Description): Enhance.
20669         (Files): Add lib/pipe.c, m4/pipe.m4.
20670         (configure.ac): Invoke gl_FUNC_PIPE.
20671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
20672         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
20673         * tests/test-unistd-c++.cc: Check the signature of pipe.
20674
20675 2010-12-10  Bruno Haible  <bruno@clisp.org>
20676
20677         Rename module 'pipe' to 'spawn-pipe'.
20678         * modules/spawn-pipe: New file, renamed from modules/pipe.
20679         (Files, configure.ac, Makefile.am): Update.
20680         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
20681         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
20682         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
20683         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
20684         "spawn-pipe.h" instead of "pipe.h".
20685         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
20686         to gl_SPAWN_PIPE.
20687         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
20688         (Files, Makefile.am): Update.
20689         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
20690         Update.
20691         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
20692         Include "spawn-pipe.h" instead of "pipe.h".
20693         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
20694         * lib/javacomp.c: Likewise.
20695         * lib/javaversion.c: Likewise.
20696         * lib/pipe-filter-gi.c: Likewise.
20697         * lib/pipe-filter-ii.c: Likewise.
20698         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
20699         * modules/javacomp (Depends-on): Likewise.
20700         * modules/javaversion (Depends-on): Likewise.
20701         * modules/pipe-filter-gi (Depends-on): Likewise.
20702         * modules/pipe-filter-ii (Depends-on): Likewise.
20703         * MODULES.html.sh (Executing programs): Update.
20704         * NEWS: Mention the change.
20705
20706 2010-12-10  Eric Blake  <eblake@redhat.com>
20707
20708         pipe-posix: new module
20709         * modules/pipe-posix: New file.
20710         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
20711         (gl_UNISTD_H): Check for declaration.
20712         * modules/unistd (Makefile.am): Substitute it.
20713         * lib/unistd.in.h (pipe): Provide it for mingw.
20714         * doc/posix-functions/pipe.texi (pipe): Update documentation.
20715         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
20716
20717 2010-12-07  Bruno Haible  <bruno@clisp.org>
20718
20719         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
20720         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
20721         u8_strcmp_gnu.
20722         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
20723
20724 2010-12-06  Bruno Haible  <bruno@clisp.org>
20725
20726         Update internal documentation.
20727         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
20728
20729 2010-12-04  Bruno Haible  <bruno@clisp.org>
20730
20731         Put more information about failed tests into the test return codes.
20732         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
20733         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
20734         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20735         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20736         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20737         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20738         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20739         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20740         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
20741         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20742         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
20743         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20744         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20745         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20746         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
20747         returns a bit mask.
20748         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20749         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
20750         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
20751         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20752         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20753         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20754         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20755         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20756         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20757         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20758         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20759         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20760         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20761         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20762         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20763         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20764         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
20765         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
20766         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20767         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
20768         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20769         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20770         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20771         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20772         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20773         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20774         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20775         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20776         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20777         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
20778         gl_PRINTF_PRECISION): Likewise.
20779         * m4/regex.m4 (gl_REGEX): Likewise.
20780         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20781         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20782         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
20783         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20784         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20785         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20786         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20787         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
20788         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20789         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20790         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20791         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20792         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20793         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
20794         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20795         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20796         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20797         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20799         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
20800         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
20801         enumerated value.
20802         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
20803
20804 2010-12-04  Bruno Haible  <bruno@clisp.org>
20805
20806         Update for Solaris 11 2010-11.
20807         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
20808         Express, released in November 2010.
20809
20810 2010-12-04  Bruno Haible  <bruno@clisp.org>
20811
20812         nproc: Relax license.
20813         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
20814         and Paul Eggert.
20815         Requested by Ludovic Courtès <ludo@gnu.org>.
20816
20817 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20818
20819         utimecmp: fine-grained src to nearby coarse-grained dest
20820
20821         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
20822         and the source is on a file system with higher-resolution time
20823         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
20824         not work, and the time stamps are close together, the algorithm to
20825         determine the exact resolution from the read-back mtime was buggy:
20826         it had a "!=" where it should have had an "==".  This bug has been
20827         in the code ever since it was introduced to gnulib.
20828         Problem reported by Dan Jacobson in
20829         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
20830
20831 2010-11-30  Bruno Haible  <bruno@clisp.org>
20832
20833         strerror_r-posix: Fix autoconf test.
20834         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
20835
20836 2010-11-28  Bruno Haible  <bruno@clisp.org>
20837             Paul Eggert  <eggert@cs.ucla.edu>
20838
20839         Tests for module 'getdomainname'.
20840         * modules/getdomainname-tests: New file.
20841         * tests/test-getdomainname.c: New file, based on
20842         tests/test-gethostname.c.
20843
20844 2010-11-28  Bruno Haible  <bruno@clisp.org>
20845             Paul Eggert  <eggert@cs.ucla.edu>
20846
20847         getdomainname: Use the system function when possible.
20848         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
20849         (getdomainname): Replace if needed. Provide the declaration if it is
20850         missing. Don't use _GL_CXXALIAS_SYS_CAST.
20851         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
20852         (getdomainname): When the system has getdomainname, call the system
20853         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
20854         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20855         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
20856         found in libnsl. Look for the declaration also in <netdb.h>. Replace
20857         the function if its second argument is of type 'int' or if it is found
20858         in libnsl.
20859         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
20860         <sys/systeminfo.h> and sysinfo().
20861         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
20862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20863         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
20864         HAVE_GETDOMAINNAME.
20865         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
20866         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
20867         * doc/glibc-functions/getdomainname.texi: Document the problems with
20868         the getdomainname declaration.
20869
20870 2010-11-28  Bruno Haible  <bruno@clisp.org>
20871
20872         sys_socket: Ensure ss_family field on AIX.
20873         * lib/sys_socket.in.h (ss_family): New macro definition.
20874         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
20875         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
20876         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
20877         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20878         * modules/sys_socket (Makefile.am): Substitute
20879         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20880         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
20881
20882 2010-11-27  Bruno Haible  <bruno@clisp.org>
20883
20884         readline: Improve configure output.
20885         * m4/readline.m4 (gl_FUNC_READLINE): Make the
20886         "checking for readline..." result understandable.
20887
20888 2010-11-27  Bruno Haible  <bruno@clisp.org>
20889
20890         *printf-posix: Detect a bug on Solaris 10/x86.
20891         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
20892         for floating-point output.
20893         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
20894         directive.
20895         * tests/test-snprintf-posix.h (test_function): Likewise.
20896         * tests/test-sprintf-posix.h (test_function): Likewise.
20897         * tests/test-vasprintf-posix.c (test_function): Likewise.
20898         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
20899         * doc/posix-functions/printf.texi: Likewise.
20900         * doc/posix-functions/snprintf.texi: Likewise.
20901         * doc/posix-functions/sprintf.texi: Likewise.
20902         * doc/posix-functions/vfprintf.texi: Likewise.
20903         * doc/posix-functions/vprintf.texi: Likewise.
20904         * doc/posix-functions/vsnprintf.texi: Likewise.
20905         * doc/posix-functions/vsprintf.texi: Likewise.
20906         * doc/glibc-functions/obstack_printf.texi: Likewise.
20907         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
20908
20909 2010-11-27  Bruno Haible  <bruno@clisp.org>
20910
20911         Fix link error when module libunistring-optional is in use.
20912         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
20913         * modules/striconveha-tests (Makefile.am): Likewise.
20914
20915 2010-11-27  Bruno Haible  <bruno@clisp.org>
20916
20917         regex: Mention link dependencies.
20918         * modules/regex (Link): New section.
20919         * modules/rpmatch (Link): Likewise.
20920         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
20921
20922 2010-11-27  Bruno Haible  <bruno@clisp.org>
20923
20924         ftoastr: Fix compilation error on Solaris.
20925         * lib/ftoastr.c: Include <config.h>.
20926
20927 2010-11-27  Bruno Haible  <bruno@clisp.org>
20928
20929         getloadavg: Update documentation.
20930         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
20931
20932 2010-11-27  Bruno Haible  <bruno@clisp.org>
20933
20934         sys_socket: Fix test whether the functions are declared.
20935         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
20936         not <sys/select.h>.
20937
20938 2010-11-27  Bruno Haible  <bruno@clisp.org>
20939
20940         getpass: Make sure to get system declaration on some platforms.
20941         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
20942         gl_USE_SYSTEM_EXTENSIONS.
20943         * modules/getpass (Depends-on): Add extensions.
20944
20945 2010-11-26  Bruno Haible  <bruno@clisp.org>
20946
20947         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
20948         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
20949         'iconv' module is present.
20950         (ICONV_CONST): New macro.
20951         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
20952         ICONV_CONST.
20953         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
20954         set ICONV_CONST.
20955         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
20956         here.
20957         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
20958         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
20959         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
20960         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
20961         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
20962         present.
20963
20964 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20965
20966         ftoastr: comment fix
20967         * lib/ftoastr.c: "little" -> "little or no" in comment
20968
20969 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20970
20971         stdint: port to GCC 4.3 + OSX + Octave
20972         On this platform, stdint.h is buggy and defines int64_t to long
20973         long int.  The replacement defined it to long int, causing
20974         problems with C++ style name mangling.  Instead, trust the system
20975         definition if INT64_MAX is defined, and likewise for the unsigned
20976         variant.   Problem reported by Jarno Rajahalme in
20977         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
20978         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
20979         and don't mess with int64_t and INT64_MAX in this case.
20980         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
20981
20982 2010-11-24  Bruno Haible  <bruno@clisp.org>
20983
20984         doc: Corrections regarding MacOS X 10.4 and 10.5.
20985         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
20986         MacOS X.
20987         Reported by Simon Josefsson.
20988
20989 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
20990
20991         Uninstall ".bin" files installed by relocwrapper.
20992         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
20993         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
20994         unless it is already there.
20995
20996 2010-11-21  Bruno Haible  <bruno@clisp.org>
20997
20998         Update for NetBSD 5.0.
20999         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21000         NetBSD; the test fails on NetBSD 5.0.
21001         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21002         about NetBSD.
21003
21004 2010-11-21  Bruno Haible  <bruno@clisp.org>
21005
21006         Update for HP-UX 11.23 and HP-UX 11.31.
21007         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
21008         HP-UX.
21009
21010 2010-11-21  Bruno Haible  <bruno@clisp.org>
21011
21012         Update for MacOS X 10.5.
21013         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21014         MacOS X; the test fails on MacOS X 10.5.8.
21015         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21016         about MacOS X.
21017
21018 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
21019
21020         bootstrap: add bootstrap_sync option.
21021         See discussion at
21022         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
21023         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
21024         * build-aux/bootstrap: Accept --bootstrap-sync to update
21025         bootstrap if it is not identical to the local gnulib's
21026         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
21027         enable this by default.  Accept --no-bootstrap-sync to disable
21028         it.
21029
21030 2010-11-20  Bruno Haible  <bruno@clisp.org>
21031
21032         Ensure that <features.h> is included before __GLIBC__ is tested.
21033         * lib/printf-parse.h: Include <features.h>.
21034         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
21035         Reported by Mike Frysinger <vapier@gentoo.org>.
21036
21037         Ensure that <features.h> is included before __GLIBC__ is tested.
21038         * lib/wchar.in.h: Include <features.h>.
21039         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
21040         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
21041         Reported by Mike Frysinger <vapier@gentoo.org>.
21042
21043         Ensure that <features.h> is included before __GLIBC__ is tested.
21044         * lib/arpa_inet.in.h: Include <features.h>.
21045         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
21046         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
21047         Reported by Mike Frysinger <vapier@gentoo.org>.
21048
21049         Ensure that <features.h> is included before __GLIBC__ is tested.
21050         * build-aux/link-warning.h: Include <features.h>.
21051         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
21052         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
21053         Reported by Mike Frysinger <vapier@gentoo.org>.
21054
21055         Ensure that <features.h> is included before __GLIBC__ is tested.
21056         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
21057         Reported by Mike Frysinger <vapier@gentoo.org>.
21058
21059 2010-11-20  Bruno Haible  <bruno@clisp.org>
21060
21061         memmem: Fix autoconf test.
21062         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
21063
21064 2010-11-20  Bruno Haible  <bruno@clisp.org>
21065
21066         Port to uClibc.
21067         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
21068         * lib/fcntl.in.h: Likewise.
21069         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
21070         * lib/mbrtowc.c (mbrtowc): Likewise.
21071         * lib/relocatable.c (find_shared_library_fullname): Likewise.
21072         * lib/strerror_r.c: Likewise.
21073         * lib/unistr/u8-strnlen.c: Likewise.
21074         * lib/vasnprintf.c (decimal_point_char): Likewise.
21075         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21076         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21077         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21078         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21079         * tests/test-sigaction.c (handler, main): Likewise.
21080         * lib/freading.h: Treat uClibc like a non-glibc platform.
21081         * lib/freading.c: Likewise.
21082         * lib/gettext.h: Likewise.
21083         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
21084         Likewise.
21085         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
21086         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
21087         * lib/propername.c (proper_name_utf8): Likewise.
21088         * lib/spawn.in.h: Likewise.
21089         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
21090         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
21091         mem_cd_iconveh_internal): Likewise.
21092         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
21093         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21094         strstr, strcasestr): Likewise.
21095         * lib/unicodeio.c (unicode_to_mb): Likewise.
21096         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
21097         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
21098         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
21099         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
21100         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
21101         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
21102         * lib/unistr/u8-stpncpy.c: Likewise.
21103         * lib/vasnprintf.c (VASNPRINTF): Likewise.
21104         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
21105         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21106         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21107         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21108         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
21109         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
21110         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
21111         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
21112         Likewise.
21113         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21114         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21115         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21116         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21117         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21118         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21119         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21120         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21121         * tests/test-getopt.h (OPTIND_MIN): Likewise.
21122         * tests/test-striconveha.c (main): Likewise.
21123         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21124         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
21125         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
21126         * doc/posix-functions/getline.texi: Likewise.
21127         Reported by Mike Frysinger <vapier@gentoo.org>.
21128
21129 2010-11-20  Bruno Haible  <bruno@clisp.org>
21130
21131         nproc: Fix condition.
21132         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
21133         HAVE_PTHREAD_AFFINITY_NP.
21134
21135 2010-11-20  Bruno Haible  <bruno@clisp.org>
21136
21137         Fix a comment.
21138         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
21139
21140 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
21141
21142         ftoastr: don't assume snprintf
21143         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
21144         Implement a subset of snprintf here, by using sprintf safely.
21145         * modules/ftoastr (Depends-on): Remove snprintf.
21146
21147 2010-11-19  Jim Meyering  <meyering@redhat.com>
21148
21149         test-rename.h: fix compilation failure
21150         * tests/test-rename.h (test_rename): Add omitted "}".
21151
21152 2010-11-17  Jim Meyering  <meyering@redhat.com>
21153
21154         maint.mk: add a URL discussing the no-@acronym policy
21155         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
21156
21157 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
21158
21159         ftoastr: depend on snprintf, improve comments
21160         * lib/ftoastr.c: Also mention Loitsch's draft.
21161         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
21162         needed in the current implementation, but it might simplify
21163         speeding up the code later.
21164         * modules/ftoastr: Depend on snprintf; this improves portability.
21165         Suggested by Bruno Haible in the same email.
21166
21167         ftoastr: port to hosts lacking strtof and strtold
21168         Problem reported by Bruno Haible in
21169         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
21170         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
21171         environment and strtold (and presumably strtof) are not available.
21172         * modules/ftoastr (Files): Add m4/c-strtod.m4.
21173         (configure.ac): Require gl_C99_STRTOLD.
21174
21175 2010-11-18  Bruno Haible  <bruno@clisp.org>
21176
21177         c-strtold: Avoid link error on AIX 7.
21178         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
21179         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
21180         (gl_C_STRTOLD): Test whether strtold_l exists.
21181         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21182
21183 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21184
21185         intprops: new macro INT_BITS_STRLEN_BOUND
21186         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
21187         ftoastr.h.  This exposes an internal of intprops.h that was formerly
21188         not exposed.  Also, it uses a slightly tighter bound than before;
21189         though this makes no practical difference, we might as well be as
21190         tight as we easily can.
21191
21192         ftoastr: new module, for lossless conversion of floats to short strings
21193         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
21194         * modules/ftoastr: New files.
21195
21196 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
21197
21198         bootstrap: port to Solaris sed
21199         * build-aux/bootstrap (get_version): Port to Solaris sed.
21200         See Ralf Wildenhues's note in
21201         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
21202
21203 2010-11-14  Jim Meyering  <meyering@redhat.com>
21204
21205         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
21206         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
21207         and move definition closer to sole use.
21208
21209 2010-11-13  Jim Meyering  <meyering@redhat.com>
21210
21211         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
21212         Now we require at least autoconf-2.59, which means the work-around
21213         is no longer needed.
21214         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
21215         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21216         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21217         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21218         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21219
21220 2010-11-13  Bruno Haible  <bruno@clisp.org>
21221
21222         rename, renameat: Avoid test failures at NFS mounted locations.
21223         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
21224         functions.
21225         (test_rename): Use assert_nonexistent.
21226         * tests/test-rename.c: Include <dirent.h>.
21227         * tests/test-renameat.c: Likewise.
21228         Reported by Gary V. Vaughan <gary@gnu.org>.
21229
21230         rename, renameat: Document Linux bug with NFS
21231         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
21232         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
21233         * doc/posix-functions/renameat.texi: Likewise.
21234         Suggested by Eric Blake.
21235
21236 2010-11-13  Bruno Haible  <bruno@clisp.org>
21237
21238         rename test: Add comments.
21239         * tests/test-rename.h (test_rename): Add structure and comments.
21240
21241 2010-11-13  Eric Blake  <eblake@redhat.com>
21242
21243         maintainer-makefile: cover a few more files
21244         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
21245         scripts generated within C files, for libvirt.
21246
21247 2010-11-13  Bruno Haible  <bruno@clisp.org>
21248
21249         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
21250         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
21251         character, return the number of bytes that belong together, not always
21252         1.
21253         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
21254         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
21255         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
21256         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
21257         number of bytes of an invalid character.
21258         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
21259         (main): Invoke it.
21260         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
21261         results.
21262         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
21263         malformed byte sequences.
21264         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
21265         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
21266         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
21267         Reported by Ben Pfaff and Paolo Bonzini.
21268
21269 2010-11-13  Bruno Haible  <bruno@clisp.org>
21270
21271         openat: Work around glibc bug with fchownat() and empty file names.
21272         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
21273         (gl_FUNC_FCHOWNAT): Invoke it.
21274         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
21275         * doc/posix-functions/fchownat.texi: Document the glibc bug.
21276         Reported by Gary V. Vaughan <gary@gnu.org>.
21277
21278 2010-11-13  Bruno Haible  <bruno@clisp.org>
21279
21280         openat: Ensure autoconf macro ordering.
21281         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
21282         gl_USE_SYSTEM_EXTENSIONS.
21283         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
21284
21285 2010-11-13  Bruno Haible  <bruno@clisp.org>
21286
21287         Update comments.
21288         * lib/unistr/u8-check.c: Update file name in comments.
21289         * lib/unistr/u8-mblen.c: Likewise.
21290         * lib/unistr/u8-prev.c: Likewise.
21291         * lib/unistr/u8-strmblen.c: Likewise.
21292         * lib/unistr/u8-strmbtouc.c: Likewise.
21293
21294 2010-11-13  Jim Meyering  <meyering@redhat.com>
21295
21296         tests: avoid test failure on Solaris 10 due to lack of PATH export
21297         * tests/test-update-copyright.sh: Don't forget to export PATH.
21298
21299         init.sh: ensure that IFS is defined, just in case...
21300         * tests/init.sh (setup_): Ensure that IFS is defined,
21301         so that saving and restoring it works as expected.  This
21302         appears to be useful at least for an old version of dash
21303         from a long time ago (RH 6).  See here for details:
21304         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
21305
21306         maint.mk: tighten "test a == b" check
21307         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
21308         test to files that contain something like #!/bin/sh.
21309         Without this, coreutils would get two false positives in
21310         the comments of C source files.
21311
21312 2010-11-12  Eric Blake  <eblake@redhat.com>
21313
21314         bootstrap: fix typo in previous attempt
21315         * build-aux/bootstrap (buildreq): Correct the grouping.
21316         Reported by Paul Eggert.
21317
21318         maintainer-makefile: prohibit test x == x
21319         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
21320         Based on a report by Matthias Bolte.
21321
21322         bootstrap: allow FreeBSD gzip
21323         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
21324         which has no '.' and goes to stderr.
21325         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
21326         Reported by Matthias Bolte.
21327
21328         maintainer-makefile: check for i18n setup
21329         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
21330         will likely work.
21331
21332 2010-11-12  Bruno Haible  <bruno@clisp.org>
21333
21334         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
21335         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
21336         * lib/nanosleep.c (nanosleep): Likewise.
21337
21338 2010-11-11  Bruno Haible  <bruno@clisp.org>
21339
21340         fcntl-h: Fix for use of C++ on glibc systems.
21341         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21342         also on glibc systems in C++ mode.
21343         Reported by Gary V. Vaughan <gary@gnu.org>.
21344
21345 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21346
21347         mknod: avoid false failure with dash
21348         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
21349
21350 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21351
21352         unlink: Fix "is it should" typo in diagnostic.
21353         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
21354         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
21355
21356 2010-11-11  Bruno Haible  <bruno@clisp.org>
21357
21358         Tests for module 'strerror_r-posix'.
21359         * modules/strerror_r-posix-tests: New file.
21360         * tests/test-strerror_r.c: New file.
21361         * tests/test-string-c++.cc: Check the signature of strerror_r.
21362
21363         New module 'strerror_r-posix'.
21364         * lib/string.in.h (strerror_r): New declaration.
21365         * lib/strerror_r.c: New file.
21366         * m4/strerror_r.m4: New file.
21367         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
21368         of strerror_r.
21369         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
21370         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21371         * modules/strerror_r-posix: New file.
21372         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
21373         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21374         * doc/posix-functions/strerror_r.texi: Mention the new module and the
21375         portability problems.
21376
21377 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
21378
21379         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
21380         line is also considered for output. Quoted function name in shell
21381         command, so temporary files for functions like MyClass::operator()
21382         are removed correctly without errors.
21383
21384 2010-11-09  Bruno Haible  <bruno@clisp.org>
21385
21386         * doc/posix-functions/strerror.texi: List more failing platforms.
21387
21388         * doc/posix-functions/strerror.texi: Add a comment.
21389
21390 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
21391
21392         fdopendir: fix bug on MacOS X when low on file descriptors
21393
21394         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
21395         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
21396         All callers changed.
21397         (fdopendir): Invoke save_cwd at the top level, not after using
21398         multiple dup() calls to use up file descriptors.  Then retry
21399         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
21400         less than the maximum number of open file descriptors, because
21401         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
21402         on Mac OS X 10.6.4 for tar 1.24
21403         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
21404         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
21405         and for tar 1.25
21406         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
21407
21408 2010-11-07  Bruno Haible  <bruno@clisp.org>
21409
21410         vasnprintf: Support I flag on glibc systems.
21411         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
21412         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
21413         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
21414         snprintf function.
21415         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
21416         glibc systems.
21417         * tests/test-vasnprintf-posix3.c: New file.
21418         * modules/vasnprintf-posix-tests (Files): Add it.
21419         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
21420
21421 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21422
21423         [html] Fix copy/paste bug: Use unique name for compiler warnings.
21424         * MODULES.html.sh: For compiler warnings, use name
21425         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
21426
21427 2010-11-05  Eric Blake  <eblake@redhat.com>
21428
21429         ceil, floor: avoid spurious failure with icc
21430         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
21431         [denormals-as-zero] when optimizing without -mieee-fp option.
21432         * tests/test-floorf2.c (floorf_reference): Likewise.
21433         * tests/test-ceilf1.c (dummy): New function.
21434         (main): Use it to outsmart icc's optimization.
21435         * tests/test-floorf1.c (dummy, main): Likewise.
21436
21437         tests: require working signbit
21438         * modules/ceilf-tests (Depends-on): Add signbit.
21439         * modules/ceill-tests (Depends-on): Likewise.
21440         * modules/floorf-tests (Depends-on): Likewise.
21441         * modules/floorl-tests (Depends-on): Likewise.
21442         * modules/round-tests (Depends-on): Likewise.
21443         * modules/roundf-tests (Depends-on): Likewise.
21444         * modules/roundl-tests (Depends-on): Likewise.
21445         * modules/trunc-tests (Depends-on): Likewise.
21446         * modules/truncf-tests (Depends-on): Likewise.
21447         * modules/truncl-tests (Depends-on): Likewise.
21448
21449         strtod: work around icc bug
21450         * lib/strtod.c (minus_zero): Define to working value.
21451         (strtod): Use it to avoid icc bug.
21452
21453         copysign: enhance tests
21454         * modules/copysign-tests (Files): Add minus-zero.h.
21455         * tests/test-copysign.c (main): Also test zeros.
21456
21457 2010-11-04  Eric Blake  <eblake@redhat.com>
21458
21459         ceil, floor, round, trunc: enhance tests of -0
21460         * tests/test-ceilf1.c (main): Ensure correct sign of result.
21461         * tests/test-ceill.c (main): Likewise.
21462         * tests/test-floorf1.c (main): Likewise.
21463         * tests/test-floorl.c (main): Likewise.
21464         * tests/test-round1.c (main): Likewise.
21465         * tests/test-roundf1.c (main): Likewise.
21466         * tests/test-roundl.c (main): Likewise.
21467         * tests/test-trunc1.c (main): Likewise.
21468         * tests/test-truncf1.c (main): Likewise.
21469         * tests/test-truncl.c (main): Likewise.
21470
21471 2010-11-04  Eric Blake  <eblake@redhat.com>
21472
21473         frexp, tests: work around ICC bug with -zero
21474         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
21475         works with more compilers.
21476         * tests/minus-zero.h: New file.
21477         * modules/ceilf-tests (Files): Include it.
21478         * modules/ceill-tests (Files): Likewise.
21479         * modules/floorf-tests (Files): Likewise.
21480         * modules/floorl-tests (Files): Likewise.
21481         * modules/frexp-nolibm-tests (Files): Likewise.
21482         * modules/frexp-tests (Files): Likewise.
21483         * modules/frexpl-nolibm-tests (Files): Likewise.
21484         * modules/frexpl-tests (Files): Likewise.
21485         * modules/isnan-tests (Files): Likewise.
21486         * modules/isnand-nolibm-tests (Files): Likewise.
21487         * modules/isnand-tests (Files): Likewise.
21488         * modules/isnanf-nolibm-tests (Files): Likewise.
21489         * modules/isnanf-tests (Files): Likewise.
21490         * modules/isnanl-nolibm-tests (Files): Likewise.
21491         * modules/isnanl-tests (Files): Likewise.
21492         * modules/round-tests (Files): Likewise.
21493         * modules/roundf-tests (Files): Likewise.
21494         * modules/roundl-tests (Files): Likewise.
21495         * modules/ldexpl-tests (Files): Likewise.
21496         * modules/signbit-tests (Files): Likewise.
21497         * modules/snprintf-posix-tests (Files): Likewise.
21498         * modules/sprintf-posix-tests (Files): Likewise.
21499         * modules/strtod-tests (Files): Likewise.
21500         * modules/trunc-tests (Files): Likewise.
21501         * modules/truncf-tests (Files): Likewise.
21502         * modules/truncl-tests (Files): Likewise.
21503         * modules/vsnprintf-posix-tests (Files): Likewise.
21504         * modules/vsprintf-posix-tests (Files): Likewise.
21505         * modules/vasnprintf-posix-tests (Files): Likewise.
21506         * modules/vasprintf-posix-tests (Files): Likewise.
21507         * tests/test-ceilf1.c (main): Use it.
21508         * tests/test-ceill.c (main): Likewise.
21509         * tests/test-floorf1.c (main): Likewise.
21510         * tests/test-floorl.c (main): Likewise.
21511         * tests/test-frexp.c (main): Likewise.
21512         * tests/test-frexpl.c (main): Likewise.
21513         * tests/test-isnan.c (main): Likewise.
21514         * tests/test-isnand.h (main): Likewise.
21515         * tests/test-isnanf.h (main): Likewise.
21516         * tests/test-isnanl.h (main): Likewise.
21517         * tests/test-ldexpl.c (main): Likewise.
21518         * tests/test-round.c (main): Likewise.
21519         * tests/test-roundf.c (main): Likewise.
21520         * tests/test-roundl.c (main): Likewise.
21521         * tests/test-signbit.c (test_signbitf, test_signbitd)
21522         (test_signbitl): Likewise.
21523         * tests/test-snprintf-posix.h (test_function): Likewise.
21524         * tests/test-sprintf-posix.h (test_function): Likewise.
21525         * tests/test-strtod.c (main): Likewise.
21526         * tests/test-trunc1.c (main): Likewise.
21527         * tests/test-truncf1.c (main): Likewise.
21528         * tests/test-truncl.c (main): Likewise.
21529
21530         isnanl: work around icc bug
21531         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
21532
21533 2010-11-03  Eric Blake  <eblake@redhat.com>
21534
21535         tests: fix compiler warnings
21536         * tests/test-getopt.h (test_getopt): Fix condition.
21537         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21538         * tests/test-pipe2.c (main): Likewise.
21539         * tests/test-quotearg-simple.c (main): Avoid icc warning.
21540
21541         utimens: fix broken m4 test
21542         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
21543
21544 2010-10-28  Bruno Haible  <bruno@clisp.org>
21545
21546         posix_spawn*, getdtablesize: Relax license.
21547         * modules/posix_spawn (License): Change to LGPLv2+.
21548         * modules/posix_spawnp (License): Likewise.
21549         * modules/posix_spawn-internal (License): Likewise.
21550         * modules/posix_spawnattr_init (License): Likewise.
21551         * modules/posix_spawnattr_getflags (License): Likewise.
21552         * modules/posix_spawnattr_setflags (License): Likewise.
21553         * modules/posix_spawnattr_getpgroup (License): Likewise.
21554         * modules/posix_spawnattr_setpgroup (License): Likewise.
21555         * modules/posix_spawnattr_getschedparam (License): Likewise.
21556         * modules/posix_spawnattr_setschedparam (License): Likewise.
21557         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
21558         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
21559         * modules/posix_spawnattr_getsigdefault (License): Likewise.
21560         * modules/posix_spawnattr_setsigdefault (License): Likewise.
21561         * modules/posix_spawnattr_getsigmask (License): Likewise.
21562         * modules/posix_spawnattr_setsigmask (License): Likewise.
21563         * modules/posix_spawnattr_destroy (License): Likewise.
21564         * modules/posix_spawn_file_actions_init (License): Likewise.
21565         * modules/posix_spawn_file_actions_addclose (License): Likewise.
21566         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
21567         * modules/posix_spawn_file_actions_addopen (License): Likewise.
21568         * modules/posix_spawn_file_actions_destroy (License): Likewise.
21569         * modules/getdtablesize (License): Likewise.
21570         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
21571
21572 2010-10-26  Bruno Haible  <bruno@clisp.org>
21573
21574         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
21575         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
21576         Cygwin and mingw.
21577         Suggested by Eric Blake.
21578
21579 2010-10-26  Bruno Haible  <bruno@clisp.org>
21580
21581         stdio: Work around compilation error due to renameat() on Solaris 10.
21582         * lib/stdio.in.h: Include <unistd.h> on Solaris.
21583         * lib/renameat.c: Don't include <unistd.h> here.
21584         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
21585         Reported by Paul Eggert and Eric Blake.
21586
21587 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
21588
21589         renameat: port to Solaris 10, which declares renameat in unistd.h
21590
21591         * lib/renameat.c: Include unistd.h before stdio.h, because
21592         Solaris 10 declares renameat in unistd.h.  Problem encountered
21593         when building GNU tar 1.24 on Solaris 10.
21594
21595 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21596
21597         fdopendir: fix C89 compilation
21598         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
21599         compilers.
21600
21601 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
21602
21603         inttostr: simplify by removing unnecessary redundancy
21604         * lib/anytostr.c: Don't include verify.h.
21605         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
21606         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
21607         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
21608         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
21609         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
21610         Likewise.
21611         * modules/inttostr (Depends-on): Remove 'verify'.
21612
21613 2010-10-23  Bruno Haible  <bruno@clisp.org>
21614
21615         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
21616         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
21617         Reported by Eric Blake.
21618
21619 2010-10-23  Bruno Haible  <bruno@clisp.org>
21620
21621         Tests: Fix LOCALE_JA on MirBSD 10.
21622         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
21623         to an UTF-8 locale.
21624         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
21625         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21626         Reported by Eric Blake.
21627
21628 2010-10-21  Bruno Haible  <bruno@clisp.org>
21629
21630         nl_langinfo test: Avoid test failure on NetBSD 5.
21631         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
21632         Reported by Eric Blake.
21633
21634 2010-10-21  Eric Blake  <eblake@redhat.com>
21635
21636         c-stack: work around libsigsegv 2.8 bug
21637         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
21638         overflow on at least PowerPC64.
21639
21640 2010-10-17  Bruno Haible  <bruno@clisp.org>
21641
21642         userspec: Drop redundant file.
21643         * modules/userspec (Files): Remove lib/inttostr.h.
21644
21645 2010-10-17  Bruno Haible  <bruno@clisp.org>
21646
21647         nl_langinfo tests: Silence some warnings.
21648         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
21649         Reported by Jim Meyering.
21650
21651 2010-10-17  Bruno Haible  <bruno@clisp.org>
21652
21653         Make use of GCC's attribute __alloc_size__.
21654         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
21655         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
21656         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
21657         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
21658         __alloc_size__.
21659         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21660         Suggested by Jim Meyering.
21661
21662 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
21663
21664         bootstrap: anchor .gitignore entries.
21665         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
21666         with...
21667         (insert_vc_ignore): ... this new function, which prepends `/' to
21668         all .gitignore entries before passing them to
21669         insert_sorted_if_absent.
21670
21671 2010-10-16  Bruno Haible  <bruno@clisp.org>
21672
21673         nextafter: Fix configure check.
21674         * modules/nextafter (configure.ac): Correct expected prototype.
21675
21676 2010-10-16  Bruno Haible  <bruno@clisp.org>
21677
21678         termios: Update documentation.
21679         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
21680
21681 2010-10-16  Bruno Haible  <bruno@clisp.org>
21682
21683         tests: Make them compile with TinyCC.
21684         * tests/test-strstr.c (main): Remove parentheses around array
21685         initializer.
21686
21687 2010-10-15  Eric Blake  <eblake@redhat.com>
21688
21689         ignore-value: make header idempotent
21690         * lib/ignore-value.h: Add double-inclusion guards.
21691         Reported by Stefan Berger.
21692
21693 2010-10-15  Jim Meyering  <meyering@redhat.com>
21694
21695         GNUmakefile: handle "stable" target, not "major"
21696         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
21697         lists in maint.mk and announce-gen.  Without this, "make stable"
21698         would fail to ensure that $(VERSION) is up to date.
21699
21700 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
21701
21702         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
21703         & co.
21704
21705 2010-10-14  Bruno Haible  <bruno@clisp.org>
21706
21707         vasnprintf: Don't set errno to 0.
21708         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
21709         block that sets it to 0.
21710         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21711
21712 2010-10-14  Bruno Haible  <bruno@clisp.org>
21713
21714         socketlib: Fix.
21715         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
21716         gl_PREREQ_SYS_H_WINSOCK2.
21717         Reported by Ian Beckwith <ianb@erislabs.net>.
21718
21719 2010-10-13  Jim Meyering  <meyering@redhat.com>
21720
21721         test-select-stdin.c: avoid warn_unused_result warnings
21722         * tests/test-select-stdin.c: Include "macros.h".
21723         ASSERT that read and fflush succeed.
21724
21725 2010-10-13  Jim Meyering  <meyering@redhat.com>
21726
21727         git-version-gen: do require git-VC'd files in cwd
21728         * build-aux/git-version-gen: Reject a git version string
21729         if there are no commits associated with the current directory.
21730         This avoids an unlikely false-positive (unrelated dir whose parent
21731         repository also contains a tag matching v*), as pointed out
21732         by Giuseppe Scrivano in
21733         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
21734
21735 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21736
21737         argv-iter: omit nonconforming declaration
21738         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
21739         enum arg_iter_err declaration, which doesn't conform to C99.
21740         Solaris 10 cc warns about this.
21741
21742 2010-10-13  Eric Blake  <eblake@redhat.com>
21743
21744         termios: fix compilation on mingw
21745         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
21746         (gl_TERMIOS_H): Adjust it on mingw.
21747         * modules/termios (Makefile.am): Substitute new key.
21748         * lib/termios.in.h (includes): Make include_next conditional.
21749         * doc/posix-headers/termios.texi (termios.h): Update
21750         documentation.
21751         Reported by Daniel P. Berrange.
21752
21753 2010-10-13  Jim Meyering  <meyering@redhat.com>
21754
21755         git-version-gen: don't require that .git/ be in the current dir
21756         * build-aux/git-version-gen: Adjust this script so that it works
21757         when run from any working directory beneath the top-level .git/-
21758         containing directory.  Inspired by a patch from Giuseppe Scrivano,
21759         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
21760
21761         test-select: avoid warn_unused_result warnings
21762         * tests/test-select.c: Include "macros.h".
21763         ASSERT that each call to read, write, and pipe succeeds.
21764         While not technically required, also check each "close".
21765         * modules/select-tests (Files): Add tests/macros.h.
21766
21767         test-symlinkat: remove declaration of unused local
21768         * tests/test-symlinkat.c (main): Remove unused local, "buf".
21769
21770         test-inttostr: avoid shadowing warnings
21771         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
21772         and use malloc rather than the stack for the same reason as
21773         mentioned in the comment justifying the other allocation.
21774
21775 2010-10-11  Bruno Haible  <bruno@clisp.org>
21776
21777         stdlib: Allow multiple gnulib generated replacements to coexist.
21778         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
21779         Reported by Sam Steingold <sds@gnu.org>.
21780
21781 2010-10-11  Jim Meyering  <meyering@redhat.com>
21782
21783         fix a documentation typo
21784         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
21785
21786 2010-10-11  Eric Blake  <eblake@redhat.com>
21787
21788         futimens: work around Solaris 11 bug
21789         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
21790         * tests/test-futimens.h (test_futimens): Enhance, rather than
21791         weaken test.
21792         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21793
21794 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21795
21796         Indentation.
21797         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
21798         higher-level operators more to the left.
21799
21800 2010-10-11  Jim Meyering  <meyering@redhat.com>
21801
21802         test-futimens: avoid unwarranted test failure on Solaris 5.11
21803         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
21804         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
21805         because it tries to dereference the NULL name argument.
21806
21807 2010-10-11  Bruno Haible  <bruno@clisp.org>
21808
21809         Indentation.
21810         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
21811         indentation.
21812
21813 2010-10-11  Jim Meyering  <meyering@redhat.com>
21814
21815         spawn.in.h: make indentation consistent with parentheses
21816         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
21817         Make indentation consistent with parentheses.
21818
21819 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
21820
21821         Fix mismatched parens in previous commit
21822         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
21823         parens.
21824
21825 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21826
21827         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
21828
21829         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
21830         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
21831         * lib/malloca.c: Include "verify.h".
21832         (verify1): Remove, replacing with a verify call.
21833         * lib/relocwrapper.c (verify1): Likewise.
21834         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
21835         Likewise.
21836         * modules/malloca (Depends-on): Add 'verify'.
21837         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
21838         * modules/vasnprintf (Depends-on): Add 'verify'.
21839         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21840         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21841         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21842         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21843         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21844         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21845         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21846
21847         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
21848
21849         Formerly the style was sometimes 2*X - 1, because the C standard
21850         was wrongly thought to disallow ?: in integral constant expressions.
21851         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
21852         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
21853         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21854         * lib/stdint.in.h (_verify_intmax_size): Likewise.
21855         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
21856         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
21857         verify that time_t cannot be floating.
21858
21859 2010-10-08  Eric Blake  <eblake@redhat.com>
21860
21861         time: enforce recent POSIX ruling that time_t is integral
21862         * lib/time.in.h (__time_t_must_be_integral): Detect any
21863         problematic systems, allowing the rest of gnulib to assume POSIX.
21864
21865 2010-10-08  Jim Meyering  <meyering@redhat.com>
21866
21867         fdopendir: fix a bug on systems lacking openat and /proc support
21868         OpenBSD 4.7 is one such system.  The most noticeable effect was
21869         failure of any application making nontrivial use of fts: rm, du,
21870         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
21871           ./rm: traversal failed: `a': Bad file descriptor
21872         Debugging that, you see that even though FD 6 was closed just
21873         prior to the opendir call in fd_clone_opendir, its resulting
21874         dir->dd_fd was 8, rather than the expected value of 6:
21875
21876         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
21877         93                close (fd);
21878         (gdb) n
21879         94                dir = fd_clone_opendir (dupfd);
21880         (gdb) n
21881         95                saved_errno = errno;
21882         (gdb) p dir->dd_fd
21883         $11 = 8
21884
21885         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
21886         The problem is that on OpenBSD, fd_clone_opendir has to resort
21887         to using the old-style save/restore CWD mechanism, due to its
21888         lack of openat/proc support, and *that* would steal the FD (6)
21889         that opendir was supposed to use.
21890
21891         The fix is to squirrel away the desired FD so that save_cwd uses a
21892         different one, and then free the dest FD right before calling opendir.
21893         That guarantees opendir will use the required file descriptor.
21894
21895         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
21896
21897 2010-10-08  Bruno Haible  <bruno@clisp.org>
21898
21899         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
21900         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
21901
21902 2010-10-08  Bruno Haible  <bruno@clisp.org>
21903
21904         nanosleep: Make replacement POSIX compliant.
21905         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
21906         is out of range.
21907         Reported by Jim Meyering.
21908
21909 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
21910
21911         bootstrap: add hook for altering gnulib.mk, for Bison
21912         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
21913         the Bison bootstrapping process can rewrite file names and variables
21914         in this file before later parts of 'bootstrap' use the file.
21915         Bison wants to include lib/gnulib.mk from the top-level makefile,
21916         so it needs the file names in this file to be relative to the top
21917         level, not relative to lib; plus it needs variable names to be
21918         rewritten.
21919         (slurp): Use the new function.
21920
21921         bootstrap: reformat for readability
21922         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
21923
21924 2010-10-08  Eric Blake  <eblake@redhat.com>
21925
21926         docs: update cygwin progress
21927         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
21928         1.7.7.
21929         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
21930         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
21931         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
21932         * doc/posix-functions/carg.texi (carg): Likewise.
21933         * doc/posix-functions/cargf.texi (cargf): Likewise.
21934         * doc/posix-functions/casin.texi (casin): Likewise.
21935         * doc/posix-functions/casinf.texi (casinf): Likewise.
21936         * doc/posix-functions/casinh.texi (casinh): Likewise.
21937         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
21938         * doc/posix-functions/catan.texi (catan): Likewise.
21939         * doc/posix-functions/catanf.texi (catanf): Likewise.
21940         * doc/posix-functions/catanh.texi (catanh): Likewise.
21941         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
21942         * doc/posix-functions/ccos.texi (ccos): Likewise.
21943         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
21944         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
21945         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
21946         * doc/posix-functions/cexp.texi (cexp): Likewise.
21947         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
21948         * doc/posix-functions/cimag.texi (cimag): Likewise.
21949         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
21950         * doc/posix-functions/clog.texi (clog): Likewise.
21951         * doc/posix-functions/clogf.texi (clogf): Likewise.
21952         * doc/posix-functions/conj.texi (conj): Likewise.
21953         * doc/posix-functions/conjf.texi (conjf): Likewise.
21954         * doc/posix-functions/cpow.texi (cpow): Likewise.
21955         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
21956         * doc/posix-functions/cproj.texi (cproj): Likewise.
21957         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
21958         * doc/posix-functions/creal.texi (creal): Likewise.
21959         * doc/posix-functions/crealf.texi (crealf): Likewise.
21960         * doc/posix-functions/csin.texi (csin): Likewise.
21961         * doc/posix-functions/csinf.texi (csinf): Likewise.
21962         * doc/posix-functions/csinh.texi (csinh): Likewise.
21963         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
21964         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
21965         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
21966         * doc/posix-functions/ctan.texi (ctan): Likewise.
21967         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
21968         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
21969         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
21970         * doc/posix-headers/complex.texi (complex.h): Likewise.
21971
21972 2010-10-07  Jim Meyering  <meyering@redhat.com>
21973
21974         parse-datetime: avoid compilation failure on OpenBSD 4.7
21975         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
21976         This works around a compilation failure on OpenBSD 4.7:
21977         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
21978
21979 2010-10-07  Eric Blake  <eblake@redhat.com>
21980
21981         docs: update cygwin progress
21982         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
21983         1.7.6.
21984         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21985         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
21986         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
21987         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
21988         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
21989         Likewise.
21990         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
21991         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
21992         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
21993         Likewise.
21994         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
21995         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
21996         Likewise.
21997         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
21998         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
21999         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
22000         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
22001         Likewise.
22002         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
22003         Likewise.
22004         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
22005
22006         docs: update parse-datetime history
22007         * doc/parse-datetime.texi (Authors of parse_datetime): Better
22008         documentation of this function's history and alternatives.
22009
22010         cygwin: use more robust version check
22011         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
22012         exclude an eventual cygwin 1.9.1.
22013         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22014         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22015         (gl_FUNC_STRCASESTR): Likewise.
22016         Reported by Bruno Haible.
22017
22018 2010-10-06  Bruno Haible  <bruno@clisp.org>
22019
22020         string, sys_select: Avoid #including large headers unless necessary.
22021         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
22022         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
22023         OSF/1, BeOS, Haiku.
22024         Reported by Jim Meyering.
22025
22026 2010-10-05  Eric Blake  <eblake@redhat.com>
22027
22028         memmem, strstr, strcasestr: fix bug with long periodic needle
22029         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
22030         periodic needle having false positive.
22031         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
22032         and cygwin 1.7.7.
22033         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
22034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22035         (gl_FUNC_STRCASESTR): Likewise.
22036         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22037         * tests/test-memmem.c (main): Expose the bug.
22038         * tests/test-strcasestr.c (main): Likewise.
22039         * tests/test-strstr.c (main): Likewise.
22040         * tests/test-c-strcasestr.c (main): Likewise.
22041         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
22042         * doc/posix-functions/strstr.texi (strstr): Likewise.
22043         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22044         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
22045
22046 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22047
22048         parse-datetime: do some more renaming
22049         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
22050         parse_datetime, not get_date.  Mention the renaming.
22051         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
22052         in comments.
22053         * m4/bison.m4: Likewise.
22054
22055 2010-10-05  Eric Blake  <eblake@redhat.com>
22056
22057         parse-datetime: better name than get_date
22058         * NEWS: Reword the deprecation notice.
22059         * modules/get_date: Rename to modules/parse-datetime.
22060         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
22061         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
22062         * lib/get_date.y: Rename to lib/parse-datetime.y.
22063         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
22064         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
22065         * doc/getdate.texi: Provide fallback wrapper.
22066         * lib/getdate.h: Move guts, and wrap...
22067         * lib/parse-datetime.h: ...new file.
22068         * lib/parse-datetime.y (get_date): Rename...
22069         (parse_datetime): ...to this.
22070         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
22071         (gl_PARSE_DATETIME): ...to this.
22072         * doc/posix-functions/getdate.texi (get_date): Provide fallback
22073         documentation.
22074         * modules/getdate (Files): Provide fallback docs and header.
22075         (Notice, Depends-on): Update references.
22076         * tests/test-parse-datetime.c: Likewise.
22077         * DEPENDENCIES: Likewise.
22078         * MODULES.html.sh (Date and time <time.h>): Likewise.
22079         * doc/parse-datetime.texi (Date input formats)
22080         (Authors of parse_datetime): Likewise.
22081         * modules/parse-datetime (Files, configure.ac, Makefile.am)
22082         (Include): Likewise.
22083         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
22084         * gnulib-tool: Likewise.
22085         * m4/bison.m4 (gl_BISON): Likewise.
22086         Suggested by Bruno Haible.
22087
22088 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22089
22090         more ports to Solaris tr, which needs [] around ranges
22091         * gnulib-tool: Solaris tr needs [] around ranges.
22092         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22093         * tests/test-pipe-filter-gi1.c (main): Likewise.
22094         * tests/test-pipe-filter-ii1.c (main): Likewise.
22095
22096 2010-10-05  Eric Blake  <eblake@redhat.com>
22097
22098         bootstrap: fix Solaris regression
22099         * build-aux/bootstrap (check_versions): Solaris tr still needs []
22100         around ranges.
22101         Reported by Pádraig Brady.
22102
22103         bootstrap: work with pkg-config
22104         * build-aux/bootstrap (check_versions): Also transliterate - in
22105         prerequisite name.
22106         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
22107         prerequisites that were already found, to avoid confusion.
22108         Reported by Justin Clift.
22109
22110         faccessat: remove unused wrappers
22111         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
22112         presence of these wrappers dragged in -lgen on Solaris.
22113         Reported by Clemens Brogi; fix suggested by Paul Eggert.
22114
22115 2010-10-05  Jim Meyering  <meyering@redhat.com>
22116
22117         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
22118         * Makefile (sc_pragma_columns): New syntax-check rule.
22119
22120 2010-10-04  Bruno Haible  <bruno@clisp.org>
22121
22122         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
22123         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
22124         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
22125         Reported by Bruce Korb and Eric Blake.
22126
22127 2010-10-04  Bruno Haible  <bruno@clisp.org>
22128
22129         threadlib: Make option --with-libpth-prefix work.
22130         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
22131         use $LIBPTH, not just -lpth.
22132
22133 2010-10-04  Bruno Haible  <bruno@clisp.org>
22134
22135         Avoid line length limitation from HP NonStop system header files.
22136         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
22137         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
22138         * lib/ctype.in.h: Likewise.
22139         * lib/dirent.in.h: Likewise.
22140         * lib/errno.in.h: Likewise.
22141         * lib/fcntl.in.h: Likewise.
22142         * lib/float.in.h: Likewise.
22143         * lib/getopt.in.h: Likewise.
22144         * lib/iconv.in.h: Likewise.
22145         * lib/inttypes.in.h: Likewise.
22146         * lib/langinfo.in.h: Likewise.
22147         * lib/locale.in.h: Likewise.
22148         * lib/math.in.h: Likewise.
22149         * lib/netdb.in.h: Likewise.
22150         * lib/netinet_in.in.h: Likewise.
22151         * lib/poll.in.h: Likewise.
22152         * lib/pthread.in.h: Likewise.
22153         * lib/pty.in.h: Likewise.
22154         * lib/sched.in.h: Likewise.
22155         * lib/se-selinux.in.h: Likewise.
22156         * lib/search.in.h: Likewise.
22157         * lib/signal.in.h: Likewise.
22158         * lib/spawn.in.h: Likewise.
22159         * lib/stdarg.in.h: Likewise.
22160         * lib/stddef.in.h: Likewise.
22161         * lib/stdint.in.h: Likewise.
22162         * lib/stdio.in.h: Likewise.
22163         * lib/stdlib.in.h: Likewise.
22164         * lib/string.in.h: Likewise.
22165         * lib/strings.in.h: Likewise.
22166         * lib/sys_file.in.h: Likewise.
22167         * lib/sys_ioctl.in.h: Likewise.
22168         * lib/sys_select.in.h: Likewise.
22169         * lib/sys_socket.in.h: Likewise.
22170         * lib/sys_stat.in.h: Likewise.
22171         * lib/sys_time.in.h: Likewise.
22172         * lib/sys_times.in.h: Likewise.
22173         * lib/sys_utsname.in.h: Likewise.
22174         * lib/sys_wait.in.h: Likewise.
22175         * lib/sysexits.in.h: Likewise.
22176         * lib/termios.in.h: Likewise.
22177         * lib/time.in.h: Likewise.
22178         * lib/unistd.in.h: Likewise.
22179         * lib/wchar.in.h: Likewise.
22180         * lib/wctype.in.h: Likewise.
22181         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
22182         * modules/ctype (Makefile.am): Likewise.
22183         * modules/dirent (Makefile.am): Likewise.
22184         * modules/errno (Makefile.am): Likewise.
22185         * modules/fcntl-h (Makefile.am): Likewise.
22186         * modules/float (Makefile.am): Likewise.
22187         * modules/getopt-posix (Makefile.am): Likewise.
22188         * modules/iconv-h (Makefile.am): Likewise.
22189         * modules/inttypes (Makefile.am): Likewise.
22190         * modules/langinfo (Makefile.am): Likewise.
22191         * modules/locale (Makefile.am): Likewise.
22192         * modules/math (Makefile.am): Likewise.
22193         * modules/netdb (Makefile.am): Likewise.
22194         * modules/netinet_in (Makefile.am): Likewise.
22195         * modules/poll-h (Makefile.am): Likewise.
22196         * modules/pthread (Makefile.am): Likewise.
22197         * modules/pty (Makefile.am): Likewise.
22198         * modules/sched (Makefile.am): Likewise.
22199         * modules/search (Makefile.am): Likewise.
22200         * modules/selinux-h (Makefile.am): Likewise.
22201         * modules/signal (Makefile.am): Likewise.
22202         * modules/spawn (Makefile.am): Likewise.
22203         * modules/stdarg (Makefile.am): Likewise.
22204         * modules/stddef (Makefile.am): Likewise.
22205         * modules/stdint (Makefile.am): Likewise.
22206         * modules/stdio (Makefile.am): Likewise.
22207         * modules/stdlib (Makefile.am): Likewise.
22208         * modules/string (Makefile.am): Likewise.
22209         * modules/strings (Makefile.am): Likewise.
22210         * modules/sys_file (Makefile.am): Likewise.
22211         * modules/sys_ioctl (Makefile.am): Likewise.
22212         * modules/sys_select (Makefile.am): Likewise.
22213         * modules/sys_socket (Makefile.am): Likewise.
22214         * modules/sys_stat (Makefile.am): Likewise.
22215         * modules/sys_time (Makefile.am): Likewise.
22216         * modules/sys_times (Makefile.am): Likewise.
22217         * modules/sys_utsname (Makefile.am): Likewise.
22218         * modules/sys_wait (Makefile.am): Likewise.
22219         * modules/sysexits (Makefile.am): Likewise.
22220         * modules/termios (Makefile.am): Likewise.
22221         * modules/time (Makefile.am): Likewise.
22222         * modules/unistd (Makefile.am): Likewise.
22223         * modules/wchar (Makefile.am): Likewise.
22224         * modules/wctype (Makefile.am): Likewise.
22225
22226 2010-10-04  Bruno Haible  <bruno@clisp.org>
22227
22228         read-file tests: Avoid a test failure on NonStop Kernel.
22229         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
22230         a regular file.
22231         Reported by Joachim Schmitz <schmitz@hp.com>.
22232
22233 2010-10-03  Bruno Haible  <bruno@clisp.org>
22234
22235         gnulib-tool: Fixes for --create-testdir with --libtool.
22236         * gnulib-tool (func_get_automake_snippet): Don't augment
22237         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
22238         an executable.
22239         (func_create_testdir): Handle module 'alloca' like func_import.
22240         Reported by Bruce Korb <bruce.korb@gmail.com>.
22241
22242 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
22243
22244         Avoid some lines longer than 80 characters.
22245         * lib/stdint.in.h: Break long comment lines.
22246         * lib/math.in.h: Likewise.
22247         (_GL_NUM_UINT_WORDS): New macro, for readability.
22248         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
22249         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
22250         * lib/stdlib.in.h: Likewise.
22251         * lib/spawn.in.h: Likewise.
22252         * lib/sys_socket.in.h: Update an URL.
22253         * lib/sys_stat.in.h: Break long line.
22254
22255 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
22256
22257         Improve pmccabe2html.
22258         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
22259         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
22260         when the sources change. Remove the line in the HTML about "Used
22261         ranges" (which implied that there might be other unused ranges),
22262         rename "Resume" to "Summary" (easier to understand for more users).
22263         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
22264         styles, and some unnecessary blank lines.
22265
22266 2010-10-03  Bruno Haible  <bruno@clisp.org>
22267             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
22268
22269         acl: Add support for ACLs on NonStop Kernel.
22270         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
22271         Check whether the function aclsort() exists.
22272         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
22273         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
22274         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22275         (acl_nontrivial [HAVE_ACLSORT]: New function.
22276         (file_has_acl): Implement for NonStop Kernel.
22277         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22278         (qset_acl): Implement for NonStop Kernel.
22279         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
22280         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22281         (main): Implement for NonStop Kernel.
22282         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
22283         Kernel. Handle this flavor.
22284         * tests/test-set-mode-acl.sh: Likewise.
22285         * tests/test-copy-acl.sh: Likewise.
22286         * tests/test-copy-file.sh: Likewise.
22287
22288 2010-10-03  Bruno Haible  <bruno@clisp.org>
22289
22290         Info about ACLs on NonStop Kernel.
22291         * doc/acl-resources.txt: Add info about NonStop Kernel.
22292         References by Joachim Schmitz <schmitz@hp.com>.
22293
22294 2010-10-02  Bruno Haible  <bruno@clisp.org>
22295
22296         Define missing EDQUOT on NonStop Kernel.
22297         * lib/errno.in.h (EDQUOT): Assign a value if missing.
22298         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
22299         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
22300         missing.
22301         * doc/posix-headers/errno.texi: Mention the NSK bug.
22302         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
22303         Reported by Joachim Schmitz <schmitz@hp.com>.
22304
22305 2010-10-02  Bruno Haible  <bruno@clisp.org>
22306
22307         Update doc for POSIX:2008.
22308         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
22309         Update URL of POSIX specification.
22310
22311 2010-10-02  Bruno Haible  <bruno@clisp.org>
22312
22313         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
22314         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
22315         from gnulib, not from Automake.
22316
22317 2010-10-02  Bruno Haible  <bruno@clisp.org>
22318
22319         New module 'system-posix'.
22320         * modules/system-posix: New file.
22321         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
22322         module is present.
22323         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22324         GNULIB_SYSTEM_POSIX.
22325         * modules/stdlib (Depends-on): Remove sys_wait.
22326         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
22327         * doc/posix-functions/system.texi: Mention the new module.
22328         * doc/posix-headers/stdlib.texi: Likewise.
22329         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
22330         define test_sys_wait_macros to a no-op.
22331         Reported by Sam Steingold <sds@gnu.org>.
22332
22333 2010-09-30  Bruno Haible  <bruno@clisp.org>
22334
22335         More renaming from 'getdate' to 'get_date'.
22336         * doc/get_date.texi: Renamed from doc/getdate.texi.
22337         * modules/get_date (Files): Update.
22338         * MODULES.html.sh (Date and time <time.h>): Update.
22339         * DEPENDENCIES: Update.
22340         * gnulib-tool: Update comment.
22341         * m4/bison.m4 (gl_BISON): Likewise.
22342         * m4/get_date.m4 (gl_GET_DATE): Likewise.
22343
22344 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
22345
22346         bootstrap: support ACLOCAL_FLAGS during aclocal
22347         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
22348         can add additional -I dir for third-party .m4 files.
22349
22350 2010-09-30  Eric Blake  <eblake@redhat.com>
22351
22352         bootstrap: use glibtoolize on MacOS
22353         * build-aux/bootstrap (check_versions): Convert libtool into
22354         libtoolize.
22355         (tool search): Move libtool check earlier, and look for
22356         glibtoolize for MacOS.
22357         (gnulib_tool_options): Auto-add --libtool when appropriate.
22358         Reported by Justin Clift.
22359
22360         poll: fix typo that broke test on MacOS
22361         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
22362         Reported by Justin Clift.
22363
22364         getdate: rename to get_date
22365         Note: getdate.h is not renamed, to minimize client impact.
22366         * modules/getdate: Mark obsolete.  Move old contents...
22367         * modules/get_date: ...to new module name.
22368         * modules/getdate-tests: Move...
22369         * modules/get_date-tests: ...here.
22370         * m4/getdate.m4: Move...
22371         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
22372         * lib/getdate.y: Move...
22373         * lib/get_date.y: ...here.
22374         * tests/test-getdate.c: Move...
22375         * tests/test-get_date.c: ...here.
22376         * doc/posix-functions/getdate.texi (getdate): Update name.
22377         * NEWS: Mention the change.
22378
22379 2010-09-29  Bruno Haible  <bruno@clisp.org>
22380
22381         Separate the module 'waitpid' from the module 'sys_wait'.
22382         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
22383         present.
22384         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
22385         gl_MODULE_INDICATOR_FOR_TESTS.
22386         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
22387         * modules/sys_wait (Depends-on): Remove waitpid.
22388         (Makefile.am): Substitute GNULIB_WAITPID.
22389         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
22390         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
22391         signature only if the 'waitpid' module is present.
22392         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
22393         * NEWS: Mention the change.
22394         * modules/grantpt (Depends-on): Add waitpid.
22395         * modules/wait-process (Depends-on): Likewise.
22396
22397 2010-09-29  Bruno Haible  <bruno@clisp.org>
22398
22399         More tests for module 'sys_wait'.
22400         * modules/sys_wait-c++-tests: New file.
22401         * tests/test-sys_wait-c++.cc: New file.
22402         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
22403         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22404
22405 2010-09-29  Bruno Haible  <bruno@clisp.org>
22406
22407         New module 'waitpid'.
22408         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
22409         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
22410         Don't include <process.h>.
22411         (waitpid): Declare only, using modern idiom.
22412         * m4/waitpid.m4: New file.
22413         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
22414         * modules/waitpid: New file.
22415         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
22416         (Makefile.am): Update.
22417         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22418
22419 2010-09-28  Bruno Haible  <bruno@clisp.org>
22420
22421         poll: Assume ANSI C.
22422         * lib/poll.c (poll): Use an ANSI C declaration.
22423
22424 2010-09-28  Bruno Haible  <bruno@clisp.org>
22425
22426         poll-h: Create poll.h on all platforms.
22427         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
22428         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
22429         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
22430         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
22431         (gl_REPLACE_POLL_H): Don't set POLL_H.
22432         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
22433         * modules/poll-h (Depends-on): Add include_next.
22434         (Makefile.am): Create poll.h unconditionally. Substitute also
22435         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
22436
22437 2010-09-28  Bruno Haible  <bruno@clisp.org>
22438
22439         Tests for module 'poll-h'.
22440         * modules/poll-h-c++-tests: New file.
22441         * tests/test-poll-h-c++.cc: New file.
22442
22443         Tests for module 'poll-h'.
22444         * modules/poll-h-tests: New file.
22445         * tests/test-poll-h.c: New file.
22446
22447 2010-09-28  Bruno Haible  <bruno@clisp.org>
22448
22449         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
22450         * modules/poll-h (Depends-on): Add 'extensions'.
22451
22452 2010-09-28  Bruno Haible  <bruno@clisp.org>
22453
22454         New module 'poll-h'.
22455         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
22456         (poll): Use modern idiom.
22457         * modules/poll-h: New file.
22458         * modules/poll (Files): Remove lib/poll.in.h.
22459         (Depends-on): Add poll-h.
22460         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
22461         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
22462         * m4/poll_h.m4: New file.
22463         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
22464         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
22465         and invoke gl_REPLACE_POLL_H.
22466         * lib/poll.c: Use common idiom.
22467         * tests/test-poll.c: Likewise.
22468         * doc/posix-headers/poll.texi: Mention the poll-h module.
22469         Suggested by Eric Blake.
22470
22471 2010-09-26  Bruno Haible  <bruno@clisp.org>
22472
22473         sys_wait: Implement WSTOPSIG.
22474         * lib/sys_wait.in.h (WSTOPSIG): New macro.
22475         Reported by Simon Josefsson.
22476
22477 2010-09-26  Simon Josefsson  <simon@josefsson.org>
22478
22479         stdlib, sys_wait: Avoid compilation error on mingw.
22480         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
22481
22482 2010-09-26  Bruno Haible  <bruno@clisp.org>
22483
22484         stdlib tests: Avoid code duplication.
22485         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
22486         * modules/sys_wait-tests (Files): Likewise.
22487         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
22488         * tests/test-stdlib.c: Include test-sys_wait.h.
22489         (main): Invoke test_sys_wait_macros.
22490         * tests/test-sys_wait.c: Include test-sys_wait.h.
22491         (main): Invoke test_sys_wait_macros.
22492
22493 2010-09-25  Simon Josefsson  <simon@josefsson.org>
22494
22495         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
22496         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
22497         sure Windows sockets are working before calling getaddrinfo.
22498         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
22499         * doc/gnulib.texi (Windows sockets): Fix typo.
22500
22501 2010-09-25  Bruno Haible  <bruno@clisp.org>
22502
22503         Tests for module 'regex-quote'.
22504         * modules/regex-quote-tests: New file.
22505         * tests/test-regex-quote.c: New file.
22506
22507         New module 'regex-quote'.
22508         * lib/regex-quote.h: New file.
22509         * lib/regex-quote.c: New file.
22510         * modules/regex-quote: New file.
22511         Suggested by Reuben Thomas <rrt@sc3d.org>.
22512
22513 2010-09-24  Bruno Haible  <bruno@clisp.org>
22514
22515         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
22516         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
22517
22518 2010-09-23  Bruno Haible  <bruno@clisp.org>
22519
22520         setenv: Relax license.
22521         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
22522         Blake.
22523         Requested by Eric Blake.
22524
22525 2010-09-22  Bruno Haible  <bruno@clisp.org>
22526
22527         termios: Relax license.
22528         * modules/termios (License): Change to LGPLv2+.
22529         Requested by Eric Blake.
22530
22531 2010-09-22  Bruno Haible  <bruno@clisp.org>
22532
22533         threadlib: Allow the package to change the default to 'no'.
22534         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
22535         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
22536         Reported by Paul Eggert.
22537
22538 2010-09-22  Pádraig Brady  <P@draigbrady.com>
22539             Bruno Haible  <bruno@clisp.org>
22540
22541         Fix endless loop in mbmemcasecoll.
22542         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
22543         byte.
22544         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
22545
22546 2010-09-22  Bruno Haible  <bruno@clisp.org>
22547
22548         Tests for module 'memcoll'.
22549         * modules/memcoll-tests: New file.
22550         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
22551
22552         memcoll, xmemcoll: Clarify size vs. length.
22553         * modules/memcoll.c (memcoll0): Clarify specification.
22554         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
22555         passed to collate_error.
22556
22557 2010-09-22  Bruno Haible  <bruno@clisp.org>
22558
22559         Tests for module 'memcasecmp'.
22560         * modules/memcasecmp-tests: New file.
22561         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
22562
22563 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22564
22565         * lib/pthread.in.h: Add split double-inclusion guard, and include
22566         system <pthread.h> if there is one.  Use @@-style as in other
22567         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
22568         pthread.h doesn't.
22569         (pthread_mutexattr_destroy, pthread_mutexattr_init):
22570         (pthread_mutexattr_settype, pthread_mutex_trylock):
22571         New static inline functions, if there's no system <pthread.h>.
22572         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
22573         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
22574         Approximate with mutexes if the system lacks spinlocks, as in
22575         MacOS.
22576         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
22577         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
22578         @@-style.  Check for spinlocks separately.
22579         (gl_PTHREAD_DEFAULTS): New macro.
22580         * modules/pthread: Redo to use a more typical style for in.h files.
22581
22582 2010-09-21  Eric Blake  <eblake@redhat.com>
22583
22584         net_if: enhance tests
22585         * tests/test-net_if.c (main): Move signature checks earlier.
22586         Print failures to stderr.
22587         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
22588         Document the bug that we do not yet fix.
22589
22590 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22591
22592         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
22593         about gnulib, not GSS.
22594
22595 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22596
22597         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
22598         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
22599         for Emacs.
22600         * build-aux/pmccabe2html: Make Makefile.am example code more
22601         cut-and-paste friendly.
22602
22603 2010-09-21  Simon Josefsson  <simon@josefsson.org>
22604
22605         * tests/test-net_if.c: New file.
22606         * modules/net_if-tests: New file.
22607
22608 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22609
22610         pthread: add pthread_spin_destroy
22611         * lib/pthread.in.h (pthread_spin_destroy): New function.
22612
22613 2010-09-19  Bruno Haible  <bruno@clisp.org>
22614
22615         gnulib-tool: Fix --help output.
22616         * gnulib-tool (func_usage): Fix help message.
22617         Reported by Reuben Thomas <rrt@sc3d.org>.
22618
22619 2010-09-18  Jim Meyering  <meyering@redhat.com>
22620
22621         maint.mk: avoid unexpanded \n in two diagnostics
22622         * top/maint.mk (sc_prohibit_always_true_header_tests):
22623         Don't use a literal \n in a halt=... assignment.  It would not be
22624         expanded, and the two \n bytes would appear in the diagnostic output
22625         rather than the desired newline.  Use halt=$$(printf ... instead.
22626         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22627
22628 2010-09-18  Bruno Haible  <bruno@clisp.org>
22629
22630         netinet_in: Doc tweak.
22631         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
22632         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22633
22634 2010-09-18  Jim Meyering  <meyering@redhat.com>
22635
22636         init.sh: correct an outdated comment
22637         * tests/init.sh (create_exe_shims_):  s/function/alias/
22638
22639         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
22640         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
22641         a file named "*.exe" is removed between the glob expansion and the
22642         processing of that oddly named file.
22643
22644 2010-09-17  Eric Blake  <eblake@redhat.com>
22645
22646         mirbsd: add some more support
22647         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
22648         in BSD family.
22649         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
22650         devices as OpenBSD.
22651         * m4/host-os.m4 (mirbsd): Add MirBSD.
22652
22653         tests: fix unportable assumption on sys/wait.h
22654         * tests/test-sys_wait.c (main): Relax test.
22655         * tests/test-stdlib.c (main): Likewise.
22656
22657         init.sh: accomodate directory with no .exes
22658         * tests/init.sh: Accomodate directory containing only scripts.
22659
22660         tests: avoid compiler warning
22661         * tests/test-stdlib.c (main): Use the variable.
22662
22663         fdutimens, fdutimensat: update signature, again
22664         * lib/utimens.h (gl_futimens): Delete, and move signature...
22665         (fdutimens): ...here.
22666         (fdutimensat): Rearrange signature.
22667         (lutimensat): Rename variable for clarity.
22668         * lib/fdutimensat.c (fdutimensat): Update signature.
22669         * lib/utimens.c (fdutimens): Likewise.
22670         (gl_futimens): Delete.
22671         (utimens, lutimens): Update callers.
22672         * lib/futimens.c (futimens): Likewise.
22673         * tests/test-fdutimensat.c: Likewise.
22674         * tests/test-utimens.c: Likewise.
22675         * tests/test-futimens.h: Update comment.
22676         * NEWS: Mention this.
22677         Suggested by Paul Eggert.
22678
22679 2010-09-17  Bruno Haible  <bruno@clisp.org>
22680
22681         Take over the maintenance of some older macros from Autoconf.
22682         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
22683         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
22684         GNU Autoconf.
22685         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
22686         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
22687
22688 2010-09-17  Eric Blake  <eblake@redhat.com>
22689
22690         fdutimensat: drop atflag validation
22691         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
22692         with valid fd, to close a race scenario where futimens is
22693         unsupported and FILE was replaced by a symlink.
22694         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
22695         accordingly.
22696         Suggested by Paul Eggert.
22697
22698 2010-09-16  Bruno Haible  <bruno@clisp.org>
22699
22700         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
22701         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
22702
22703 2010-09-16  Bruno Haible  <bruno@clisp.org>
22704
22705         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
22706         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
22707         login_tty exists.
22708         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22709
22710 2010-09-16  Bruno Haible  <bruno@clisp.org>
22711
22712         login_tty: Make the replacement code work on BSD systems.
22713         * lib/login_tty.c: Include <sys/ioctl.h>.
22714         (login_tty): Use ioctl TIOCSCTTY when available.
22715         * modules/login_tty (Depends-on): Add sys_ioctl.
22716         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22717
22718 2010-09-16  Bruno Haible  <bruno@clisp.org>
22719
22720         login_tty: Stricter unit test.
22721         * modules/login_tty-tests (Depends-on): Add tcgetsid.
22722         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
22723         and tcgetsid() after login_tty.
22724         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22725
22726 2010-09-16  Bruno Haible  <bruno@clisp.org>
22727
22728         New module 'tcgetsid'.
22729         * lib/tcgetsid.c: New file.
22730         * m4/tcgetsid.m4: New file.
22731         * modules/tcgetsid: New file.
22732         * modules/termios (Depends-on): Add c++defs, warn-on-use.
22733         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
22734         GNULIB_TCGETSID, HAVE_TCGETSID.
22735         * lib/termios.in.h: Include <sys/types.h>.
22736         (tcgetsid): New declaration.
22737         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
22738         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
22739         * doc/posix-functions/tcgetsid.texi: Mention the new module.
22740         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
22741
22742 2010-09-16  Bruno Haible  <bruno@clisp.org>
22743
22744         Tests for module 'termios'.
22745         * modules/termios-c++-tests: New file.
22746         * modules/termios-tests: New file.
22747         * tests/test-termios-c++.cc: New file.
22748         * tests/test-termios.c: New file.
22749
22750         New module 'termios'.
22751         * modules/termios: New file.
22752         * lib/termios.in.h: New file.
22753         * m4/termios_h.m4: New file.
22754         * doc/posix-headers/termios.texi: Mention the new module.
22755
22756 2010-09-16  Eric Blake  <eblake@redhat.com>
22757
22758         fdutimensat: add an atflag parameter
22759         * lib/fdutimensat.c (fdutimensat): Add new parameter.
22760         * lib/utimens.h (fdutimensat): Update prototype.
22761         * tests/test-fdutimensat.c: Adjust test to match.
22762         * NEWS: Document the change.
22763         Suggested by Paul Eggert.
22764
22765 2010-09-16  Bruno Haible  <bruno@clisp.org>
22766
22767         Fix typos in comments.
22768         * lib/striconveh.h: Fix typo in comment.
22769         * lib/login_tty.c (login_tty): Likewise.
22770
22771 2010-09-15  Bruno Haible  <bruno@clisp.org>
22772
22773         stdlib: clarify MirBSD WEXITSTATUS bug
22774         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
22775         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22776
22777 2010-09-15  Eric Blake  <eblake@redhat.com>
22778
22779         stdlib: work around MirBSD WEXITSTATUS bug
22780         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
22781         * modules/stdlib (Depends-on): Add sys_wait.
22782         * tests/test-sys_wait.c (main): Enhance test.
22783         * tests/test-stdlib.c (main): Likewise.
22784         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
22785
22786         docs: mention MacOS issue with WEXITSTATUS(constant)
22787         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
22788         issue.
22789         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22790
22791         strnlen: add tests
22792         * modules/strnlen-tests: New file.
22793         * tests/test-strnlen.c: Likewise.
22794
22795 2010-09-14  Bruno Haible  <bruno@clisp.org>
22796
22797         unistr/base: Avoid link errors when module 'libunistring' is also used.
22798         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
22799         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
22800         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
22801         Declare also when HAVE_LIBUNISTRING is set.
22802         Reported by Pádraig Brady <P@draigbrady.com>.
22803
22804 2010-09-14  Eric Blake  <eblake@redhat.com>
22805
22806         test-rawmemchr: make more robust
22807         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
22808         (Depends-on, configure.ac): Add needed prerequisites to use it.
22809         * modules/memchr-tests (Files, Depends-on, configure.ac):
22810         Likewise, to avoid implicit reliance on memchr module prereqs.
22811         * tests/test-memchr.c (main): Ensure proper masking.
22812         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
22813         reads.
22814
22815         memchr: detect glibc Alpha bug
22816         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
22817         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
22818         Alpha.
22819         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
22820         * tests/test-memchr.c (main): Enhance test.
22821         Reported by Nelson H. F. Beebe.
22822
22823 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22824
22825         fts, getcwd, glob: audit for dirfd returning -1
22826         * lib/fts.c (opendir): Remove #define; no longer used.
22827         (opendirat): New arg PDIR_FD.  All callers changed.
22828         (fts_build, _opendir2): Use new opendirat to avoid the need for
22829         dirfd, or for checking whether dirfd returns a negative value.
22830         Don't use opendir; always use openat followed by fdopendir.
22831         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
22832         it.
22833         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
22834         returns -1 here.
22835         * modules/fts (Depends-on): Remove dirfd.
22836         * modules/getcwd (Depends-on): Likewise.
22837
22838 2010-09-13  Eric Blake  <eblake@redhat.com>
22839
22840         float: fix broken MirBSD header
22841         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
22842         * doc/posix-headers/float.texi (float.h): Document it.
22843
22844 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22845
22846         fts: use O_NOFOLLOW to avoid race condition when opening a directory
22847         * lib/fts.c (opendirat): New arg extra_flags.
22848         (__opendir2): Use it to avoid following symlinks when opening
22849         a directory, if symlinks are not supposed to be followed.  See
22850         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
22851
22852         fdopendir: preserve argument fd before returning
22853         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
22854         (fdopendir_with_dup, fd_clone_opendir): New static functions.
22855         (fdopendir): Use them, arranging for FD to be open to the same
22856         directory that it was when it started.  (It might be temporarily
22857         closed while fdopendir is running, so this not thread- or
22858         signal-safe.)  Be careful to do the right thing even when file
22859         descriptors are scarce and dup fails with errno == EMFILE.  See
22860         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
22861
22862 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
22863
22864         regex: Pass the system regex if its only problem is 32-bit regoff_t.
22865         * NEWS: Document change.
22866         * m4/regex.m4: Disable test for regoff_t size.
22867
22868 2010-09-13  Jim Meyering  <meyering@redhat.com>
22869
22870         fts: don't operate on an invalid file descriptor after failed dup
22871         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
22872         negative file descriptor.
22873
22874 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22875
22876         savedir: add streamsavedir, deprecate fdsavedir
22877         * NEWS: Mention deprecation of fdsavedir.
22878         * lib/savedir.c (streamsavedir): New extern function, whose name
22879         ends in "savedir" to be consistent with the others.  This differs
22880         from savedirstream in that it doesn't close its argument.  The
22881         next version of GNU tar will use this instead of fdsavedir, to
22882         avoid some race conditions and conserve file descriptors.
22883         (savedirstream): Reimplement as a wrapper around streamsavedir.
22884         (fdsavedir): Add a comment deprecating this function.  As far as
22885         I know, only GNU tar used it, and GNU tar doesn't need it any more.
22886         * lib/savedir.h (streamsavedir): New decl.
22887         (fdsavedir): Add a comment deprecating this.
22888
22889 2010-09-10  Bruno Haible  <bruno@clisp.org>
22890
22891         langinfo: Fix last commit.
22892         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
22893         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
22894         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22895
22896 2010-09-10  Bruno Haible  <bruno@clisp.org>
22897
22898         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
22899         * lib/progreloc.c (O_EXEC): Define fallback.
22900
22901 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
22902
22903         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
22904         * NEWS: Document recent changes to fcntl-h.
22905         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
22906         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
22907         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
22908         Similarly for O_SEARCH; this last was already true, but not documented.
22909         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
22910         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
22911         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
22912         Likewise.
22913         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
22914         is zero, not whether it is defined.
22915         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
22916         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
22917         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
22918
22919 2010-09-10  Bruno Haible  <bruno@clisp.org>
22920
22921         langinfo, nl_langinfo: Fix for IRIX 5.3.
22922         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
22923         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
22924         HAVE_LANGINFO_YESEXPR.
22925         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
22926         HAVE_LANGINFO_YESEXPR.
22927         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
22928         HAVE_LANGINFO_T_FMT_AMPM is 0.
22929         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
22930         HAVE_LANGINFO_YESEXPR is 0.
22931         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
22932         NOEXPR.
22933         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
22934         * doc/posix-functions/nl_langinfo.texi: Likewise.
22935         Reported by Eric Blake.
22936
22937 2010-09-10  Bruno Haible  <bruno@clisp.org>
22938
22939         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
22940         * doc/glibc-functions/login_tty.texi: Mention the include file problem
22941         on FreeBSD 8.0 and OpenBSD 4.6.
22942         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
22943         * m4/pty_h.m4 (gl_PTY_H): Likewise.
22944         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
22945         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
22946         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
22947         ac_includes_default.
22948         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22949
22950 2010-09-09  Eric Blake  <eblake@redhat.com>
22951
22952         strsignal: work around NetBSD bug
22953         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
22954         * lib/string.in.h (includes): Likewise.
22955         * doc/posix-functions/strsignal.texi (strsignal): Document the
22956         bug.
22957         Reported by Nelson H. F. Beebe.
22958
22959         gnulib-tool: work with NetBSD /bin/sh
22960         * gnulib-tool (func_cache_var, func_cache_lookup_module)
22961         (func_get_description, func_get_comment, func_get_status)
22962         (func_get_notice, func_get_applicability, func_get_filelist)
22963         (func_get_dependencies, func_get_autoconf_early_snippet)
22964         (func_get_autoconf_snippet, func_get_automake_snippet)
22965         (func_get_include_directive, func_get_link_directive)
22966         (func_get_license, func_get_maintainer, func_import): Avoid
22967         shell syntax errors from parsing syntax extensions.
22968
22969 2010-09-09  Bruno Haible  <bruno@clisp.org>
22970
22971         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22972         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
22973         a reliable way to determine whether the 'alias' command works.
22974
22975 2010-09-08  Jim Meyering  <meyering@redhat.com>
22976
22977         init.sh: penalize a set-x-impaired shell; don't disqualify it
22978         * tests/init.sh: Too many shells corrupt application stderr when
22979         you set -x, so we can't afford to disqualify them, since at least
22980         on Irix-6.5, that would disqualify all bourne shells.
22981         Instead, use a two-pass approach.
22982         On the first pass, try to find a shell that meets the stricter
22983         condition that set -x does not corrupt stderr.
22984         If no shell meets the stricter condition, retest each candidate
22985         shell, but without that extra condition.  Finally, when
22986         VERBOSE=yes is requested and set -x might cause trouble, simply
22987         issue a warning and refrain from enabling debug output.
22988
22989 2010-09-08  Eric Blake  <eblake@redhat.com>
22990
22991         unsetenv: fix OpenBSD bug
22992         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
22993         * doc/posix-functions/unsetenv.texi (unsetenv): Update
22994         documentation.
22995         Reported by Jim Meyering.
22996
22997         strtod: work around IRIX 6.5 bug
22998         * lib/strtod.c (strtod): Reparse number on shorter string if
22999         exponent parse was invalid.
23000         * tests/test-strtod.c (main): Add check for "0x1p 2".
23001         Reported by Tom G. Christensen.
23002
23003         getopt: optimize previous patch
23004         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
23005         empty variable.  Speed up awk script.
23006         Reported by Paolo Bonzini.
23007
23008 2010-09-08  Jim Meyering  <meyering@redhat.com>
23009
23010         test.sh: disqualify shells for which set -x corrupts stderr
23011         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
23012         and OpenBSD 4.7.  They make it so with "set -x", environment settings
23013         appear in stderr output.  For example, this command:
23014             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
23015         prints "P=1" on those two systems:
23016
23017 2010-09-08  Bruno Haible  <bruno@clisp.org>
23018
23019         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23020         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
23021         commands, because some shells ignore redirections when there is an
23022         error in the command lookup.
23023         Reported by Eric Blake.
23024
23025 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
23026
23027         * lib/regex.h: Fix a mention of `regex_compile' (should be
23028         `re_compile_pattern').
23029         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
23030         (re_set_registers): Correct name of parameter in comment.
23031
23032         * doc/regex.texi: Add documentation for missing syntax flags.
23033         Remove commented-out documentation of defunct syntax option
23034         RE_NO_EMPTY_ALTS.
23035         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
23036         Add documentation of re_set_registers.
23037         Document trick to re-use a pattern buffer by setting fastmap manually.
23038         Update documentation of struct re_pattern_buffer per public members.
23039         Uncomment documentation of equivalence class operators and
23040         collating symbol operators, since they are now implemented,
23041         Explain leftmost-longest matching in relation to alternatives.
23042         Tidy documentation of substring matching.
23043         Remove POSIX documentation, which is done better in
23044         glibc, and refer the reader there. Keep BSD API documentation, as
23045         that is not readily available elsewhere.
23046
23047 2010-09-07  Eric Blake  <eblake@redhat.com>
23048
23049         getopt: handle POSIXLY_CORRECT set but not exported
23050         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
23051         export state of POSIXLY_CORRECT, due to bash set -o posix.
23052         Reported by Dustin J. Mitchell.
23053
23054 2010-09-05  Bruno Haible  <bruno@clisp.org>
23055
23056         gnulib-tool: Highlight the changed options.
23057         * gnulib-tool (func_usage): Display the --import, --add-import,
23058         --remove-import explanations in bold font.
23059
23060 2010-09-06  Karl Berry  <karl@gnu.org>
23061
23062         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
23063
23064 2010-09-05  Bruno Haible  <bruno@clisp.org>
23065
23066         uniwidth/width: Update comment.
23067         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
23068         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
23069
23070 2010-09-05  Bruno Haible  <bruno@clisp.org>
23071
23072         isinf, isnan: Relax license.
23073         * modules/isinf (License): Change from GPL to LGPL, with consent from
23074         Ben Pfaff.
23075         * modules/isnan (License): Likewise.
23076         Requested by Ludovic Courtès.
23077
23078 2010-09-04  Bruno Haible  <bruno@clisp.org>
23079
23080         gnulib-tool: Help migration from --import to --add-import or --update.
23081         * gnulib-tool: Emit a verbose error message when --import is used
23082         without any module name.
23083
23084 2010-09-04  Bruno Haible  <bruno@clisp.org>
23085
23086         Update doc about gnulib-tool.
23087         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
23088         'gnulib-tool --update' in more detail.
23089         Reported by Eric Blake.
23090
23091 2010-09-04  Bruno Haible  <bruno@clisp.org>
23092
23093         gnulib-tool: Change --import. New options --add/remove-import.
23094         * gnulib-tool: New options --add-import, --remove-import.
23095         (func_usage): Document them.
23096         (have_associative): Define always.
23097         (func_import): In import mode, don't merge the specified settings with
23098         the cached settings. Implement remove-import mode.
23099         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
23100         Explain when to use them versus --import.
23101         (Simple update): Use --add-import instead of --import.
23102         * NEWS: Mention the change.
23103
23104 2010-09-04  Bruno Haible  <bruno@clisp.org>
23105
23106         * doc/gnulib-tool.texi (Initial import): Update paragraph about
23107         separate gnulib.mk.
23108
23109 2010-09-04  Bruno Haible  <bruno@clisp.org>
23110
23111         gnulib-tool: Don't talk about CVS any more.
23112         * gnulib-tool (func_usage, func_import): Write "version control"
23113         instead of CVS.
23114
23115 2010-09-04  Jim Meyering  <meyering@redhat.com>
23116
23117         maint.mk: avoid obscure sc_copyright_check failure in coreutils
23118         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
23119         false positives (whose names may be ill-chosen) when searching
23120         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
23121         would cause a false-positive.
23122
23123         avoid coreutils "make distcheck" failure
23124         Coreutils tests with an absolute build directory name that contains
23125         a space.  Not quoting this directory name caused a failure.
23126         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
23127         * tests/test-vc-list-files-cvs.sh: Likewise.
23128
23129 2010-09-04  Bruno Haible  <bruno@clisp.org>
23130
23131         gnulib-tool: Avoid error when run in a package without Makefile.am.
23132         * gnulib-tool: When collecting the m4dirs in a package that does not
23133         have a Makefile.am, eliminate those directories that contain no
23134         gnulib-cache.m4. Fix expression that counts these directories.
23135
23136 2010-09-04  Bruno Haible  <bruno@clisp.org>
23137
23138         update-copyright test: Improve output when perl is missing or too old.
23139         * tests/test-update-copyright.sh: Move test of Perl version down after
23140         the test whether Perl exists. Provide an explanation relating Perl's
23141         error message to Automake's SKIP: message.
23142
23143 2010-09-04  Bruno Haible  <bruno@clisp.org>
23144
23145         Don't augment PATH in TESTS_ENVIRONMENT.
23146         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
23147         set abs_aux_dir instead of augmenting PATH.
23148         * modules/vc-list-files-tests (Makefile.am): Likewise.
23149         * tests/test-update-copyright.sh: Augment PATH here.
23150         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
23151         path_prepend_.
23152         * tests/test-vc-list-files-git.sh: Likewise.
23153
23154 2010-09-04  Jim Meyering  <meyering@redhat.com>
23155
23156         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
23157         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
23158
23159 2010-09-04  Bruno Haible  <bruno@clisp.org>
23160
23161         strdup: Fix compilation error in C++ mode.
23162         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
23163         the macro.
23164
23165 2010-09-04  Bruno Haible  <bruno@clisp.org>
23166
23167         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
23168         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
23169         macro into a function.
23170         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23171
23172 2010-09-04  Bruno Haible  <bruno@clisp.org>
23173
23174         Set PATH_SEPARATOR the same way autoconf does.
23175         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
23176         the value of PATH_SEPARATOR the same way autoconf-generated configure
23177         scripts do.
23178         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
23179         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23180
23181 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23182
23183         Set PATH_SEPARATOR the same way autoconf does.
23184         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
23185         the same way autoconf-generated configure scripts do.
23186         * posix-modules: Likewise.
23187
23188 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23189
23190         hash: fix safe_hasher const typo
23191         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
23192         const; otherwise, there is a type error later.
23193
23194 2010-09-02  Jim Meyering  <meyering@redhat.com>
23195
23196         test-update-copyright.sh: require perl 5.8.0
23197         * tests/test-update-copyright.sh: Require 5.8.0,
23198         which Tom G. Christensen has confirmed is adequate,
23199         while 5.6.1 is not.
23200
23201 2010-09-02  Eric Blake  <eblake@redhat.com>
23202
23203         tests: init.sh improvements for re-exec'ing with zsh
23204         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
23205         -vx through shell re-exec.
23206         Reported by Tom G. Christensen.
23207
23208         wctype: fix typo in previous commit
23209         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
23210         Reported by Ludovic Courtès.
23211
23212 2010-09-02  Jim Meyering  <meyering@redhat.com>
23213
23214         test-update-copyright.sh: skip test if Perl is too old
23215         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
23216         Reported by Tom G. Christensen.
23217
23218 2010-09-02  Bruno Haible  <bruno@clisp.org>
23219
23220         wctype: Avoid compilation error on IRIX 6.5.30.
23221         * lib/wctype.in.h (iswblank): Declare with a replacement if
23222         REPLACE_ISWBLANK is set.
23223         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
23224         declared. Set REPLACE_ISWBLANK.
23225         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
23226         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
23227         * doc/posix-headers/wctype.texi: Likewise.
23228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23229
23230 2010-09-01  Bruno Haible  <bruno@clisp.org>
23231
23232         New module 'socketlib'.
23233         * modules/socketlib: New file.
23234         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
23235         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
23236         * modules/sockets (Depends-on): Add socketlib.
23237         Suggested by Sam Steingold <sds@gnu.org>.
23238
23239 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
23240
23241         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
23242
23243         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
23244         when one needs search access to a directory but not read access.
23245         On systems where it is available, it works in some cases where
23246         O_RDONLY does not, namely on directories that are searchable but
23247         not readable, and which need only to be searchable.  If O_SEARCH
23248         is not available, fall back to the traditional method of using
23249         O_RDONLY.
23250
23251         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
23252         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
23253         when opening a directory that needs only to be searchable.
23254         * lib/chdir-safer.c (chdir_no_follow): Likewise.
23255         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
23256         * lib/openat-proc.c (openat_proc_name): Likewise.
23257         * lib/openat.c (openat_needs_fchdir): Likewise.
23258         * lib/save-cwd.c (save_cwd): Likewise.
23259         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
23260
23261 2010-08-28  Bruno Haible  <bruno@clisp.org>
23262
23263         New module 'host-cpu-c-abi'.
23264         * modules/host-cpu-c-abi: New file.
23265         * m4/host-cpu-c-abi.m4: New file, based on part of
23266         clisp/src/m4/general.m4.
23267         Requested by Sam Steingold <sds@gnu.org>.
23268
23269 2010-08-31  Eric Blake  <eblake@redhat.com>
23270         and Jim Meyering  <meyering@redhat.com>
23271
23272         hash: factor, and guard against misbehaving hasher function
23273         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
23274         of table->hasher's return value.  Also protect against a hash value
23275         so large that adding it to table->bucket results in a NULL pointer.
23276         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
23277         Use it in place of open-coded check-and-abort.
23278
23279 2010-08-30  Bruno Haible  <bruno@clisp.org>
23280
23281         hash: silence spurious clang warning
23282         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
23283         Reported by Eric Blake.
23284
23285 2010-08-30  Eric Blake  <eblake@redhat.com>
23286
23287         strstr, memmem, strcasestr: avoid leaked shell message
23288         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
23289         FreeBSD.
23290         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23291         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23292
23293         tests: silence clang warning
23294         * tests/test-malloca.c (do_allocation): Avoid dead store.
23295
23296 2010-08-29  Bruno Haible  <bruno@clisp.org>
23297
23298         gettext: Fix recent mistake.
23299         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
23300
23301 2010-08-29  Bruno Haible  <bruno@clisp.org>
23302
23303         selinux-h: Offer a --without-selinux option.
23304         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
23305         --without-selinux was specified, skip all tests and define
23306         HAVE_SELINUX_SELINUX_H to 0.
23307         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
23308         set LIB_SELINUX to empty.
23309         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
23310         gl_LIBSELINUX. If --without-selinux was specified, replace
23311         selinux/context.h.
23312         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
23313
23314 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23315             Bruno Haible  <bruno@clisp.org>
23316
23317         Make the module 'realloc-gnu' work again on AIX and OSF/1.
23318         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
23319         of HAVE_REALLOC.
23320         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
23321         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
23322         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
23323         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23324
23325 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23326             Bruno Haible  <bruno@clisp.org>
23327
23328         Make the module 'calloc-gnu' work again on AIX and OSF/1.
23329         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
23330         HAVE_CALLOC.
23331         * lib/xmalloc.c: Update accordingly.
23332         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
23333         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
23334         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
23335
23336 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23337             Bruno Haible  <bruno@clisp.org>
23338
23339         Make the module 'malloc-gnu' work again on AIX and OSF/1.
23340         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
23341         HAVE_MALLOC.
23342         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
23343         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
23344         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23345
23346 2010-08-29  Bruno Haible  <bruno@clisp.org>
23347
23348         Update modules list.
23349         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
23350         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
23351         (String handling <string.h>): Add astrxfrm.
23352         (File system functions): Add readlinkat.
23353
23354 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23355
23356         Tests for module 'realloc-gnu'.
23357         * modules/realloc-gnu-tests: New file.
23358         * tests/test-realloc-gnu.c: New file.
23359
23360         Tests for module 'calloc-gnu'.
23361         * modules/calloc-gnu-tests: New file.
23362         * tests/test-calloc-gnu.c: New file.
23363
23364         Tests for module 'malloc-gnu'.
23365         * modules/malloc-gnu-tests: New file.
23366         * tests/test-malloc-gnu.c: New file.
23367
23368 2010-08-28  Bruno Haible  <bruno@clisp.org>
23369
23370         Rename module 'realloc' -> 'realloc-gnu'.
23371         * modules/realloc-gnu: New file, copied from modules/realloc.
23372         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
23373         obsolete.
23374         * modules/mgetgroups (Depends-on): Update.
23375         * doc/posix-functions/realloc.texi: Update.
23376         * NEWS: Mention the change.
23377
23378         Rename module 'calloc' -> 'calloc-gnu'.
23379         * modules/calloc-gnu: New file, copied from modules/calloc.
23380         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
23381         obsolete.
23382         * doc/posix-functions/calloc.texi: Update.
23383         * NEWS: Mention the change.
23384
23385         Rename module 'malloc' -> 'malloc-gnu'.
23386         * modules/malloc-gnu: New file, copied from modules/malloc.
23387         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
23388         obsolete.
23389         * modules/argp (Depends-on): Update.
23390         * modules/regex (Depends-on): Update.
23391         * doc/posix-functions/malloc.texi: Update.
23392         * NEWS: Mention the change.
23393
23394 2010-08-28  Eric Blake  <eblake@redhat.com>
23395
23396         pread, pwrite: add missing dependency
23397         * modules/pread (Depends-on): Add extensions.
23398         * modules/pwrite (Depends-on): Likewise.
23399
23400 2010-08-28  Bruno Haible  <bruno@clisp.org>
23401
23402         unistr/u*-strchr: Fix tests dependencies.
23403         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
23404         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
23405         Reported by Ian Beckwith <ianb@erislabs.net>.
23406
23407 2010-08-28  Bruno Haible  <bruno@clisp.org>
23408
23409         read-file: Don't occupy too much unused memory.
23410         * lib/read-file.c (fread_file): Shrink the buffer at the end.
23411
23412 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
23413             Eric Blake  <eblake@redhat.com>
23414             Bruno Haible  <bruno@clisp.org>
23415
23416         read-file: Avoid memory reallocations with regular files.
23417         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
23418         (fread_file): With regular files, use the remaining length as the
23419         initial buffer size.  Check against overflow.
23420         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
23421         sys_stat.
23422
23423 2010-08-28  Bruno Haible  <bruno@clisp.org>
23424
23425         ftello: Relax license.
23426         * modules/ftello (License): Relax to LGPLv2+.
23427         Reported by Eric Blake.
23428
23429 2010-08-28  Bruno Haible  <bruno@clisp.org>
23430
23431         Avoid relocwrapper link errors due to gnulib replacement functions.
23432         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
23433         function.
23434         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23435
23436 2010-08-28  Bruno Haible  <bruno@clisp.org>
23437
23438         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
23439         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
23440         defined.
23441         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
23442         Suggested by Eric Blake.
23443
23444 2010-08-28  Bruno Haible  <bruno@clisp.org>
23445
23446         sys_socket, netdb: Ensure socklen_t gets defined.
23447         * modules/sys_socket (Depends-on): Add socklen.
23448         * modules/netdb (Depends-on): Likewise.
23449         * modules/getaddrinfo (Depends-on): Remove socklen.
23450         * modules/getsockopt (Depends-on): Likewise.
23451         * modules/setsockopt (Depends-on): Likewise.
23452         * tests/test-sys_socket.c: Check that socklen_t is defined.
23453         * tests/test-netdb.c: Likewise.
23454         * m4/socklen.m4: Update comments.
23455         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23456
23457 2010-08-27  Eric Blake  <eblake@redhat.com>
23458
23459         login_tty: add missing dependency
23460         * modules/login_tty (Depends-on): Add pty.
23461
23462 2010-08-26  Eric Blake  <eblake@redhat.com>
23463
23464         lib-symbol-versions: fix m4 quoting
23465         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
23466         format for AC_LINK_IFELSE.
23467
23468         glob: fix compile test
23469         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
23470
23471         btowc: fix missing file
23472         * modules/btowc (Files): Also ship locale-fr.m4.
23473
23474         lseek: fix link test
23475         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
23476         AC_LINK_IFELSE.
23477
23478         include_next: silence autoconf 2.68 warning
23479         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
23480         AC_COMPILE_IFELSE as special.
23481         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
23482         autoconf < 2.68.
23483
23484         acl: fix compilation test
23485         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
23486         AC_COMPILE_IFELSE.
23487
23488 2010-08-26  Bruno Haible  <bruno@clisp.org>
23489
23490         Modernize AC_TRY_RUN invocations.
23491         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
23492         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23493         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
23494         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
23495         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23496         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23497         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23498         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23499         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23500         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23501         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23502         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23503         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23504         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23505         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23506         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23507         gl_MBRLEN_NUL_RETVAL): Likewise.
23508         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23509         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
23510         Likewise.
23511         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23512         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23513         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23514         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23515         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23516         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23517         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
23518         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23519         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
23520         Likewise.
23521         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23522         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23523         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23524         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23525         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23526         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23527         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23528         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
23529         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23530         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23531
23532 2010-08-26  Bruno Haible  <bruno@clisp.org>
23533
23534         Modernize AC_TRY_LINK invocations.
23535         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
23536         AC_TRY_LINK.
23537         * m4/argp.m4 (gl_ARGP): Likewise.
23538         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
23539         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23540         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
23541         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
23542         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
23543         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
23544         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
23545         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23546         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
23547         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
23548         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
23549         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
23550         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
23551         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23552         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23553         * m4/hostent.m4 (gl_HOSTENT): Likewise.
23554         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23555         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
23556         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23557         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
23558         Likewise.
23559         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
23560         Likewise.
23561         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
23562         Likewise.
23563         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23564         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
23565         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
23566         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23567         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
23568         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23569         * m4/servent.m4 (gl_SERVENT): Likewise.
23570         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23571         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
23572         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
23573         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
23574         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23575         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23576         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23577         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23578         * modules/tsearch-tests (configure.ac): Likewise.
23579
23580 2010-08-26  Bruno Haible  <bruno@clisp.org>
23581
23582         Modernize AC_TRY_COMPILE invocations.
23583         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
23584         AC_TRY_COMPILE.
23585         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
23586         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
23587         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23588         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
23589         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23590         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23591         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23592         * m4/lock.m4 (gl_LOCK): Likewise.
23593         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
23594         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23595         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
23596         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23597         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23598         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
23599         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23600         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
23601         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23602         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23603         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23604         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23605         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
23606         extraneous semicolon.
23607
23608 2010-08-26  Jim Meyering  <meyering@redhat.com>
23609
23610         stat-time: relax license LGPL
23611         * modules/stat-time (License): Change from GPL to LGPL,
23612         with consent from all contributors, for use in libguile.
23613         Requested by Ludovic Courtès.
23614
23615 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
23616
23617         poll: return immediately on POLLHUP.
23618         * lib/poll.c (poll): Always set timeout before wait_timeout is
23619         computed.
23620
23621 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23622
23623         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
23624         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
23625         rmdir ("dir/.//"), unlinkat.
23626
23627 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23628
23629         stdbool: avoid spurious failure with modern xlc
23630         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23631
23632 2010-08-24  Bruno Haible  <bruno@clisp.org>
23633
23634         getloadavg: simplify code
23635         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
23636         gl_have_func. Update comments.
23637
23638 2010-08-24  Eric Blake  <eblake@redhat.com>
23639
23640         getloadavg: don't define SVR4 on cygwin
23641         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
23642         only define SVR4 when -lkvm is required.
23643         Reported by Yaakov Selkowitz.
23644
23645 2010-08-24  Bruno Haible  <bruno@clisp.org>
23646
23647         priv-set: fix comment
23648         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
23649
23650 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23651
23652         priv-set: fix comments
23653         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
23654         to match code, as suggested by David Bartley in:
23655         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
23656
23657 2010-08-23  Eric Blake  <eblake@redhat.com>
23658
23659         stdbool: avoid rejecting clang
23660         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23661         * tests/test-stdbool.c: Enable more tests if using the system
23662         <stdbool.h> instead of the gnulib replacement.
23663         (main): Move xlc bug test to a runtime test for all compilers.
23664         Reported by Anders Kaseorg.
23665
23666         argz: fix shell quoting issue
23667         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
23668         Reported by Charles Wilson.
23669
23670 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
23671             Erik Faye-Lund <kusmabite@gmail.com>
23672
23673         poll, select: handle ERROR_BROKEN_PIPE.
23674         * lib/poll.c (win32_compute_revents): Return POLLHUP when
23675         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23676         * lib/select.c (win32_compute_revents): Do not mark a pipe
23677         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23678
23679 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
23680
23681         fts: allow compilation with C++
23682         * lib/fts_.h: Specify extern "C" linkage with C++.
23683
23684 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23685
23686         Fix gnulib-tool sed script de-commentation for AIX sed.
23687         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
23688         sed.
23689
23690 2010-08-17  Eric Blake  <eblake@redhat.com>
23691
23692         test-stddef: test for (some) offsetof bugs
23693         * tests/test-stddef.c: Enhance test to ensure correct type of
23694         offsetof.
23695         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
23696         that we are not fixing at this time.
23697
23698 2010-08-15  Bruno Haible  <bruno@clisp.org>
23699
23700         stpncpy: Allow stpncpy to be defined as a macro.
23701         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
23702         if it's already correctly declared.
23703         * lib/string.in.h (stpncpy): Undefine before redefining.
23704         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
23705
23706 2010-08-14  Bruno Haible  <bruno@clisp.org>
23707
23708         Rename module 'memxfrm' to 'amemxfrm'.
23709         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
23710         (amemxfrm): Renamed from memxfrm.
23711         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
23712         (amemxfrm): Renamed from memxfrm.
23713         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
23714         * NEWS: Mention the change.
23715         * MODULES.html.sh (String handling <string.h>): Update.
23716         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
23717         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
23718         * lib/unicase/u16-casexfrm.c: Likewise.
23719         * lib/unicase/u32-casexfrm.c: Likewise.
23720         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
23721         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
23722         * lib/uninorm/u16-normxfrm.c: Likewise.
23723         * lib/uninorm/u32-normxfrm.c: Likewise.
23724         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
23725         memxfrm.
23726         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
23727         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
23728         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
23729         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
23730         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
23731         Suggested by Paul Eggert.
23732
23733 2010-08-14  Bruno Haible  <bruno@clisp.org>
23734
23735         Tests for module 'astrxfrm'.
23736         * modules/astrxfrm-tests: New file.
23737         * tests/test-astrxfrm.c: New file.
23738
23739         New module 'astrxfrm'.
23740         * lib/astrxfrm.h: New file.
23741         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
23742         * modules/astrxfrm: New file.
23743
23744 2010-08-14  Reuben Thomas <rrt@sc3d.org>
23745
23746         regex: Tweak doc.
23747         * doc/regex.texi (Overview): Don't mention regex.c.
23748         (GNU Regular Expression Compiling): Likewise.
23749         (Match-end-of-line Operator): Mention 'not_eol'.
23750
23751 2010-08-14  Brian Gough  <bjg@gnu.org>
23752             Bruno Haible  <bruno@clisp.org>
23753
23754         git-merge-changelog: add doc relating to use with bzr and hg.
23755         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
23756
23757 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
23758
23759         pthread: fix pthread.h creation for srcdir != builddir
23760         * modules/pthread (Makefile.am): Fix the rule to work also in a
23761         non-srcdir build.
23762
23763 2010-08-13  Karl Berry  <karl@gnu.org>
23764
23765         * doc/regex.texi (Predefined Syntaxes): @smallexample.
23766         * doc/posix-*/*: force line break before @url of POSIX
23767         specifications.
23768         Suggested by Werner Lemberg.
23769
23770 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23771
23772         strtod: fix const diagnostic
23773         * lib/strtod.c (strtod): Don't assign const char * to char *,
23774         as this elicits a warning from GCC when warnings are enabled.
23775
23776 2010-08-10  Pádraig Brady <P@draigbrady.com>
23777         and Eric Blake  <eblake@redhat.com>
23778
23779         copy-acl: ignore ENOTSUP on HP-UX
23780         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
23781         so that it is available for HP-UX.
23782         * lib/copy-acl.c (qcopy_acl): Use it.
23783         Reported by Patrick M. Callahan.
23784
23785 2010-08-10  Eric Blake  <eblake@redhat.com>
23786
23787         open, chown: relax license
23788         * modules/open (License): Change to LGPLv2+, with consent by all
23789         authors, for use in augeas.
23790         * modules/chown (License): Likewise.
23791         * modules/lchown (Likewise): Likewise.
23792         Requested by Adam Stokes.
23793
23794 2010-08-09  Karl Berry  <karl@gnu.org>
23795
23796         * build-aux/ar-lib: new file, import from Automake.
23797         * config/srclist.txt: autocheck for updates.
23798
23799 2010-08-09  Eric Blake  <eblake@redhat.com>
23800
23801         readlinkat: adjust client modules
23802         * modules/areadlinkat (Depends-on): Use readlinkat, not
23803         symlinkat.
23804         * modules/areadlinkat-with-size (Depends-on): Likewise.
23805
23806         mknod: be more vocal about danger of running tests as root
23807         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
23808         root, since that is just asking for problems.
23809         Suggested by Bruno Haible, based on a report by Rainer Tammer.
23810
23811         readlinkat: split into its own module
23812         * modules/symlinkat: Split readlinkat...
23813         * modules/readlinkat: ...into separate module.
23814         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
23815         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
23816         * lib/symlinkat.c (readlinkat): Move...
23817         * lib/readlinkat.c: ...into new file.
23818         * modules/symlinkat-tests: Split readlinkat test...
23819         * modules/readlinkat-tests: ...into separate module.
23820         * tests/test-symlinkat.c: Split...
23821         * tests/test-readlinkat.c: ...into new file.
23822         * NEWS: Document the split.
23823         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23824         * lib/unistd.in.h (readlinkat): Likewise.
23825         Suggested by Bruno Haible.
23826
23827 2010-08-08  Bruno Haible  <bruno@clisp.org>
23828
23829         memxfrm: Speed up.
23830         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
23831         that usually only one call to strxfrm is necessary for each string
23832         part.
23833         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23834
23835 2010-08-07  Karl Berry  <karl@gnu.org>
23836
23837         * doc/posix-headers/limits.texi,
23838         * doc/posix-functions/malloc.texi,
23839         * doc/posix-functions/strsignal.texi: missing @item.
23840         * doc/ld-version-script.texi: spurious leading i.
23841         * doc/regex.texi (Interval Operators): no commas inside @var.
23842
23843 2010-08-01  Bruno Haible  <bruno@clisp.org>
23844
23845         Integrate the regex documentation.
23846         * doc/gnulib.texi: Define 'cn' index.
23847         (Regular expressions): New a chapter that includes regex.texi and
23848         regexprops-generic.texi.
23849         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
23850         syntax.
23851
23852         Whitespace cleanup.
23853         * doc/regex.texi: Remove trailing spaces.
23854
23855         Add regex documentation.
23856         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
23857         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
23858         Written by Kathy A. Hargreaves and Karl Berry.
23859
23860 2010-08-01  Bruno Haible  <bruno@clisp.org>
23861
23862         link: Update documentation.
23863         * doc/posix-functions/link.texi: Update regarding Solaris.
23864
23865 2010-07-31  Bruno Haible  <bruno@clisp.org>
23866
23867         Update modules list.
23868         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
23869         (String handling <string.h>): Add memcmp2, memxfrm.
23870         (Container data structures): Add xlist, xsublist, xoset.
23871         (Core language properties): Add alignof, unused-parameter.
23872         (Process control, Numeric conversion functions <stdlib.h>): Renamed
23873         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
23874         (Unibyte characters <ctype.h>): New section.
23875         (String handling <string.h>): New section.
23876         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
23877         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
23878         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
23879         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
23880         tan, tanh, tanl, y0, y1, yn.
23881         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
23882         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
23883         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
23884         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
23885         unlockpt, vdprintf, vdprintf-posix.
23886         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
23887         (File system functions): Add concat-filename, sys_file, sys_ioctl,
23888         xconcat-filename.
23889         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
23890         getdtablesize, pipe2, pipe2-safer.
23891         (Security): New section.
23892         (Networking functions): Add accept4.
23893         (Signal handling): Add sigpipe.
23894         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
23895         mbmemcasecoll.
23896         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
23897         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
23898         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
23899         pipe-filter-ii.
23900         (Misc): Add argp-version-etc, login_tty, parse-duration.
23901
23902 2010-07-31  Bruno Haible  <bruno@clisp.org>
23903
23904         Improve doc in MODULES.html.
23905         * modules/linkat (Description): Add the word "function".
23906         * modules/mkfifo (Description): Likewise.
23907         * modules/mknod (Description): Likewise.
23908         * modules/remove (Description): Likewise.
23909         * modules/renameat (Description): Likewise.
23910         * modules/stat (Description): Likewise.
23911         * modules/symlink (Description): Likewise.
23912         * modules/unlink (Description): Likewise.
23913
23914 2010-07-31  Bruno Haible  <bruno@clisp.org>
23915
23916         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
23917         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
23918         option --enable/disable-c++ instead of --enable/disable-cxx.
23919         * NEWS: Mention the change.
23920
23921 2010-07-31  Bruno Haible  <bruno@clisp.org>
23922
23923         readlink, areadlink: Relax test a bit.
23924         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
23925         alternative to ENOTDIR.
23926         * tests/test-areadlink.h (test_areadlink): Likewise.
23927         Reported by Rainer Tammer.
23928
23929 2010-07-31  Bruno Haible  <bruno@clisp.org>
23930
23931         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
23932         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
23933         character, perform the search using U_STRCHR.
23934         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
23935         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
23936         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
23937         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
23938         Suggested by Paolo Bonzini.
23939
23940 2010-07-31  Bruno Haible  <bruno@clisp.org>
23941
23942         unistr/u*-strstr: Fix dependencies.
23943         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
23944         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
23945         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
23946
23947 2010-07-31  Bruno Haible  <bruno@clisp.org>
23948
23949         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
23950         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
23951         the beginning of the loop.
23952         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
23953         cases in 'switch' statement.
23954
23955         unistr/u8-strchr: Fix several bugs.
23956         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
23957         the string. When not found, return NULL, not a pointer near the end.
23958
23959         More tests for unistr/u8-strchr.
23960         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
23961         that the function does not read past the first occurrence of the byte
23962         being searched.
23963         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
23964         * tests/unistr/test-u16-strchr.c (main): New function.
23965         * tests/unistr/test-u32-strchr.c (main): New function.
23966
23967 2010-07-31  Bruno Haible  <bruno@clisp.org>
23968
23969         posix-modules: Ignore backup files of documentation files.
23970         * posix-modules: grep only through files named *.texi.
23971
23972 2010-07-31  Bruno Haible  <bruno@clisp.org>
23973
23974         symlinkat: Fix documentation.
23975         * doc/posix-functions/readlinkat.texi: Fix module name.
23976
23977 2010-07-31  Bruno Haible  <bruno@clisp.org>
23978
23979         fchownat: Replace also when chown has the trailing slash bug.
23980         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
23981         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
23982         introduced on 2010-04-10.
23983         Reported by Rainer Tammer.
23984
23985 2010-07-31  Bruno Haible  <bruno@clisp.org>
23986
23987         linkat: Work around AIX 7.1 bug.
23988         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
23989         whether linkat handles trailing slash correctly. If not, replace linkat
23990         and define LINKAT_TRAILING_SLASH_BUG.
23991         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
23992         check whether (fd1,file1) points to a directory if file1 or file2 ends
23993         in a slash. Code taken from lib/link.c.
23994         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
23995         Reported by Rainer Tammer.
23996
23997 2010-07-31  Bruno Haible  <bruno@clisp.org>
23998
23999         Correctly determine whether pow is available in libc on AIX 7 with xlc.
24000         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
24001         This disables an xlc optimization that was causing wrong test results.
24002         Reported by Rainer Tammer.
24003
24004 2010-07-31  Bruno Haible  <bruno@clisp.org>
24005
24006         iconv: Work around AIX 6.1..7.1 bug.
24007         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
24008         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
24009         cross-compiling, guess no on all versions of AIX.
24010         Reported by Rainer Tammer.
24011
24012 2010-07-31  Bruno Haible  <bruno@clisp.org>
24013
24014         readlink: Relax test a bit.
24015         * tests/test-readlink.h (test_readlink): Allow different errno value
24016         when readlink is called with a file name that ends in / and refers to
24017         a file.
24018         Suggested by Eric Blake.
24019         Reported by Rainer Tammer.
24020
24021 2010-07-31  Bruno Haible  <bruno@clisp.org>
24022
24023         copysign: Does not require -lm on glibc systems.
24024         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
24025         gl_COMMON_DOUBLE_MATHFUNC.
24026         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
24027
24028 2010-07-31  Bruno Haible  <bruno@clisp.org>
24029
24030         duplocale: Work around AIX 7.1 bug.
24031         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
24032         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
24033         * lib/duplocale.c (rpl_duplocale): Update comment.
24034         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
24035         Reported by Rainer Tammer.
24036
24037 2010-07-30  Bruno Haible  <bruno@clisp.org>
24038
24039         dirfd: Avoid link error on AIX 7.1.
24040         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
24041         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
24042         exist, set REPLACE_DIRFD.
24043         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
24044         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
24045         * doc/posix-functions/dirfd.texi: Update.
24046         Reported by Rainer Tammer.
24047
24048 2010-07-30  Eric Blake  <eblake@redhat.com>
24049
24050         strtod: next round of AIX fixes
24051         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
24052         exponent.
24053         * tests/test-strtod.c (main): Enhance tests.
24054         * doc/posix-functions/strtod.texi (strtod): Document next bug.
24055         Reported by Rainer Tammer.
24056
24057         futimens: fix configure check
24058         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
24059         Reported by Bruno Haible.
24060
24061 2010-07-30  Bruno Haible  <bruno@clisp.org>
24062
24063         getline: Update regarding AIX.
24064         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
24065         Reported by Rainer Tammer.
24066
24067 2010-07-30  Bruno Haible  <bruno@clisp.org>
24068
24069         wcwidth: Drop replacement on AIX 7.
24070         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
24071         AIX 7.
24072         Reported by Rainer Tammer.
24073
24074 2010-07-30  Bruno Haible  <bruno@clisp.org>
24075
24076         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
24077         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
24078         a 'char *'.
24079         Reported by Rainer Tammer.
24080
24081 2010-07-30  Bruno Haible  <bruno@clisp.org>
24082
24083         unlink: Update regarding AIX.
24084         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
24085         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
24086         Reported by Rainer Tammer.
24087
24088 2010-07-30  Bruno Haible  <bruno@clisp.org>
24089
24090         symlink: Update regarding AIX.
24091         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
24092         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
24093         Reported by Rainer Tammer.
24094
24095 2010-07-30  Bruno Haible  <bruno@clisp.org>
24096
24097         strndup: Update regarding AIX.
24098         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
24099         AIX 7.
24100         Reported by Rainer Tammer.
24101
24102 2010-07-30  Bruno Haible  <bruno@clisp.org>
24103
24104         stat: Update regarding AIX.
24105         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
24106         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
24107         Reported by Rainer Tammer.
24108
24109 2010-07-30  Bruno Haible  <bruno@clisp.org>
24110
24111         truncl: Fix autoconf test.
24112         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
24113         whether truncl works.
24114         Reported by Rainer Tammer.
24115
24116 2010-07-30  Bruno Haible  <bruno@clisp.org>
24117
24118         round: Update regarding AIX.
24119         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
24120         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
24121         Reported by Rainer Tammer.
24122
24123 2010-07-30  Bruno Haible  <bruno@clisp.org>
24124
24125         rename: Update regarding AIX.
24126         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
24127         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
24128         Reported by Rainer Tammer.
24129
24130 2010-07-30  Bruno Haible  <bruno@clisp.org>
24131
24132         printf.m4: Update regarding AIX.
24133         * m4/printf.m4: Update comments regarding AIX.
24134         Reported by Rainer Tammer.
24135
24136 2010-07-30  Bruno Haible  <bruno@clisp.org>
24137
24138         iconv: Update regarding AIX.
24139         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
24140         AIX 7.
24141         Reported by Rainer Tammer.
24142
24143 2010-07-30  Bruno Haible  <bruno@clisp.org>
24144
24145         getopt: Update regarding AIX.
24146         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
24147         no on AIX.
24148         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
24149         Reported by Rainer Tammer.
24150
24151 2010-07-30  Bruno Haible  <bruno@clisp.org>
24152
24153         ldexpl; Update regarding AIX.
24154         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
24155         on AIX 7.
24156         Reported by Rainer Tammer.
24157
24158 2010-07-30  Bruno Haible  <bruno@clisp.org>
24159
24160         frexpl: Update regarding AIX.
24161         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
24162         on AIX 7.
24163         Reported by Rainer Tammer.
24164
24165 2010-07-30  Bruno Haible  <bruno@clisp.org>
24166
24167         open, fopen: Update regarding AIX.
24168         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
24169         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24170         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
24171         * doc/posix-functions/fopen.texi: Likewise.
24172         Reported by Rainer Tammer.
24173
24174 2010-07-30  Bruno Haible  <bruno@clisp.org>
24175
24176         chown: Update doc regarding AIX.
24177         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
24178         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
24179         Reported by Rainer Tammer.
24180
24181 2010-07-30  Eric Blake  <eblake@redhat.com>
24182
24183         strtod: fix bug in replacement function on AIX
24184         * lib/strtod.c (strtod): Special case broken "0x" parse in
24185         underlying strtod.
24186         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
24187         * doc/posix-functions/strtod.texi (strtod): Likewise.
24188         Reported by Rainer Tammer.
24189
24190 2010-07-30  Bruno Haible  <bruno@clisp.org>
24191
24192         mbrlen: Fix cross-compilation guess for AIX.
24193         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
24194         guess. Leftover from 2008-12-22.
24195
24196 2010-07-30  Bruno Haible  <bruno@clisp.org>
24197
24198         mbrtowc: Fix cross-compilation guess for AIX.
24199         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
24200         guess. Leftover from 2008-12-21.
24201
24202 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
24203
24204         init.sh: work around trap limitation of some shells
24205         * tests/init.sh (setup_): Move exit trap outside of shell function.
24206
24207 2010-07-29  Eric Blake  <eblake@redhat.com>
24208
24209         strtod: aid debugging
24210         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
24211         understanding why strtod is rejected.
24212
24213 2010-07-28  Bruno Haible  <bruno@clisp.org>
24214
24215         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
24216         * lib/unistr/u8-chr.c: Include <string.h>.
24217         * tests/unistr/test-u8-chr.c: Likewise.
24218         * tests/unistr/test-u16-chr.c: Likewise.
24219         * tests/unistr/test-u32-chr.c: Likewise.
24220         * tests/unistr/test-u8-strchr.c: Likewise.
24221         * tests/unistr/test-u16-strchr.c: Likewise.
24222         * tests/unistr/test-u32-strchr.c: Likewise.
24223         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
24224         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
24225         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
24226         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
24227
24228 2010-07-28  Bruno Haible  <bruno@clisp.org>
24229
24230         Use spaces for indentation, not tabs.
24231         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24232
24233 2010-07-27  Bruno Haible  <bruno@clisp.org>
24234
24235         mbspcasecmp: Fix function specification.
24236         * lib/string.in.h (mbspcasecmp): Fix specification comment.
24237         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
24238         Reported by Eric Blake <eblake@redhat.com>.
24239
24240 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
24241
24242         timespec: use cast and not conditional, as truncation isn't possible
24243         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
24244         instead of a conditional.  Comment about the situation in more detail.
24245         This undoes most of the 2009-10-29 patch.
24246
24247 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
24248
24249         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
24250         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
24251         * lib/unistr/u8-strchr.c: Likewise.
24252         * modules/unistr/u8-chr: Depend on memchr.
24253
24254         unistr/u*-strchr: add tests
24255         * modules/unistr/u8-strchr-tests: New file.
24256         * modules/unistr/u16-strchr-tests: New file.
24257         * modules/unistr/u32-strchr-tests: New file.
24258         * tests/unistr/test-strchr.h: New file.
24259         * tests/unistr/test-u8-strchr.c: New file.
24260         * tests/unistr/test-u16-strchr.c: New file.
24261         * tests/unistr/test-u32-strchr.c: New file.
24262
24263         unistr/u*-chr: test multibyte sequences more
24264         * tests/unistr/test-chr.h: Do complete testing of the characters in the
24265         test vector.
24266         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
24267         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
24268         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
24269
24270         unistr/u*-chr: test multibyte sequences
24271         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
24272
24273         unistr/u*-chr: prepare for multibyte tests
24274         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
24275         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
24276         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
24277         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
24278         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
24279         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
24280
24281 2010-07-18  Bruno Haible  <bruno@clisp.org>
24282
24283         unistr/u8-strchr: Optimize non-ASCII argument case.
24284         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
24285         because the first byte often matches anyway.
24286         Reported by Pádraig Brady <P@draigbrady.com>.
24287
24288 2010-07-15  Karl Berry  <karl@gnu.org>
24289
24290         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
24291
24292 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
24293
24294         getcwd: on Solaris, work better if ancestors are inaccessible
24295         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
24296         buffer and size, try again with a large buffer.  This works better
24297         on Solaris, since its getcwd succeeds even if the path to the root
24298         is inaccessible, and this is helpful in common cases such as .zfs
24299         hidden directories.  Problem reported by J Chapman Flack in
24300         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
24301         Use system getcwd if it's declared, not merely if it's partly
24302         working; use the partly-working test only to avoid needless effort
24303         if the system getcwd fails.
24304         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
24305         comment that was already obsolete and is now even more obsolete.
24306         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
24307         now might call strdup.
24308
24309 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
24310
24311         pthread: Add enough so that coreutils/src/sort.c compiles.
24312         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
24313         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
24314         gnulib. Include <sched.h> and <time.h>, as per POSIX.
24315         Include <sys/types.h>, in case it defines pthread_t.
24316         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
24317         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
24318         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
24319         (pthread_rwlockattr_t, pthread_spinlock_t):
24320         New typedefs, if HAVE_PTHREAD_T is not defined.
24321         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
24322         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
24323         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
24324         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
24325         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
24326         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
24327         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
24328         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
24329         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
24330         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
24331         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
24332         New macros.
24333         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
24334         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
24335         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
24336         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
24337         (pthread_spin_unlock): New dummy functions.
24338         (pthread_create): Return EAGAIN; don't set errno.
24339         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
24340         require AC_C_INLINE.
24341         * modules/pthread (Depends-on): Add sched, time.
24342         (pthread.h): Use AM_V_GEN.
24343
24344 2010-07-13  Bruno Haible  <bruno@clisp.org>
24345
24346         striconveh: Don't malloc memory if the result buffer is sufficient.
24347         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
24348         buffer if its size is sufficient.
24349         Reported by Ludovic Courtès <ludo@gnu.org>.
24350
24351 2010-07-13  Bruno Haible  <bruno@clisp.org>
24352
24353         strtod: Add safety check.
24354         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
24355
24356 2010-07-12  Bruno Haible  <bruno@clisp.org>
24357
24358         Unify tests that set gl_cv_func_ldexpl_no_libm.
24359         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
24360         gl_FUNC_LDEXPL.
24361         (gl_FUNC_LDEXPL): Invoke it.
24362         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24363
24364 2010-07-12  Bruno Haible  <bruno@clisp.org>
24365
24366         Unify tests that set gl_cv_func_ldexp_no_libm.
24367         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
24368         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
24369         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
24370         (configure.ac): Simply invoke gl_FUNC_LDEXP.
24371         * modules/strtod (Files): Add m4/ldexp.m4.
24372
24373 2010-07-12  Bruno Haible  <bruno@clisp.org>
24374
24375         Unify tests that set gl_cv_func_frexpl_no_libm.
24376         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
24377         gl_FUNC_FREXPL_NO_LIBM.
24378         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
24379         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24380
24381 2010-07-12  Bruno Haible  <bruno@clisp.org>
24382
24383         Unify tests that set gl_cv_func_frexp_no_libm.
24384         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
24385         gl_FUNC_FREXP_NO_LIBM.
24386         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
24387         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24388
24389 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24390
24391         memcoll: clarify sizes versus lengths, document better, and tweak perf
24392         * lib/memcoll.c (strcoll_loop, memcoll0):
24393         Improve quality of descriptive comments.  Name variables
24394         consistently as to whether they are lengths (which do not include
24395         terminating null) versus sizes (which do).
24396         * lib/xmemcoll.c (xmemcoll0): Likewise.
24397         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
24398         returned when s1size == 0; this is easier to compile and saves
24399         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
24400
24401 2010-07-12  Bruno Haible  <bruno@clisp.org>
24402
24403         Tests for module '_Exit'.
24404         * modules/_Exit-tests: New file.
24405         * tests/test-_Exit.sh: New file.
24406         * tests/test-_Exit.c: New file.
24407
24408         New module '_Exit'.
24409         * lib/stdlib.in.h (__attribute__): New macro.
24410         (_Exit): New declaration.
24411         * lib/_Exit.c: New file.
24412         * m4/_Exit.m4: New file.
24413         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
24414         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
24415         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
24416         * modules/_Exit: New file.
24417         * tests/test-stdlib-c++.cc (_Exit): Check signature.
24418         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
24419
24420 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24421
24422         strtod: make it more-accurate typically, and don't require libm
24423         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
24424         Include limits.h.  Don't include string.h.
24425         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
24426         (locale_isspace): New function, so that no casts are needed to
24427         check whether *s is a space.
24428         (ldexp): Provide an unused dummy if not available.
24429         (scale_radix_exp, parse_number, underlying_strtod): New functions.
24430         (strtod): Use them.  This implementation prefers to use the
24431         underlying strtod if available, falling back on our own code
24432         only to fix known bugs.  This is more likely to produce an
24433         accurate result.  Also, it avoids the use of libm functions.
24434         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
24435         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
24436         was absent, but it caused a test failure with coreutils.
24437         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
24438         with libm.
24439         * modules/strtod (Makefile.am, Link): libm is no longer needed.
24440         * modules/strtod-tests (Makefile.am): Likewise.
24441
24442 2010-07-11  Pádraig Brady  <P@draigBrady.com>
24443             Bruno Haible  <bruno@clisp.org>
24444
24445         unistr/u8-strchr: Optimize ASCII argument case.
24446         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
24447
24448 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
24449
24450         (x)memcoll: minor tweaks
24451         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
24452         is after the type that it qualifies.
24453         (memcoll0): Likewise.
24454         * lib/memcoll.h (memcoll0): Likewise.
24455         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
24456         * lib/xmemcoll.h (xmemcoll0): Likewise.
24457         * lib/memcoll.c (memcoll0): Correct the comment.  This function
24458         differs from memcoll in that the NUL byte is part of the argument.
24459         Omit the abort-checks, as performance is a real issue here.  Plus,
24460         the checks were wrong anyway (an off-by-one error).  Omit local
24461         variable 'diff', as it's a bit clearer that way.
24462         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
24463         no longer needed.
24464
24465 2010-07-08  Chen Guo <chenguo4@yahoo.com>
24466
24467         (x)memcoll: speedup when input is known to be NUL delimited
24468         * lib/memcoll.c: Include stdlib.
24469         (memcoll0): New function.
24470         (strcoll_loop): New function, refactored for use in both memcoll
24471         and memcoll0.
24472         * lib/memcoll.h (memcoll0): Add prototype.
24473         * lib/xmemcoll.c (xmemcoll0): New function.
24474         (collate_error): New function, refactored for use in both xmemcoll
24475         and xmemcoll0.
24476         * lib/xmemcoll.h (xmemcoll0): Add prototype.
24477         * m4/memcoll.m4: add inline invocation.
24478
24479 2010-07-06  Pádraig Brady  <P@draigBrady.com>
24480
24481         * build-aux/bootstrap: Remove any local translations
24482         from the translation project synchronization directory,
24483         so that local only translations are not distributed.
24484
24485 2010-07-04  Bruno Haible  <bruno@clisp.org>
24486
24487         fsusage: Clarify which code applies to which platforms.
24488         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
24489         platform.
24490         * lib/fsusage.c (get_fs_usage): Likewise.
24491
24492 2010-07-04  Bruno Haible  <bruno@clisp.org>
24493
24494         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
24495         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
24496         Reported by Martin Lambers <marlam@marlam.de>.
24497
24498 2010-07-04  Jim Meyering  <meyering@redhat.com>
24499
24500         hash: once again explicitly disallow insertion of NULL
24501         * lib/hash.c (hash_insert0): Reinstate just-removed test:
24502         inserting a NULL pointer cannot work with these functions.
24503         Add a comment with details.
24504         This reverts part of the 2010-07-01 commit, 5bef1a35
24505         "hash: extend module to deal with non-pointer keys".
24506
24507 2010-07-01  Bruno Haible  <bruno@clisp.org>
24508
24509         stdbool: Update doc.
24510         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
24511         Info from Christian Weisgerber <naddy@mips.inka.de>.
24512
24513 2010-07-01  Jim Meyering  <meyering@redhat.com>
24514
24515         hash: extend module to deal with non-pointer keys
24516         * lib/hash.c (hash_insert0): New interface, much like hash_insert
24517         but that allows insertion of non-pointer entries.
24518         Do not disallow an ENTRY value of NULL.
24519         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
24520         * lib/hash.h (hash_insert0): Declare.
24521
24522 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24523
24524         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
24525         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
24526         not present (i.e. with autoconf 2.59 and when using gettextize, not
24527         gnulib), require AC_GNU_SOURCE instead.
24528
24529 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
24530
24531         idpriv-drop: Fix tests.
24532         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
24533         not to the test-idpriv-droptemp program.
24534
24535 2010-06-29  Bruno Haible  <bruno@clisp.org>
24536
24537         string: Fix syntax error with g++ 2.96.
24538         * lib/string.in.h (__pure__): Remove definition.
24539         (_GL_ATTRIBUTE_PURE): New macro.
24540         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
24541         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
24542         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24543
24544 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
24545
24546         unitypes: Fix bug introduced on 2010-05-18.
24547         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
24548
24549 2010-06-22  Eric Blake  <eblake@redhat.com>
24550
24551         memmem: slight optimization
24552         * lib/str-two-way.h (critical_factorization): Update comments.
24553         Reduce work during factorization phase.
24554         Reported by Carlos Bueno <carlos@bueno.org>.
24555
24556 2010-06-21  Bruno Haible  <bruno@clisp.org>
24557
24558         Fix HAVE_CALLOC_POSIX misnomer.
24559         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
24560         !HAVE_CALLOC_POSIX.
24561         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
24562         HAVE_CALLOC_POSIX.
24563         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
24564         instead of HAVE_CALLOC_POSIX.
24565         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
24566         HAVE_CALLOC_POSIX.
24567
24568         Use modern idiom for calloc() replacement.
24569         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
24570         AC_FUNC_CALLOC.
24571         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
24572         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
24573         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24574         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
24575         (gl_REPLACE_CALLOC): New macro.
24576
24577 2010-06-21  Bruno Haible  <bruno@clisp.org>
24578
24579         Fix HAVE_REALLOC_POSIX misnomer.
24580         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
24581         !HAVE_REALLOC_POSIX.
24582         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
24583         HAVE_REALLOC_POSIX.
24584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
24585         instead of HAVE_REALLOC_POSIX.
24586         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
24587         HAVE_REALLOC_POSIX.
24588
24589         Use modern idiom for realloc() replacement.
24590         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
24591         AC_FUNC_REALLOC.
24592         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
24593         Autoconf's AC_FUNC_REALLOC.
24594         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24595         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
24596         (gl_REPLACE_REALLOC): New macro.
24597         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24598
24599 2010-06-21  Bruno Haible  <bruno@clisp.org>
24600
24601         Fix HAVE_MALLOC_POSIX misnomer.
24602         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
24603         !HAVE_MALLOC_POSIX.
24604         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
24605         HAVE_MALLOC_POSIX.
24606         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
24607         instead of HAVE_MALLOC_POSIX.
24608         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
24609         HAVE_MALLOC_POSIX.
24610
24611         Use modern idiom for malloc() replacement.
24612         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
24613         AC_FUNC_MALLOC.
24614         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
24615         Autoconf's AC_FUNC_MALLOC.
24616         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24617         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
24618         (gl_REPLACE_MALLOC): New macro.
24619         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24620
24621 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24622
24623         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
24624         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
24625         This macro takes 3 arguments, not 4.
24626
24627 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
24628
24629         ipv6: fix detection under mingw
24630         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
24631         in6_addr.
24632
24633 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
24634
24635         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
24636         that strtod() works when cross-compiling to a glibc version known
24637         to work.
24638
24639 2010-06-15  Bruno Haible  <bruno@clisp.org>
24640
24641         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
24642
24643 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
24644
24645         select: Correct timeout.
24646         * lib/select.c (rpl_select): Compute wait_timeout correctly.
24647
24648 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24649
24650         git-version-gen: init shell var to avoid env var influence
24651         * build-aux/git-version-gen (v): Init shell var to empty.
24652
24653 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24654
24655         priv-set: Don't assume that priv.h exists merely because getppriv does.
24656         See Jan Andersen's bug report about AIX 5L in
24657         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
24658         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
24659         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
24660         * lib/priv-set.h: Likewise.
24661         * tests/test-priv-set.c: Likewise.
24662
24663 2010-06-13  Bruno Haible  <bruno@clisp.org>
24664
24665         relocatable: Make it easier to test whether to install wrappers.
24666         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
24667         RELOCATABLE_VIA_WRAPPER.
24668
24669 2010-06-13  Bruno Haible  <bruno@clisp.org>
24670
24671         gnulib-tool: Display specified modules and dependencies differently.
24672         * gnulib-tool (func_show_module_list): New function.
24673         (func_import, func_create_testdir): Invoke it.
24674         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24675
24676 2010-06-13  Bruno Haible  <bruno@clisp.org>
24677
24678         gnulib-tool: Align code of func_import and func_create_testdir.
24679         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
24680         specified_modules.
24681
24682 2010-06-12  Jim Meyering  <meyering@redhat.com>
24683
24684         test-inttostr: avoid spurious failure on Solaris 9
24685         * tests/test-inttostr.c (main): Skip the test when snprintf fails
24686         to accept "%ju".  Reported by Bruno Haible.
24687
24688 2010-06-11  Jim Meyering  <meyering@redhat.com>
24689
24690         test-sys_socket: mark variables as used more readably
24691         * tests/test-sys_socket.c (main): Mark otherwise unused variables
24692         as "used" explicitly via (void) statement casts.  This is more
24693         readable than using them in an artificial return expression.
24694         Suggestion from Bruno Haible.
24695
24696 2010-06-11  Bruno Haible  <bruno@clisp.org>
24697
24698         Avoid some more warnings from "gcc -Wwrite-strings".
24699         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
24700         to 'const char *'.
24701         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
24702         * tests/test-c-strcasestr.c (main): Likewise.
24703         * tests/test-mbscasestr1.c (main): Likewise.
24704         * tests/test-mbscasestr2.c (main): Likewise.
24705         * tests/test-memmem.c (main): Likewise.
24706         * tests/test-strstr.c (main): Likewise.
24707         * tests/test-strcasestr.c (main): Likewise.
24708
24709 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24710
24711         init.sh: change framework_failure_ to fail with status 99, not 1
24712         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
24713         automake's parallel-tests rule that this is an unexpected failure,
24714         even if the test is listed in XFAIL_TESTS.
24715
24716 2010-06-11  Jim Meyering  <meyering@redhat.com>
24717
24718         test-inttostr: avoid warnings about 4-6KB literal strings
24719         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
24720         Include "macros.h", for its definition of ASSERT.
24721         (CK): s/assert/ASSERT/
24722         * modules/inttostr-tests (Files): Add macros.h.
24723
24724         init.sh: don't use $ME_ or skip_ before they are defined
24725         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
24726         their first uses.  Also hoist their companions: warn_, fail_,
24727         framework_failure_, $stderr_fileno.  Prompted by a patch from
24728         Stefano Lattarini.
24729
24730         test-sys_socket: avoid set-but-not-used warnings from gcc
24731         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
24732         avoid warning about set-but-not-used variables.
24733
24734         test-xvasprintf: avoid 'const' discard warnings
24735         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
24736         "const" when assigning from literal strings.
24737         (test_xasprintf): Add "void" in function argument list to placate
24738         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
24739
24740         tests: avoid compilation warnings in argmatch and exclude tests...
24741         in packages that define ARGMATCH_DIE_DECL, like coreutils.
24742         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
24743         Since it always exits, declare with the "noreturn" attribute.
24744         * tests/test-argmatch.c: Likewise.
24745
24746         tests: avoid 'const' discard warnings in mbsstr tests
24747         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
24748         * tests/test-mbsstr2.c (main): Likewise.
24749
24750         test-verify: avoid warning from gcc's -Wmissing-declarations
24751         * tests/test-verify.c (function): Declare to be static.
24752
24753         test-inttostr.c: include <string.h> for use of strcmp
24754         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
24755
24756         test-linkat: avoid failed assertion on "other" architectures
24757         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
24758         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
24759         sparc: https://bugs.launchpad.net/bugs/591968
24760
24761 2010-06-11  Jim Meyering  <meyering@redhat.com>
24762
24763         printf.m4: avoid autoconf's "Expanded Before Required" warning
24764         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
24765         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
24766         autoconf warning.
24767
24768 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
24769
24770         Replacement header templates are now named with ".in", not "_".
24771         * doc/gnulib-intro.texi: Correct.
24772
24773 2010-06-10  Jim Meyering  <meyering@redhat.com>
24774
24775         inttostr-tests: depend on snprintf, not snprintf-posix
24776         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
24777         snprintf-posix, to avoid this aclocal failure:
24778           missing file gnulib-tests/vasnprintf.c
24779           configure.ac:45: error: expected source file, required through \
24780           AC_LIBSOURCES, not found
24781
24782 2010-06-10  Jim Meyering  <meyering@redhat.com>
24783
24784         inttostr: add a new function, inttostr, and tests
24785         The namesake function was not available.  The existence of the
24786         template file, inttostr.c makes its addition nontrivial.
24787         * lib/anytostr.c: Rename from inttostr.c.
24788         (anytostr): Rename from inttostr.
24789         * lib/inttostr.c: New file.
24790         * modules/inttostr (Files): Add anytostr.c.
24791         (Makefile.am): Set lib_SOURCES instead of ...
24792         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
24793         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
24794         * lib/offtostr.c: Likewise.
24795         * lib/uinttostr.c: Likewise.
24796         * lib/umaxtostr.c: Likewise.
24797         * modules/inttostr-tests: New file.
24798         * tests/test-inttostr.c: New file.  Test these functions.
24799
24800 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
24801             Bruno Haible  <bruno@clisp.org>
24802
24803         Add "Extending Gnulib" chapter to manual.
24804         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
24805         chapter.
24806         (Extending Gnulib): New chapter.
24807         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
24808         chapter.
24809
24810 2010-06-09  Bruno Haible  <bruno@clisp.org>
24811
24812         Avoid relocwrapper link errors due to gnulib replacement functions.
24813         * lib/areadlink.c: Use the system's malloc, realloc functions.
24814         (areadlink): Set errno to ENOMEM explicitly.
24815         * modules/areadlink (Depends-on): Remove malloc-posix.
24816         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24817
24818 2010-06-09  Bruno Haible  <bruno@clisp.org>
24819
24820         Avoid relocwrapper link errors due to gnulib replacement functions.
24821         * lib/canonicalize-lgpl.c: Use the system's malloc function.
24822         * lib/malloca.c: Likewise.
24823         * lib/relocatable.c: Likewise.
24824         * lib/progreloc.c: Use the system's malloc, sprintf functions.
24825         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
24826         * lib/setenv.c: Use the system's malloc, realloc functions.
24827         * lib/strerror.c: Use the system's sprintf function.
24828         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24829
24830 2010-06-04  Bruno Haible  <bruno@clisp.org>
24831
24832         Prefer documented low-level autoconf macro names.
24833         * m4/lib-link.m4: Use m4_translit instead of translit.
24834         * m4/environ.m4: Likewise.
24835         * m4/mathfunc.m4: Likewise.
24836         * m4/onceonly.m4: Likewise.
24837         * m4/stdint.m4: Likewise.
24838         Suggested by Eric Blake.
24839
24840 2010-06-04  Martin Lambers  <marlam@marlam.de>
24841             Bruno Haible  <bruno@clisp.org>
24842
24843         havelib: Allow library names with '+' characters.
24844         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24845         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
24846
24847 2010-06-09  Bruno Haible  <bruno@clisp.org>
24848
24849         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
24850         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
24851         realloc failed.
24852
24853 2010-06-08  Peter Simons  <simons@cryp.to>
24854
24855         maint.mk: make the news-check rule more configurable
24856         * top/maint.mk (news-check-lines-spec): New variable.
24857         (news-check): Use "sed -n 1,10p" in place of "head".
24858
24859 2010-06-07  Jim Meyering  <meyering@redhat.com>
24860
24861         do-release-commit-and-tag: fix typo in --help
24862         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
24863
24864         regex: avoid new dead-code warning with gcc-4.6.0
24865         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
24866         if-block containing a while-loop.  It's been unused for at least
24867         5 years.
24868
24869 2010-06-05  Bruno Haible  <bruno@clisp.org>
24870
24871         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
24872         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
24873
24874 2010-06-04  Bruno Haible  <bruno@clisp.org>
24875
24876         Update to GNU gettext 0.18.1.
24877         * modules/gettext (configure.ac): Require gettext infrastructure from
24878         version 0.18.1.
24879
24880 2010-06-03  Bruno Haible  <bruno@clisp.org>
24881
24882         Don't use AC_LIBOBJ with file names in subdirectories.
24883         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
24884         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
24885         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
24886         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
24887         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
24888         gl_LIBUNISTRING_LIBSOURCE.
24889         (Makefile.am): Augment lib_SOURCES here, conditionally.
24890         * NEWS: Drop requirement for Automake option 'subdir-objects'.
24891
24892 2010-06-03  Bruno Haible  <bruno@clisp.org>
24893
24894         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
24895         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
24896         expansion does not end with a newline.
24897         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
24898         unnecessary newline.
24899
24900 2010-06-03  Bruno Haible  <bruno@clisp.org>
24901
24902         Reduce dependencies.
24903         * tests/test-quotearg.h: New file, extracted from
24904         tests/test-quotearg.c.
24905         * tests/test-quotearg-simple.c: New file, extracted from
24906         tests/test-quotearg.c.
24907         * tests/test-quotearg.c: Don't include <ctype.h>.
24908         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
24909         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
24910         use_quote_double_quotes, use_quotearg_colon): Moved to
24911         tests/test-quotearg.h.
24912         (results_g, flag_results, custom_quotes, custom_results): Moved
24913         to tests/test-quotearg-simple.c.
24914         (main): Moved the part that does not depend on gettext to
24915         tests/test-quotearg-simple.c. Return 77 if the test cannot be
24916         performed.
24917         * modules/quotearg-simple: New file.
24918         * modules/quotearg-simple-tests: New file.
24919         * modules/quotearg (Depends-on): Add quotearg-simple.
24920         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
24921         (Files): Add tests/test-quotearg.h.
24922         Reported by Paolo Bonzini.
24923
24924 2010-06-03  Bruno Haible  <bruno@clisp.org>
24925
24926         Reduce dependencies.
24927         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
24928
24929 2010-06-03  Bruno Haible  <bruno@clisp.org>
24930
24931         time: Undefine more broken macros.
24932         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
24933         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
24934         Reported by Eric Blake.
24935
24936 2010-06-03  Bruno Haible  <bruno@clisp.org>
24937
24938         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
24939         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
24940         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
24941         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
24942         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
24943         Reported by Ludovic Courtès <ludo@gnu.org>.
24944
24945 2010-06-02  Eric Blake  <eblake@redhat.com>
24946
24947         time: work with mingw + pthreads-win32 library
24948         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
24949         if timespec is defined only in pthread.h.
24950         * modules/time (Makefile.am): Substitute it.
24951         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
24952         <pthread.h>, when needed.
24953         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
24954         from the library.
24955
24956 2010-05-31  Bruno Haible  <bruno@clisp.org>
24957
24958         Avoid expanding two macros in the wrong order.
24959         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
24960         gl_LIBUNISTRING if it is defined.
24961         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
24962         autoconf >= 2.64.
24963         Reported by Ludovic Courtès <ludo@gnu.org>.
24964
24965 2010-05-27  Jim Meyering  <meyering@redhat.com>
24966
24967         maint.mk: also prohibit "#undef" of always-defined symbols
24968         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
24969         Allow more than one space before the symbol name.
24970         (sc_prohibit_always-defined_macros): Use grep's -E, now that
24971         the regexp uses alternation.
24972
24973 2010-05-26  Eric Blake  <eblake@redhat.com>
24974
24975         maint.mk: avoid echo -e
24976         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
24977         Convert all uses of echo -* to printf.
24978         Reported by Matthias Bolte.
24979
24980 2010-05-25  Bruno Haible  <bruno@clisp.org>
24981
24982         Update to GNU gettext 0.18, part 2.
24983         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
24984         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
24985
24986 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24987
24988         Add missing include in test-pwrite.c.
24989         * tests/test-pwrite.c: Include string.h, for strcmp.
24990
24991 2010-05-24  Bruno Haible  <bruno@clisp.org>
24992
24993         * NEWS: Mention requirement for Automake option 'subdir-objects'.
24994
24995 2010-05-24  Bruno Haible  <bruno@clisp.org>
24996
24997         Don't use conversion with transliteration in u{8,16,32}_strcoll.
24998         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
24999         iconveh_error argument.
25000         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
25001         U_STRCONV_TO_LOCALE.
25002         * lib/unistr/u16-strcoll.c: Likewise.
25003         * lib/unistr/u32-strcoll.c: Likewise.
25004         * modules/unistr/u8-strcoll (Depends-on): Add
25005         uniconv/u8-strconv-to-enc, localcharset. Remove
25006         uniconv/u8-strconv-to-locale.
25007         (configure.ac): Bump version number.
25008         * modules/unistr/u16-strcoll (Depends-on): Add
25009         uniconv/u16-strconv-to-enc, localcharset. Remove
25010         uniconv/u16-strconv-to-locale.
25011         (configure.ac): Bump version number.
25012         * modules/unistr/u32-strcoll (Depends-on): Add
25013         uniconv/u32-strconv-to-enc, localcharset. Remove
25014         uniconv/u32-strconv-to-locale.
25015         (configure.ac): Bump version number.
25016
25017 2010-05-24  Bruno Haible  <bruno@clisp.org>
25018
25019         Avoid a test failure on NetBSD 5.0.
25020         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
25021         an iconv() bug.
25022
25023 2010-05-24  Bruno Haible  <bruno@clisp.org>
25024
25025         Adjust #include directive style.
25026         * modules/regex (Includes): Recommend to write <regex.h>.
25027
25028 2010-05-24  Bruno Haible  <bruno@clisp.org>
25029
25030         regex: Don't require alloca.
25031         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
25032         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
25033         only inside if (0).
25034
25035 2010-05-23  Jim Meyering  <meyering@redhat.com>
25036
25037         test-renameat.c: include <sys/stat.h>
25038         * tests/test-renameat.c: Include <sys/stat.h>; required for
25039         definition of S_IS* macros.
25040
25041 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
25042
25043         Update maintainer documentation for 'relocatable-prog' module.
25044         * doc/relocatable-maint.texi: Update.
25045         Comments by Bruno Haible.
25046
25047 2010-05-23  Bruno Haible  <bruno@clisp.org>
25048
25049         git-merge-changelog: Enable --split-merged-entry by default.
25050         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
25051         (usage): Don't mention this option any more.
25052         Reported by Ralf Wildenhues.
25053
25054 2010-05-23  Jim Meyering  <meyering@redhat.com>
25055
25056         test-pwrite: do not leave behind a test file named "out"
25057         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
25058         The trivial-looking use of init.sh is really necessary.
25059         It ensures that the temporary file, "out", is created in
25060         a temporary directory, and removed upon termination.
25061         * tests/test-pwrite.sh: Re-add file.
25062         * modules/pwrite-tests: Reference it.
25063
25064 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25065
25066         Fix output redirection buglet in init.sh.
25067         * tests/init.sh: Fix redirection of stderr.
25068
25069 2010-05-20  Simon Josefsson  <simon@josefsson.org>
25070
25071         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
25072
25073 2010-05-17  Simon Josefsson  <simon@josefsson.org>
25074
25075         * modules/valgrind-tests: New file.
25076         * m4/valgrind-tests.m4: New file.
25077         * doc/valgrind-tests.texi: New file.
25078         * doc/gnulib.texi (Running self-tests under valgrind): New
25079         section.
25080
25081 2010-05-19  Bruno Haible  <bruno@clisp.org>
25082
25083         Clean up dead code in recent commit.
25084         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
25085         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
25086         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
25087         Suggested by Paolo Bonzini.
25088
25089 2010-05-19  Bruno Haible  <bruno@clisp.org>
25090
25091         Avoid valgrind error reports from libunistring.
25092         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
25093         * modules/libunistring (Files): Add it.
25094         * modules/libunistring-optional (Files): Likewise.
25095
25096 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
25097             Bruno Haible  <bruno@clisp.org>
25098
25099         New module 'libunistring-optional'.
25100         * modules/libunistring-optional: New file.
25101         * m4/libunistring-base.m4: New file.
25102         * m4/libunistring-optional.m4: New file.
25103         * lib/unicase.in.h: Renamed from lib/unicase.h.
25104         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
25105         * lib/unictype.in.h: Renamed from lib/unictype.h.
25106         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
25107         * lib/uniname.in.h: Renamed from lib/uniname.h.
25108         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
25109         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
25110         * lib/unistr.in.h: Renamed from lib/unistr.h.
25111         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
25112         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
25113         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
25114         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
25115         gl_LIBUNISTRING. If the library was found, determine the installed
25116         version and set LIBUNISTRING_VERSION.
25117         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
25118         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
25119         handle a configuration option --with-included-libunistring.
25120         * modules/libunistring (Files): Add m4/absolute-header.m4.
25121         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
25122         Add m4/libunistring-base.m4.
25123         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25124         (Makefile.am): Build unicase.h from unicase.in.h.
25125         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
25126         Add m4/libunistring-base.m4.
25127         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25128         (Makefile.am): Build uniconv.h from uniconv.in.h.
25129         * modules/unictype/base (Files): Use unictype.in.h instead of
25130         unictype.h. Add m4/libunistring-base.m4.
25131         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25132         (Makefile.am): Build unictype.h from unictype.in.h.
25133         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
25134         Add m4/libunistring-base.m4.
25135         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25136         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
25137         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
25138         Add m4/libunistring-base.m4.
25139         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25140         (Makefile.am): Build uniname.h from uniname.in.h.
25141         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
25142         Add m4/libunistring-base.m4.
25143         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25144         (Makefile.am): Build uninorm.h from uninorm.in.h.
25145         * modules/unistdio/base (Files): Use unistdio.in.h instead of
25146         unistdio.h. Add m4/libunistring-base.m4.
25147         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25148         (Makefile.am): Build unistdio.h from unistdio.in.h.
25149         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
25150         Add m4/libunistring-base.m4.
25151         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25152         (Makefile.am): Build unistr.h from unistr.in.h.
25153         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
25154         Add m4/libunistring-base.m4.
25155         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25156         (Makefile.am): Build unitypes.h from unitypes.in.h.
25157         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
25158         Add m4/libunistring-base.m4.
25159         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25160         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
25161         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
25162         uniwidth.h. Add m4/libunistring-base.m4.
25163         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25164         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
25165         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
25166         instead of augmenting lib_SOURCES.
25167         * modules/unicase/empty-suffix-context: Likewise.
25168         * modules/unicase/locale-language: Likewise.
25169         * modules/unicase/tolower: Likewise.
25170         * modules/unicase/totitle: Likewise.
25171         * modules/unicase/toupper: Likewise.
25172         * modules/unicase/u8-casecmp: Likewise.
25173         * modules/unicase/u8-casecoll: Likewise.
25174         * modules/unicase/u8-casefold: Likewise.
25175         * modules/unicase/u8-casexfrm: Likewise.
25176         * modules/unicase/u8-ct-casefold: Likewise.
25177         * modules/unicase/u8-ct-tolower: Likewise.
25178         * modules/unicase/u8-ct-totitle: Likewise.
25179         * modules/unicase/u8-ct-toupper: Likewise.
25180         * modules/unicase/u8-is-cased: Likewise.
25181         * modules/unicase/u8-is-casefolded: Likewise.
25182         * modules/unicase/u8-is-lowercase: Likewise.
25183         * modules/unicase/u8-is-titlecase: Likewise.
25184         * modules/unicase/u8-is-uppercase: Likewise.
25185         * modules/unicase/u8-prefix-context: Likewise.
25186         * modules/unicase/u8-suffix-context: Likewise.
25187         * modules/unicase/u8-tolower: Likewise.
25188         * modules/unicase/u8-totitle: Likewise.
25189         * modules/unicase/u8-toupper: Likewise.
25190         * modules/unicase/u16-casecmp: Likewise.
25191         * modules/unicase/u16-casecoll: Likewise.
25192         * modules/unicase/u16-casefold: Likewise.
25193         * modules/unicase/u16-casexfrm: Likewise.
25194         * modules/unicase/u16-ct-casefold: Likewise.
25195         * modules/unicase/u16-ct-tolower: Likewise.
25196         * modules/unicase/u16-ct-totitle: Likewise.
25197         * modules/unicase/u16-ct-toupper: Likewise.
25198         * modules/unicase/u16-is-cased: Likewise.
25199         * modules/unicase/u16-is-casefolded: Likewise.
25200         * modules/unicase/u16-is-lowercase: Likewise.
25201         * modules/unicase/u16-is-titlecase: Likewise.
25202         * modules/unicase/u16-is-uppercase: Likewise.
25203         * modules/unicase/u16-prefix-context: Likewise.
25204         * modules/unicase/u16-suffix-context: Likewise.
25205         * modules/unicase/u16-tolower: Likewise.
25206         * modules/unicase/u16-totitle: Likewise.
25207         * modules/unicase/u16-toupper: Likewise.
25208         * modules/unicase/u32-casecmp: Likewise.
25209         * modules/unicase/u32-casecoll: Likewise.
25210         * modules/unicase/u32-casefold: Likewise.
25211         * modules/unicase/u32-casexfrm: Likewise.
25212         * modules/unicase/u32-ct-casefold: Likewise.
25213         * modules/unicase/u32-ct-tolower: Likewise.
25214         * modules/unicase/u32-ct-totitle: Likewise.
25215         * modules/unicase/u32-ct-toupper: Likewise.
25216         * modules/unicase/u32-is-cased: Likewise.
25217         * modules/unicase/u32-is-casefolded: Likewise.
25218         * modules/unicase/u32-is-lowercase: Likewise.
25219         * modules/unicase/u32-is-titlecase: Likewise.
25220         * modules/unicase/u32-is-uppercase: Likewise.
25221         * modules/unicase/u32-prefix-context: Likewise.
25222         * modules/unicase/u32-suffix-context: Likewise.
25223         * modules/unicase/u32-tolower: Likewise.
25224         * modules/unicase/u32-totitle: Likewise.
25225         * modules/unicase/u32-toupper: Likewise.
25226         * modules/unicase/ulc-casecmp: Likewise.
25227         * modules/unicase/ulc-casecoll: Likewise.
25228         * modules/unicase/ulc-casexfrm: Likewise.
25229         * modules/uniconv/u8-conv-from-enc: Likewise.
25230         * modules/uniconv/u8-conv-to-enc: Likewise.
25231         * modules/uniconv/u8-strconv-from-enc: Likewise.
25232         * modules/uniconv/u8-strconv-from-locale: Likewise.
25233         * modules/uniconv/u8-strconv-to-enc: Likewise.
25234         * modules/uniconv/u8-strconv-to-locale: Likewise.
25235         * modules/uniconv/u16-conv-from-enc: Likewise.
25236         * modules/uniconv/u16-conv-to-enc: Likewise.
25237         * modules/uniconv/u16-strconv-from-enc: Likewise.
25238         * modules/uniconv/u16-strconv-from-locale: Likewise.
25239         * modules/uniconv/u16-strconv-to-enc: Likewise.
25240         * modules/uniconv/u16-strconv-to-locale: Likewise.
25241         * modules/uniconv/u32-conv-from-enc: Likewise.
25242         * modules/uniconv/u32-conv-to-enc: Likewise.
25243         * modules/uniconv/u32-strconv-from-enc: Likewise.
25244         * modules/uniconv/u32-strconv-from-locale: Likewise.
25245         * modules/uniconv/u32-strconv-to-enc: Likewise.
25246         * modules/uniconv/u32-strconv-to-locale: Likewise.
25247         * modules/unictype/bidicategory-byname: Likewise.
25248         * modules/unictype/bidicategory-name: Likewise.
25249         * modules/unictype/bidicategory-of: Likewise.
25250         * modules/unictype/bidicategory-test: Likewise.
25251         * modules/unictype/block-list: Likewise.
25252         * modules/unictype/block-test: Likewise.
25253         * modules/unictype/category-C: Likewise.
25254         * modules/unictype/category-Cc: Likewise.
25255         * modules/unictype/category-Cf: Likewise.
25256         * modules/unictype/category-Cn: Likewise.
25257         * modules/unictype/category-Co: Likewise.
25258         * modules/unictype/category-Cs: Likewise.
25259         * modules/unictype/category-L: Likewise.
25260         * modules/unictype/category-Ll: Likewise.
25261         * modules/unictype/category-Lm: Likewise.
25262         * modules/unictype/category-Lo: Likewise.
25263         * modules/unictype/category-Lt: Likewise.
25264         * modules/unictype/category-Lu: Likewise.
25265         * modules/unictype/category-M: Likewise.
25266         * modules/unictype/category-Mc: Likewise.
25267         * modules/unictype/category-Me: Likewise.
25268         * modules/unictype/category-Mn: Likewise.
25269         * modules/unictype/category-N: Likewise.
25270         * modules/unictype/category-Nd: Likewise.
25271         * modules/unictype/category-Nl: Likewise.
25272         * modules/unictype/category-No: Likewise.
25273         * modules/unictype/category-P: Likewise.
25274         * modules/unictype/category-Pc: Likewise.
25275         * modules/unictype/category-Pd: Likewise.
25276         * modules/unictype/category-Pe: Likewise.
25277         * modules/unictype/category-Pf: Likewise.
25278         * modules/unictype/category-Pi: Likewise.
25279         * modules/unictype/category-Po: Likewise.
25280         * modules/unictype/category-Ps: Likewise.
25281         * modules/unictype/category-S: Likewise.
25282         * modules/unictype/category-Sc: Likewise.
25283         * modules/unictype/category-Sk: Likewise.
25284         * modules/unictype/category-Sm: Likewise.
25285         * modules/unictype/category-So: Likewise.
25286         * modules/unictype/category-Z: Likewise.
25287         * modules/unictype/category-Zl: Likewise.
25288         * modules/unictype/category-Zp: Likewise.
25289         * modules/unictype/category-Zs: Likewise.
25290         * modules/unictype/category-and: Likewise.
25291         * modules/unictype/category-and-not: Likewise.
25292         * modules/unictype/category-byname: Likewise.
25293         * modules/unictype/category-name: Likewise.
25294         * modules/unictype/category-none: Likewise.
25295         * modules/unictype/category-of: Likewise.
25296         * modules/unictype/category-or: Likewise.
25297         * modules/unictype/category-test: Likewise.
25298         * modules/unictype/combining-class: Likewise.
25299         * modules/unictype/ctype-alnum: Likewise.
25300         * modules/unictype/ctype-alpha: Likewise.
25301         * modules/unictype/ctype-blank: Likewise.
25302         * modules/unictype/ctype-cntrl: Likewise.
25303         * modules/unictype/ctype-digit: Likewise.
25304         * modules/unictype/ctype-graph: Likewise.
25305         * modules/unictype/ctype-lower: Likewise.
25306         * modules/unictype/ctype-print: Likewise.
25307         * modules/unictype/ctype-punct: Likewise.
25308         * modules/unictype/ctype-space: Likewise.
25309         * modules/unictype/ctype-upper: Likewise.
25310         * modules/unictype/ctype-xdigit: Likewise.
25311         * modules/unictype/decimal-digit: Likewise.
25312         * modules/unictype/digit: Likewise.
25313         * modules/unictype/mirror: Likewise.
25314         * modules/unictype/numeric: Likewise.
25315         * modules/unictype/property-alphabetic: Likewise.
25316         * modules/unictype/property-ascii-hex-digit: Likewise.
25317         * modules/unictype/property-bidi-arabic-digit: Likewise.
25318         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
25319         * modules/unictype/property-bidi-block-separator: Likewise.
25320         * modules/unictype/property-bidi-boundary-neutral: Likewise.
25321         * modules/unictype/property-bidi-common-separator: Likewise.
25322         * modules/unictype/property-bidi-control: Likewise.
25323         * modules/unictype/property-bidi-embedding-or-override: Likewise.
25324         * modules/unictype/property-bidi-eur-num-separator: Likewise.
25325         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
25326         * modules/unictype/property-bidi-european-digit: Likewise.
25327         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
25328         * modules/unictype/property-bidi-left-to-right: Likewise.
25329         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
25330         * modules/unictype/property-bidi-other-neutral: Likewise.
25331         * modules/unictype/property-bidi-pdf: Likewise.
25332         * modules/unictype/property-bidi-segment-separator: Likewise.
25333         * modules/unictype/property-bidi-whitespace: Likewise.
25334         * modules/unictype/property-byname: Likewise.
25335         * modules/unictype/property-combining: Likewise.
25336         * modules/unictype/property-composite: Likewise.
25337         * modules/unictype/property-currency-symbol: Likewise.
25338         * modules/unictype/property-dash: Likewise.
25339         * modules/unictype/property-decimal-digit: Likewise.
25340         * modules/unictype/property-default-ignorable-code-point: Likewise.
25341         * modules/unictype/property-deprecated: Likewise.
25342         * modules/unictype/property-diacritic: Likewise.
25343         * modules/unictype/property-extender: Likewise.
25344         * modules/unictype/property-format-control: Likewise.
25345         * modules/unictype/property-grapheme-base: Likewise.
25346         * modules/unictype/property-grapheme-extend: Likewise.
25347         * modules/unictype/property-grapheme-link: Likewise.
25348         * modules/unictype/property-hex-digit: Likewise.
25349         * modules/unictype/property-hyphen: Likewise.
25350         * modules/unictype/property-id-continue: Likewise.
25351         * modules/unictype/property-id-start: Likewise.
25352         * modules/unictype/property-ideographic: Likewise.
25353         * modules/unictype/property-ids-binary-operator: Likewise.
25354         * modules/unictype/property-ids-trinary-operator: Likewise.
25355         * modules/unictype/property-ignorable-control: Likewise.
25356         * modules/unictype/property-iso-control: Likewise.
25357         * modules/unictype/property-join-control: Likewise.
25358         * modules/unictype/property-left-of-pair: Likewise.
25359         * modules/unictype/property-line-separator: Likewise.
25360         * modules/unictype/property-logical-order-exception: Likewise.
25361         * modules/unictype/property-lowercase: Likewise.
25362         * modules/unictype/property-math: Likewise.
25363         * modules/unictype/property-non-break: Likewise.
25364         * modules/unictype/property-not-a-character: Likewise.
25365         * modules/unictype/property-numeric: Likewise.
25366         * modules/unictype/property-other-alphabetic: Likewise.
25367         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
25368         * modules/unictype/property-other-grapheme-extend: Likewise.
25369         * modules/unictype/property-other-id-continue: Likewise.
25370         * modules/unictype/property-other-id-start: Likewise.
25371         * modules/unictype/property-other-lowercase: Likewise.
25372         * modules/unictype/property-other-math: Likewise.
25373         * modules/unictype/property-other-uppercase: Likewise.
25374         * modules/unictype/property-paired-punctuation: Likewise.
25375         * modules/unictype/property-paragraph-separator: Likewise.
25376         * modules/unictype/property-pattern-syntax: Likewise.
25377         * modules/unictype/property-pattern-white-space: Likewise.
25378         * modules/unictype/property-private-use: Likewise.
25379         * modules/unictype/property-punctuation: Likewise.
25380         * modules/unictype/property-quotation-mark: Likewise.
25381         * modules/unictype/property-radical: Likewise.
25382         * modules/unictype/property-sentence-terminal: Likewise.
25383         * modules/unictype/property-soft-dotted: Likewise.
25384         * modules/unictype/property-space: Likewise.
25385         * modules/unictype/property-terminal-punctuation: Likewise.
25386         * modules/unictype/property-test: Likewise.
25387         * modules/unictype/property-titlecase: Likewise.
25388         * modules/unictype/property-unassigned-code-value: Likewise.
25389         * modules/unictype/property-unified-ideograph: Likewise.
25390         * modules/unictype/property-uppercase: Likewise.
25391         * modules/unictype/property-variation-selector: Likewise.
25392         * modules/unictype/property-white-space: Likewise.
25393         * modules/unictype/property-xid-continue: Likewise.
25394         * modules/unictype/property-xid-start: Likewise.
25395         * modules/unictype/property-zero-width: Likewise.
25396         * modules/unictype/scripts: Likewise.
25397         * modules/unictype/syntax-c-ident: Likewise.
25398         * modules/unictype/syntax-c-whitespace: Likewise.
25399         * modules/unictype/syntax-java-ident: Likewise.
25400         * modules/unictype/syntax-java-whitespace: Likewise.
25401         * modules/unilbrk/u8-possible-linebreaks: Likewise.
25402         * modules/unilbrk/u8-width-linebreaks: Likewise.
25403         * modules/unilbrk/u16-possible-linebreaks: Likewise.
25404         * modules/unilbrk/u16-width-linebreaks: Likewise.
25405         * modules/unilbrk/u32-possible-linebreaks: Likewise.
25406         * modules/unilbrk/u32-width-linebreaks: Likewise.
25407         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
25408         * modules/unilbrk/ulc-width-linebreaks: Likewise.
25409         * modules/uniname/uniname: Likewise.
25410         * modules/uninorm/canonical-decomposition: Likewise.
25411         * modules/uninorm/composition: Likewise.
25412         * modules/uninorm/decomposing-form: Likewise.
25413         * modules/uninorm/decomposition: Likewise.
25414         * modules/uninorm/filter: Likewise.
25415         * modules/uninorm/nfc: Likewise.
25416         * modules/uninorm/nfd: Likewise.
25417         * modules/uninorm/nfkc: Likewise.
25418         * modules/uninorm/nfkd: Likewise.
25419         * modules/uninorm/u8-normalize: Likewise.
25420         * modules/uninorm/u8-normcmp: Likewise.
25421         * modules/uninorm/u8-normcoll: Likewise.
25422         * modules/uninorm/u8-normxfrm: Likewise.
25423         * modules/uninorm/u16-normalize: Likewise.
25424         * modules/uninorm/u16-normcmp: Likewise.
25425         * modules/uninorm/u16-normcoll: Likewise.
25426         * modules/uninorm/u16-normxfrm: Likewise.
25427         * modules/uninorm/u32-normalize: Likewise.
25428         * modules/uninorm/u32-normcmp: Likewise.
25429         * modules/uninorm/u32-normcoll: Likewise.
25430         * modules/uninorm/u32-normxfrm: Likewise.
25431         * modules/unistdio/u8-asnprintf: Likewise.
25432         * modules/unistdio/u8-asprintf: Likewise.
25433         * modules/unistdio/u8-snprintf: Likewise.
25434         * modules/unistdio/u8-sprintf: Likewise.
25435         * modules/unistdio/u8-u8-asnprintf: Likewise.
25436         * modules/unistdio/u8-u8-asprintf: Likewise.
25437         * modules/unistdio/u8-u8-snprintf: Likewise.
25438         * modules/unistdio/u8-u8-sprintf: Likewise.
25439         * modules/unistdio/u8-u8-vasnprintf: Likewise.
25440         * modules/unistdio/u8-u8-vasprintf: Likewise.
25441         * modules/unistdio/u8-u8-vsnprintf: Likewise.
25442         * modules/unistdio/u8-u8-vsprintf: Likewise.
25443         * modules/unistdio/u8-vasnprintf: Likewise.
25444         * modules/unistdio/u8-vasprintf: Likewise.
25445         * modules/unistdio/u8-vsnprintf: Likewise.
25446         * modules/unistdio/u8-vsprintf: Likewise.
25447         * modules/unistdio/u16-asnprintf: Likewise.
25448         * modules/unistdio/u16-asprintf: Likewise.
25449         * modules/unistdio/u16-snprintf: Likewise.
25450         * modules/unistdio/u16-sprintf: Likewise.
25451         * modules/unistdio/u16-u16-asnprintf: Likewise.
25452         * modules/unistdio/u16-u16-asprintf: Likewise.
25453         * modules/unistdio/u16-u16-snprintf: Likewise.
25454         * modules/unistdio/u16-u16-sprintf: Likewise.
25455         * modules/unistdio/u16-u16-vasnprintf: Likewise.
25456         * modules/unistdio/u16-u16-vasprintf: Likewise.
25457         * modules/unistdio/u16-u16-vsnprintf: Likewise.
25458         * modules/unistdio/u16-u16-vsprintf: Likewise.
25459         * modules/unistdio/u16-vasnprintf: Likewise.
25460         * modules/unistdio/u16-vasprintf: Likewise.
25461         * modules/unistdio/u16-vsnprintf: Likewise.
25462         * modules/unistdio/u16-vsprintf: Likewise.
25463         * modules/unistdio/u32-asnprintf: Likewise.
25464         * modules/unistdio/u32-asprintf: Likewise.
25465         * modules/unistdio/u32-snprintf: Likewise.
25466         * modules/unistdio/u32-sprintf: Likewise.
25467         * modules/unistdio/u32-u32-asnprintf: Likewise.
25468         * modules/unistdio/u32-u32-asprintf: Likewise.
25469         * modules/unistdio/u32-u32-snprintf: Likewise.
25470         * modules/unistdio/u32-u32-sprintf: Likewise.
25471         * modules/unistdio/u32-u32-vasnprintf: Likewise.
25472         * modules/unistdio/u32-u32-vasprintf: Likewise.
25473         * modules/unistdio/u32-u32-vsnprintf: Likewise.
25474         * modules/unistdio/u32-u32-vsprintf: Likewise.
25475         * modules/unistdio/u32-vasnprintf: Likewise.
25476         * modules/unistdio/u32-vasprintf: Likewise.
25477         * modules/unistdio/u32-vsnprintf: Likewise.
25478         * modules/unistdio/u32-vsprintf: Likewise.
25479         * modules/unistdio/ulc-asnprintf: Likewise.
25480         * modules/unistdio/ulc-asprintf: Likewise.
25481         * modules/unistdio/ulc-fprintf: Likewise.
25482         * modules/unistdio/ulc-snprintf: Likewise.
25483         * modules/unistdio/ulc-sprintf: Likewise.
25484         * modules/unistdio/ulc-vasnprintf: Likewise.
25485         * modules/unistdio/ulc-vasprintf: Likewise.
25486         * modules/unistdio/ulc-vfprintf: Likewise.
25487         * modules/unistdio/ulc-vsnprintf: Likewise.
25488         * modules/unistdio/ulc-vsprintf: Likewise.
25489         * modules/unistr/u8-check: Likewise.
25490         * modules/unistr/u8-chr: Likewise.
25491         * modules/unistr/u8-cmp: Likewise.
25492         * modules/unistr/u8-cmp2: Likewise.
25493         * modules/unistr/u8-cpy: Likewise.
25494         * modules/unistr/u8-cpy-alloc: Likewise.
25495         * modules/unistr/u8-endswith: Likewise.
25496         * modules/unistr/u8-mblen: Likewise.
25497         * modules/unistr/u8-mbsnlen: Likewise.
25498         * modules/unistr/u8-mbtouc: Likewise.
25499         * modules/unistr/u8-mbtouc-unsafe: Likewise.
25500         * modules/unistr/u8-mbtoucr: Likewise.
25501         * modules/unistr/u8-move: Likewise.
25502         * modules/unistr/u8-next: Likewise.
25503         * modules/unistr/u8-prev: Likewise.
25504         * modules/unistr/u8-set: Likewise.
25505         * modules/unistr/u8-startswith: Likewise.
25506         * modules/unistr/u8-stpcpy: Likewise.
25507         * modules/unistr/u8-stpncpy: Likewise.
25508         * modules/unistr/u8-strcat: Likewise.
25509         * modules/unistr/u8-strchr: Likewise.
25510         * modules/unistr/u8-strcmp: Likewise.
25511         * modules/unistr/u8-strcoll: Likewise.
25512         * modules/unistr/u8-strcpy: Likewise.
25513         * modules/unistr/u8-strcspn: Likewise.
25514         * modules/unistr/u8-strdup: Likewise.
25515         * modules/unistr/u8-strlen: Likewise.
25516         * modules/unistr/u8-strmblen: Likewise.
25517         * modules/unistr/u8-strmbtouc: Likewise.
25518         * modules/unistr/u8-strncat: Likewise.
25519         * modules/unistr/u8-strncmp: Likewise.
25520         * modules/unistr/u8-strncpy: Likewise.
25521         * modules/unistr/u8-strnlen: Likewise.
25522         * modules/unistr/u8-strpbrk: Likewise.
25523         * modules/unistr/u8-strrchr: Likewise.
25524         * modules/unistr/u8-strspn: Likewise.
25525         * modules/unistr/u8-strstr: Likewise.
25526         * modules/unistr/u8-strtok: Likewise.
25527         * modules/unistr/u8-to-u16: Likewise.
25528         * modules/unistr/u8-to-u32: Likewise.
25529         * modules/unistr/u8-uctomb: Likewise.
25530         * modules/unistr/u16-check: Likewise.
25531         * modules/unistr/u16-chr: Likewise.
25532         * modules/unistr/u16-cmp: Likewise.
25533         * modules/unistr/u16-cmp2: Likewise.
25534         * modules/unistr/u16-cpy: Likewise.
25535         * modules/unistr/u16-cpy-alloc: Likewise.
25536         * modules/unistr/u16-endswith: Likewise.
25537         * modules/unistr/u16-mblen: Likewise.
25538         * modules/unistr/u16-mbsnlen: Likewise.
25539         * modules/unistr/u16-mbtouc: Likewise.
25540         * modules/unistr/u16-mbtouc-unsafe: Likewise.
25541         * modules/unistr/u16-mbtoucr: Likewise.
25542         * modules/unistr/u16-move: Likewise.
25543         * modules/unistr/u16-next: Likewise.
25544         * modules/unistr/u16-prev: Likewise.
25545         * modules/unistr/u16-set: Likewise.
25546         * modules/unistr/u16-startswith: Likewise.
25547         * modules/unistr/u16-stpcpy: Likewise.
25548         * modules/unistr/u16-stpncpy: Likewise.
25549         * modules/unistr/u16-strcat: Likewise.
25550         * modules/unistr/u16-strchr: Likewise.
25551         * modules/unistr/u16-strcmp: Likewise.
25552         * modules/unistr/u16-strcoll: Likewise.
25553         * modules/unistr/u16-strcpy: Likewise.
25554         * modules/unistr/u16-strcspn: Likewise.
25555         * modules/unistr/u16-strdup: Likewise.
25556         * modules/unistr/u16-strlen: Likewise.
25557         * modules/unistr/u16-strmblen: Likewise.
25558         * modules/unistr/u16-strmbtouc: Likewise.
25559         * modules/unistr/u16-strncat: Likewise.
25560         * modules/unistr/u16-strncmp: Likewise.
25561         * modules/unistr/u16-strncpy: Likewise.
25562         * modules/unistr/u16-strnlen: Likewise.
25563         * modules/unistr/u16-strpbrk: Likewise.
25564         * modules/unistr/u16-strrchr: Likewise.
25565         * modules/unistr/u16-strspn: Likewise.
25566         * modules/unistr/u16-strstr: Likewise.
25567         * modules/unistr/u16-strtok: Likewise.
25568         * modules/unistr/u16-to-u32: Likewise.
25569         * modules/unistr/u16-to-u8: Likewise.
25570         * modules/unistr/u16-uctomb: Likewise.
25571         * modules/unistr/u32-check: Likewise.
25572         * modules/unistr/u32-chr: Likewise.
25573         * modules/unistr/u32-cmp: Likewise.
25574         * modules/unistr/u32-cmp2: Likewise.
25575         * modules/unistr/u32-cpy: Likewise.
25576         * modules/unistr/u32-cpy-alloc: Likewise.
25577         * modules/unistr/u32-endswith: Likewise.
25578         * modules/unistr/u32-mblen: Likewise.
25579         * modules/unistr/u32-mbsnlen: Likewise.
25580         * modules/unistr/u32-mbtouc: Likewise.
25581         * modules/unistr/u32-mbtouc-unsafe: Likewise.
25582         * modules/unistr/u32-mbtoucr: Likewise.
25583         * modules/unistr/u32-move: Likewise.
25584         * modules/unistr/u32-next: Likewise.
25585         * modules/unistr/u32-prev: Likewise.
25586         * modules/unistr/u32-set: Likewise.
25587         * modules/unistr/u32-startswith: Likewise.
25588         * modules/unistr/u32-stpcpy: Likewise.
25589         * modules/unistr/u32-stpncpy: Likewise.
25590         * modules/unistr/u32-strcat: Likewise.
25591         * modules/unistr/u32-strchr: Likewise.
25592         * modules/unistr/u32-strcmp: Likewise.
25593         * modules/unistr/u32-strcoll: Likewise.
25594         * modules/unistr/u32-strcpy: Likewise.
25595         * modules/unistr/u32-strcspn: Likewise.
25596         * modules/unistr/u32-strdup: Likewise.
25597         * modules/unistr/u32-strlen: Likewise.
25598         * modules/unistr/u32-strmblen: Likewise.
25599         * modules/unistr/u32-strmbtouc: Likewise.
25600         * modules/unistr/u32-strncat: Likewise.
25601         * modules/unistr/u32-strncmp: Likewise.
25602         * modules/unistr/u32-strncpy: Likewise.
25603         * modules/unistr/u32-strnlen: Likewise.
25604         * modules/unistr/u32-strpbrk: Likewise.
25605         * modules/unistr/u32-strrchr: Likewise.
25606         * modules/unistr/u32-strspn: Likewise.
25607         * modules/unistr/u32-strstr: Likewise.
25608         * modules/unistr/u32-strtok: Likewise.
25609         * modules/unistr/u32-to-u16: Likewise.
25610         * modules/unistr/u32-to-u8: Likewise.
25611         * modules/unistr/u32-uctomb: Likewise.
25612         * modules/uniwbrk/u8-wordbreaks: Likewise.
25613         * modules/uniwbrk/u16-wordbreaks: Likewise.
25614         * modules/uniwbrk/u32-wordbreaks: Likewise.
25615         * modules/uniwbrk/ulc-wordbreaks: Likewise.
25616         * modules/uniwbrk/wordbreak-property: Likewise.
25617         * modules/uniwidth/u8-strwidth: Likewise.
25618         * modules/uniwidth/u8-width: Likewise.
25619         * modules/uniwidth/u16-strwidth: Likewise.
25620         * modules/uniwidth/u16-width: Likewise.
25621         * modules/uniwidth/u32-strwidth: Likewise.
25622         * modules/uniwidth/u32-width: Likewise.
25623         * modules/uniwidth/width: Likewise.
25624         * modules/unicase/cased-tests (Makefile.am): Link all test programs
25625         with $(LIBUNISTRING).
25626         * modules/unicase/ignorable-tests: Likewise.
25627         * modules/unicase/locale-language-tests: Likewise.
25628         * modules/unicase/tolower-tests: Likewise.
25629         * modules/unicase/totitle-tests: Likewise.
25630         * modules/unicase/toupper-tests: Likewise.
25631         * modules/unicase/u8-casecmp-tests: Likewise.
25632         * modules/unicase/u8-casecoll-tests: Likewise.
25633         * modules/unicase/u8-casefold-tests: Likewise.
25634         * modules/unicase/u8-is-cased-tests: Likewise.
25635         * modules/unicase/u8-is-casefolded-tests: Likewise.
25636         * modules/unicase/u8-is-lowercase-tests: Likewise.
25637         * modules/unicase/u8-is-titlecase-tests: Likewise.
25638         * modules/unicase/u8-is-uppercase-tests: Likewise.
25639         * modules/unicase/u8-tolower-tests: Likewise.
25640         * modules/unicase/u8-totitle-tests: Likewise.
25641         * modules/unicase/u8-toupper-tests: Likewise.
25642         * modules/unicase/u16-casecmp-tests: Likewise.
25643         * modules/unicase/u16-casecoll-tests: Likewise.
25644         * modules/unicase/u16-casefold-tests: Likewise.
25645         * modules/unicase/u16-is-cased-tests: Likewise.
25646         * modules/unicase/u16-is-casefolded-tests: Likewise.
25647         * modules/unicase/u16-is-lowercase-tests: Likewise.
25648         * modules/unicase/u16-is-titlecase-tests: Likewise.
25649         * modules/unicase/u16-is-uppercase-tests: Likewise.
25650         * modules/unicase/u16-tolower-tests: Likewise.
25651         * modules/unicase/u16-totitle-tests: Likewise.
25652         * modules/unicase/u16-toupper-tests: Likewise.
25653         * modules/unicase/u32-casecmp-tests: Likewise.
25654         * modules/unicase/u32-casecoll-tests: Likewise.
25655         * modules/unicase/u32-casefold-tests: Likewise.
25656         * modules/unicase/u32-is-cased-tests: Likewise.
25657         * modules/unicase/u32-is-casefolded-tests: Likewise.
25658         * modules/unicase/u32-is-lowercase-tests: Likewise.
25659         * modules/unicase/u32-is-titlecase-tests: Likewise.
25660         * modules/unicase/u32-is-uppercase-tests: Likewise.
25661         * modules/unicase/u32-tolower-tests: Likewise.
25662         * modules/unicase/u32-totitle-tests: Likewise.
25663         * modules/unicase/u32-toupper-tests: Likewise.
25664         * modules/unicase/ulc-casecmp-tests: Likewise.
25665         * modules/unicase/ulc-casecoll-tests: Likewise.
25666         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
25667         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
25668         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
25669         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
25670         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
25671         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
25672         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
25673         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
25674         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
25675         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
25676         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
25677         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
25678         * modules/unictype/bidicategory-byname-tests: Likewise.
25679         * modules/unictype/bidicategory-name-tests: Likewise.
25680         * modules/unictype/bidicategory-of-tests: Likewise.
25681         * modules/unictype/bidicategory-test-tests: Likewise.
25682         * modules/unictype/block-list-tests: Likewise.
25683         * modules/unictype/block-of-tests: Likewise.
25684         * modules/unictype/block-test-tests: Likewise.
25685         * modules/unictype/category-C-tests: Likewise.
25686         * modules/unictype/category-Cc-tests: Likewise.
25687         * modules/unictype/category-Cf-tests: Likewise.
25688         * modules/unictype/category-Cn-tests: Likewise.
25689         * modules/unictype/category-Co-tests: Likewise.
25690         * modules/unictype/category-Cs-tests: Likewise.
25691         * modules/unictype/category-L-tests: Likewise.
25692         * modules/unictype/category-Ll-tests: Likewise.
25693         * modules/unictype/category-Lm-tests: Likewise.
25694         * modules/unictype/category-Lo-tests: Likewise.
25695         * modules/unictype/category-Lt-tests: Likewise.
25696         * modules/unictype/category-Lu-tests: Likewise.
25697         * modules/unictype/category-M-tests: Likewise.
25698         * modules/unictype/category-Mc-tests: Likewise.
25699         * modules/unictype/category-Me-tests: Likewise.
25700         * modules/unictype/category-Mn-tests: Likewise.
25701         * modules/unictype/category-N-tests: Likewise.
25702         * modules/unictype/category-Nd-tests: Likewise.
25703         * modules/unictype/category-Nl-tests: Likewise.
25704         * modules/unictype/category-No-tests: Likewise.
25705         * modules/unictype/category-P-tests: Likewise.
25706         * modules/unictype/category-Pc-tests: Likewise.
25707         * modules/unictype/category-Pd-tests: Likewise.
25708         * modules/unictype/category-Pe-tests: Likewise.
25709         * modules/unictype/category-Pf-tests: Likewise.
25710         * modules/unictype/category-Pi-tests: Likewise.
25711         * modules/unictype/category-Po-tests: Likewise.
25712         * modules/unictype/category-Ps-tests: Likewise.
25713         * modules/unictype/category-S-tests: Likewise.
25714         * modules/unictype/category-Sc-tests: Likewise.
25715         * modules/unictype/category-Sk-tests: Likewise.
25716         * modules/unictype/category-Sm-tests: Likewise.
25717         * modules/unictype/category-So-tests: Likewise.
25718         * modules/unictype/category-Z-tests: Likewise.
25719         * modules/unictype/category-Zl-tests: Likewise.
25720         * modules/unictype/category-Zp-tests: Likewise.
25721         * modules/unictype/category-Zs-tests: Likewise.
25722         * modules/unictype/category-and-not-tests: Likewise.
25723         * modules/unictype/category-and-tests: Likewise.
25724         * modules/unictype/category-byname-tests: Likewise.
25725         * modules/unictype/category-name-tests: Likewise.
25726         * modules/unictype/category-none-tests: Likewise.
25727         * modules/unictype/category-of-tests: Likewise.
25728         * modules/unictype/category-or-tests: Likewise.
25729         * modules/unictype/category-test-withtable-tests: Likewise.
25730         * modules/unictype/combining-class-tests: Likewise.
25731         * modules/unictype/ctype-alnum-tests: Likewise.
25732         * modules/unictype/ctype-alpha-tests: Likewise.
25733         * modules/unictype/ctype-blank-tests: Likewise.
25734         * modules/unictype/ctype-cntrl-tests: Likewise.
25735         * modules/unictype/ctype-digit-tests: Likewise.
25736         * modules/unictype/ctype-graph-tests: Likewise.
25737         * modules/unictype/ctype-lower-tests: Likewise.
25738         * modules/unictype/ctype-print-tests: Likewise.
25739         * modules/unictype/ctype-punct-tests: Likewise.
25740         * modules/unictype/ctype-space-tests: Likewise.
25741         * modules/unictype/ctype-upper-tests: Likewise.
25742         * modules/unictype/ctype-xdigit-tests: Likewise.
25743         * modules/unictype/decimal-digit-tests: Likewise.
25744         * modules/unictype/digit-tests: Likewise.
25745         * modules/unictype/mirror-tests: Likewise.
25746         * modules/unictype/numeric-tests: Likewise.
25747         * modules/unictype/property-alphabetic-tests: Likewise.
25748         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
25749         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
25750         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
25751         * modules/unictype/property-bidi-block-separator-tests: Likewise.
25752         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
25753         * modules/unictype/property-bidi-common-separator-tests: Likewise.
25754         * modules/unictype/property-bidi-control-tests: Likewise.
25755         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
25756         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
25757         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
25758         * modules/unictype/property-bidi-european-digit-tests: Likewise.
25759         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
25760         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
25761         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
25762         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
25763         * modules/unictype/property-bidi-pdf-tests: Likewise.
25764         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
25765         * modules/unictype/property-bidi-whitespace-tests: Likewise.
25766         * modules/unictype/property-byname-tests: Likewise.
25767         * modules/unictype/property-combining-tests: Likewise.
25768         * modules/unictype/property-composite-tests: Likewise.
25769         * modules/unictype/property-currency-symbol-tests: Likewise.
25770         * modules/unictype/property-dash-tests: Likewise.
25771         * modules/unictype/property-decimal-digit-tests: Likewise.
25772         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
25773         * modules/unictype/property-deprecated-tests: Likewise.
25774         * modules/unictype/property-diacritic-tests: Likewise.
25775         * modules/unictype/property-extender-tests: Likewise.
25776         * modules/unictype/property-format-control-tests: Likewise.
25777         * modules/unictype/property-grapheme-base-tests: Likewise.
25778         * modules/unictype/property-grapheme-extend-tests: Likewise.
25779         * modules/unictype/property-grapheme-link-tests: Likewise.
25780         * modules/unictype/property-hex-digit-tests: Likewise.
25781         * modules/unictype/property-hyphen-tests: Likewise.
25782         * modules/unictype/property-id-continue-tests: Likewise.
25783         * modules/unictype/property-id-start-tests: Likewise.
25784         * modules/unictype/property-ideographic-tests: Likewise.
25785         * modules/unictype/property-ids-binary-operator-tests: Likewise.
25786         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
25787         * modules/unictype/property-ignorable-control-tests: Likewise.
25788         * modules/unictype/property-iso-control-tests: Likewise.
25789         * modules/unictype/property-join-control-tests: Likewise.
25790         * modules/unictype/property-left-of-pair-tests: Likewise.
25791         * modules/unictype/property-line-separator-tests: Likewise.
25792         * modules/unictype/property-logical-order-exception-tests: Likewise.
25793         * modules/unictype/property-lowercase-tests: Likewise.
25794         * modules/unictype/property-math-tests: Likewise.
25795         * modules/unictype/property-non-break-tests: Likewise.
25796         * modules/unictype/property-not-a-character-tests: Likewise.
25797         * modules/unictype/property-numeric-tests: Likewise.
25798         * modules/unictype/property-other-alphabetic-tests: Likewise.
25799         * modules/unictype/property-other-default-ignorable-code-point-tests:
25800         Likewise.
25801         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
25802         * modules/unictype/property-other-id-continue-tests: Likewise.
25803         * modules/unictype/property-other-id-start-tests: Likewise.
25804         * modules/unictype/property-other-lowercase-tests: Likewise.
25805         * modules/unictype/property-other-math-tests: Likewise.
25806         * modules/unictype/property-other-uppercase-tests: Likewise.
25807         * modules/unictype/property-paired-punctuation-tests: Likewise.
25808         * modules/unictype/property-paragraph-separator-tests: Likewise.
25809         * modules/unictype/property-pattern-syntax-tests: Likewise.
25810         * modules/unictype/property-pattern-white-space-tests: Likewise.
25811         * modules/unictype/property-private-use-tests: Likewise.
25812         * modules/unictype/property-punctuation-tests: Likewise.
25813         * modules/unictype/property-quotation-mark-tests: Likewise.
25814         * modules/unictype/property-radical-tests: Likewise.
25815         * modules/unictype/property-sentence-terminal-tests: Likewise.
25816         * modules/unictype/property-soft-dotted-tests: Likewise.
25817         * modules/unictype/property-space-tests: Likewise.
25818         * modules/unictype/property-terminal-punctuation-tests: Likewise.
25819         * modules/unictype/property-test-tests: Likewise.
25820         * modules/unictype/property-titlecase-tests: Likewise.
25821         * modules/unictype/property-unassigned-code-value-tests: Likewise.
25822         * modules/unictype/property-unified-ideograph-tests: Likewise.
25823         * modules/unictype/property-uppercase-tests: Likewise.
25824         * modules/unictype/property-variation-selector-tests: Likewise.
25825         * modules/unictype/property-white-space-tests: Likewise.
25826         * modules/unictype/property-xid-continue-tests: Likewise.
25827         * modules/unictype/property-xid-start-tests: Likewise.
25828         * modules/unictype/property-zero-width-tests: Likewise.
25829         * modules/unictype/scripts-tests: Likewise.
25830         * modules/unictype/syntax-c-ident-tests: Likewise.
25831         * modules/unictype/syntax-c-whitespace-tests: Likewise.
25832         * modules/unictype/syntax-java-ident-tests: Likewise.
25833         * modules/unictype/syntax-java-whitespace-tests: Likewise.
25834         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
25835         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
25836         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
25837         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
25838         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
25839         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
25840         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
25841         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
25842         * modules/uniname/uniname-tests: Likewise.
25843         * modules/uninorm/canonical-decomposition-tests: Likewise.
25844         * modules/uninorm/compat-decomposition-tests: Likewise.
25845         * modules/uninorm/composition-tests: Likewise.
25846         * modules/uninorm/decomposing-form-tests: Likewise.
25847         * modules/uninorm/decomposition-tests: Likewise.
25848         * modules/uninorm/filter-tests: Likewise.
25849         * modules/uninorm/nfc-tests: Likewise.
25850         * modules/uninorm/nfd-tests: Likewise.
25851         * modules/uninorm/nfkc-tests: Likewise.
25852         * modules/uninorm/nfkd-tests: Likewise.
25853         * modules/uninorm/u8-normcmp-tests: Likewise.
25854         * modules/uninorm/u8-normcoll-tests: Likewise.
25855         * modules/uninorm/u16-normcmp-tests: Likewise.
25856         * modules/uninorm/u16-normcoll-tests: Likewise.
25857         * modules/uninorm/u32-normcmp-tests: Likewise.
25858         * modules/uninorm/u32-normcoll-tests: Likewise.
25859         * modules/unistdio/u8-asnprintf-tests: Likewise.
25860         * modules/unistdio/u8-vasnprintf-tests: Likewise.
25861         * modules/unistdio/u8-vasprintf-tests: Likewise.
25862         * modules/unistdio/u8-vsnprintf-tests: Likewise.
25863         * modules/unistdio/u8-vsprintf-tests: Likewise.
25864         * modules/unistdio/u16-asnprintf-tests: Likewise.
25865         * modules/unistdio/u16-vasnprintf-tests: Likewise.
25866         * modules/unistdio/u16-vasprintf-tests: Likewise.
25867         * modules/unistdio/u16-vsnprintf-tests: Likewise.
25868         * modules/unistdio/u16-vsprintf-tests: Likewise.
25869         * modules/unistdio/u32-asnprintf-tests: Likewise.
25870         * modules/unistdio/u32-vasnprintf-tests: Likewise.
25871         * modules/unistdio/u32-vasprintf-tests: Likewise.
25872         * modules/unistdio/u32-vsnprintf-tests: Likewise.
25873         * modules/unistdio/u32-vsprintf-tests: Likewise.
25874         * modules/unistdio/ulc-asnprintf-tests: Likewise.
25875         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
25876         * modules/unistdio/ulc-vasprintf-tests: Likewise.
25877         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
25878         * modules/unistdio/ulc-vsprintf-tests: Likewise.
25879         * modules/unistr/u8-check-tests: Likewise.
25880         * modules/unistr/u8-chr-tests: Likewise.
25881         * modules/unistr/u8-cmp-tests: Likewise.
25882         * modules/unistr/u8-cmp2-tests: Likewise.
25883         * modules/unistr/u8-cpy-alloc-tests: Likewise.
25884         * modules/unistr/u8-cpy-tests: Likewise.
25885         * modules/unistr/u8-mblen-tests: Likewise.
25886         * modules/unistr/u8-mbsnlen-tests: Likewise.
25887         * modules/unistr/u8-mbtouc-tests: Likewise.
25888         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
25889         * modules/unistr/u8-mbtoucr-tests: Likewise.
25890         * modules/unistr/u8-move-tests: Likewise.
25891         * modules/unistr/u8-next-tests: Likewise.
25892         * modules/unistr/u8-prev-tests: Likewise.
25893         * modules/unistr/u8-set-tests: Likewise.
25894         * modules/unistr/u8-stpcpy-tests: Likewise.
25895         * modules/unistr/u8-stpncpy-tests: Likewise.
25896         * modules/unistr/u8-strcat-tests: Likewise.
25897         * modules/unistr/u8-strcmp-tests: Likewise.
25898         * modules/unistr/u8-strcoll-tests: Likewise.
25899         * modules/unistr/u8-strcpy-tests: Likewise.
25900         * modules/unistr/u8-strdup-tests: Likewise.
25901         * modules/unistr/u8-strlen-tests: Likewise.
25902         * modules/unistr/u8-strmblen-tests: Likewise.
25903         * modules/unistr/u8-strmbtouc-tests: Likewise.
25904         * modules/unistr/u8-strncat-tests: Likewise.
25905         * modules/unistr/u8-strncmp-tests: Likewise.
25906         * modules/unistr/u8-strncpy-tests: Likewise.
25907         * modules/unistr/u8-strnlen-tests: Likewise.
25908         * modules/unistr/u8-to-u16-tests: Likewise.
25909         * modules/unistr/u8-to-u32-tests: Likewise.
25910         * modules/unistr/u8-uctomb-tests: Likewise.
25911         * modules/unistr/u16-check-tests: Likewise.
25912         * modules/unistr/u16-chr-tests: Likewise.
25913         * modules/unistr/u16-cmp-tests: Likewise.
25914         * modules/unistr/u16-cmp2-tests: Likewise.
25915         * modules/unistr/u16-cpy-alloc-tests: Likewise.
25916         * modules/unistr/u16-cpy-tests: Likewise.
25917         * modules/unistr/u16-mblen-tests: Likewise.
25918         * modules/unistr/u16-mbsnlen-tests: Likewise.
25919         * modules/unistr/u16-mbtouc-tests: Likewise.
25920         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
25921         * modules/unistr/u16-mbtoucr-tests: Likewise.
25922         * modules/unistr/u16-move-tests: Likewise.
25923         * modules/unistr/u16-next-tests: Likewise.
25924         * modules/unistr/u16-prev-tests: Likewise.
25925         * modules/unistr/u16-set-tests: Likewise.
25926         * modules/unistr/u16-stpcpy-tests: Likewise.
25927         * modules/unistr/u16-stpncpy-tests: Likewise.
25928         * modules/unistr/u16-strcat-tests: Likewise.
25929         * modules/unistr/u16-strcmp-tests: Likewise.
25930         * modules/unistr/u16-strcoll-tests: Likewise.
25931         * modules/unistr/u16-strcpy-tests: Likewise.
25932         * modules/unistr/u16-strdup-tests: Likewise.
25933         * modules/unistr/u16-strlen-tests: Likewise.
25934         * modules/unistr/u16-strmblen-tests: Likewise.
25935         * modules/unistr/u16-strmbtouc-tests: Likewise.
25936         * modules/unistr/u16-strncat-tests: Likewise.
25937         * modules/unistr/u16-strncmp-tests: Likewise.
25938         * modules/unistr/u16-strncpy-tests: Likewise.
25939         * modules/unistr/u16-strnlen-tests: Likewise.
25940         * modules/unistr/u16-to-u32-tests: Likewise.
25941         * modules/unistr/u16-to-u8-tests: Likewise.
25942         * modules/unistr/u16-uctomb-tests: Likewise.
25943         * modules/unistr/u32-check-tests: Likewise.
25944         * modules/unistr/u32-chr-tests: Likewise.
25945         * modules/unistr/u32-cmp-tests: Likewise.
25946         * modules/unistr/u32-cmp2-tests: Likewise.
25947         * modules/unistr/u32-cpy-alloc-tests: Likewise.
25948         * modules/unistr/u32-cpy-tests: Likewise.
25949         * modules/unistr/u32-mblen-tests: Likewise.
25950         * modules/unistr/u32-mbsnlen-tests: Likewise.
25951         * modules/unistr/u32-mbtouc-tests: Likewise.
25952         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
25953         * modules/unistr/u32-mbtoucr-tests: Likewise.
25954         * modules/unistr/u32-move-tests: Likewise.
25955         * modules/unistr/u32-next-tests: Likewise.
25956         * modules/unistr/u32-prev-tests: Likewise.
25957         * modules/unistr/u32-set-tests: Likewise.
25958         * modules/unistr/u32-stpcpy-tests: Likewise.
25959         * modules/unistr/u32-stpncpy-tests: Likewise.
25960         * modules/unistr/u32-strcat-tests: Likewise.
25961         * modules/unistr/u32-strcmp-tests: Likewise.
25962         * modules/unistr/u32-strcoll-tests: Likewise.
25963         * modules/unistr/u32-strcpy-tests: Likewise.
25964         * modules/unistr/u32-strdup-tests: Likewise.
25965         * modules/unistr/u32-strlen-tests: Likewise.
25966         * modules/unistr/u32-strmblen-tests: Likewise.
25967         * modules/unistr/u32-strmbtouc-tests: Likewise.
25968         * modules/unistr/u32-strncat-tests: Likewise.
25969         * modules/unistr/u32-strncmp-tests: Likewise.
25970         * modules/unistr/u32-strncpy-tests: Likewise.
25971         * modules/unistr/u32-strnlen-tests: Likewise.
25972         * modules/unistr/u32-to-u16-tests: Likewise.
25973         * modules/unistr/u32-to-u8-tests: Likewise.
25974         * modules/unistr/u32-uctomb-tests: Likewise.
25975         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
25976         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
25977         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
25978         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
25979         * modules/uniwidth/u8-strwidth-tests: Likewise.
25980         * modules/uniwidth/u8-width-tests: Likewise.
25981         * modules/uniwidth/u16-strwidth-tests: Likewise.
25982         * modules/uniwidth/u16-width-tests: Likewise.
25983         * modules/uniwidth/u32-strwidth-tests: Likewise.
25984         * modules/uniwidth/u32-width-tests: Likewise.
25985         * modules/uniwidth/width-tests: Likewise.
25986
25987 2010-05-18  Richard Jones  <rjones@redhat.com>
25988
25989         doc: users.txt: list hivex
25990         * users.txt: Add hivex.
25991
25992 2010-05-18  Richard Jones  <rjones@redhat.com>
25993
25994         doc: users.txt: list febootstrap
25995         * users.txt: Add febootstrap.
25996
25997 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
25998
25999         bootstrap: fix an error when gnulib is not used as a git submodule
26000         * build-aux/bootstrap (gnulib_path): If its length is zero then
26001         assign "gnulib" to it.
26002         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
26003
26004 2010-05-16  Bruno Haible  <bruno@clisp.org>
26005
26006         Avoid autoconf warnings about AM_ICONV.
26007         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
26008         2.64.
26009
26010 2010-05-16  Bruno Haible  <bruno@clisp.org>
26011
26012         absolute-header: Make the macro usable in more situations.
26013         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
26014         from gl_ABSOLUTE_HEADER.
26015         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
26016
26017 2010-05-16  James Youngman  <jay@gnu.org>
26018
26019         doc: update users.txt
26020         * users.txt: Add CSSC.
26021
26022 2010-05-16  Jim Meyering  <meyering@redhat.com>
26023
26024         init.sh: fix an error in the previous change; add more comments
26025         * tests/init.sh: Compare exit code in loop against 9, not 2.
26026         Patch by Bruno Haible.
26027         Make the two tests more similar by adding an empty "then" clause.
26028         Add comments.
26029
26030         init.sh: avoid unnecessary shell re-exec
26031         * tests/init.sh: Improve the re-exec-required check to first test the
26032         current shell.  If it passes the test, do not search for a shell that
26033         does pass, and do not re-exec.  This test is particularly contorted to
26034         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
26035         of $(...) evokes a syntax error and causes immediate shell exit with
26036         status 2.  Bruno Haible reported that the re-exec made it impossible
26037         to single-step through any init.sh-using script.
26038
26039 2010-05-16  Bruno Haible  <bruno@clisp.org>
26040
26041         Fix collision between gnulib's and libintl's printf replacements.
26042         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
26043         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
26044         (printf): When using GNU C, map the __printf__ function to rpl_printf
26045         via __asm__. When not using GNU C, define rpl_printf instead of
26046         __printf__.
26047         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
26048         commit.
26049         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
26050         commit.
26051         * m4/asm-underscore.m4: New file.
26052         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
26053         * modules/stdio (Files): Add m4/asm-underscore.m4.
26054         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
26055         Reported by Ben Pfaff.
26056
26057 2010-05-16  Bruno Haible  <bruno@clisp.org>
26058
26059         verify: Avoid skipping the test on openSUSE 11.0.
26060         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
26061
26062 2010-05-13  Bruno Haible  <bruno@clisp.org>
26063
26064         Avoid useless warnings from G++.
26065         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
26066         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
26067         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26068
26069 2010-05-11  Jim Meyering  <meyering@redhat.com>
26070
26071         maint.mk: tweak preceding change
26072         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
26073         regexps tighter by anchoring at EOL, and make the new group "shy"
26074         for slightly decreased overhead.
26075
26076 2010-05-11  Eric Blake  <eblake@redhat.com>
26077
26078         maint.mk: gnulib doesn't guarantee NSIG
26079         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
26080
26081 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26082
26083         test-pwrite.c: Remove unused variable declaration.
26084         * tests/test-pwrite.c (main): Remove read_buf declaration.
26085
26086         Remove useless test-pwrite.sh file.
26087         * tests/test-pwrite.sh: Delete file.
26088         * modules/pwrite-tests: Remove references.
26089         Reported by Bruno Haible.
26090
26091 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26092
26093         init.sh: fix a typo
26094         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
26095
26096 2010-05-10  Jim Meyering  <meyering@redhat.com>
26097
26098         maint.mk: avoid using a temporary file in the always-defined-macros check
26099         * top/maint.mk (.re-defmac): Remove rule.
26100         (gl_trap_): Remove definition.
26101         (sc_prohibit_always-defined_macros): Rewrite not to create and
26102         depend on a temporary file.  Instead, depend on GNU grep's ability
26103         to read a list of regular expressions from stdin when given "-f -".
26104
26105 2010-05-09  Bruno Haible  <bruno@clisp.org>
26106
26107         Update to GNU gettext 0.18, part 1.
26108         * m4/gettext.m4: Update to GNU gettext 0.18.
26109         * m4/intl.m4: Likewise.
26110         * m4/po.m4: Likewise.
26111         * modules/gettext (Files): Add m4/fcntl-o.m4.
26112         (configure.ac): Require gettext infrastructure from version 0.18.
26113
26114 2010-05-09  Jim Meyering  <meyering@redhat.com>
26115
26116         init.sh: enable MALLOC_PERTURB_
26117         * tests/init.sh: Enable glibc's malloc-perturbing option.
26118
26119         maint.mk: improve sc_cross_check_PATH_usage_in_tests
26120         With my recent change in init.sh from the two-line form:
26121             -#   : ${srcdir=.}
26122             -#   . "$srcdir/init.sh"; path_prepend_ .
26123             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
26124         I noticed that using the one-line form would cause this test
26125         to fail with a false-positive, or to stop working altogether,
26126         depending on whether help-version changed or all the tests did.
26127         * top/maint.mk (_hv_regex): Remove this definition.
26128         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
26129         (_hv_regex_strong): Use a stronger regex to check for conformance.
26130         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
26131         Give a separate diagnostic for lack of conforming use.
26132
26133         maint.mk: prohibit definition of symbols defined by gnulib
26134         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
26135         definition of symbols defined by gnulib.
26136
26137 2010-05-09  Bruno Haible  <bruno@clisp.org>
26138
26139         acl: Avoid test failure on Cygwin-hosted mingw.
26140         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
26141
26142 2010-05-09  Bruno Haible  <bruno@clisp.org>
26143
26144         error: Use system's fcntl function.
26145         * lib/error.c (fcntl): Undefine.
26146
26147 2010-05-09  Jim Meyering  <meyering@redhat.com>
26148
26149         verify: adjust formatting to be more consistent
26150         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
26151         argument-list '('s, and after one comma.
26152
26153 2010-05-09  Bruno Haible  <bruno@clisp.org>
26154
26155         error: More reliable output on mingw.
26156         * lib/error.c: Include <windows.h>.
26157         (is_open): New function.
26158         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
26159         defined.
26160
26161 2010-05-09  Bruno Haible  <bruno@clisp.org>
26162
26163         vasnprintf: Fix syntax errors in libintl build on mingw.
26164         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
26165         pad_ourselves and prec_ourselves after use.
26166
26167 2010-05-08  Bruno Haible  <bruno@clisp.org>
26168
26169         * lib/config.charset: Update comments for Cygwin 1.7.
26170         * lib/localcharset.c: Likewise.
26171
26172 2010-05-07  Jim Meyering  <meyering@redhat.com>
26173
26174         init.sh: improve comments
26175         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
26176         . "${srcdir=.}/init.sh"; path_prepend_ .
26177         Add a note about path_prepend_ and the alternative of using
26178         TESTS_ENVIRONMENT.
26179
26180 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26181
26182         exclude: Unescape hashed patterns in wildcard mode.
26183         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
26184         to the hash list.
26185         * tests/test-exclude8.sh: New test case.
26186         * modules/exclude-tests: Add new test.
26187
26188 2010-05-05  Eric Blake  <eblake@redhat.com>
26189
26190         verify: automate tests
26191         * modules/verify-tests: New module.
26192         * tests/test-verify.sh: New file.
26193         * tests/test-verify.c: Guard each negative test with a unique id.
26194         Also avoid warning about unused left hand of comma expressions.
26195
26196 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
26197
26198         Further improvements to verify.h, suggested by Eric Blake.
26199         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
26200         the GL_* versions, to avoid collision with OpenGL.
26201         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
26202         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
26203         than testing merely whether it's defined.
26204
26205         Modify verify.h to pacify gcc -Wredundant_decls.
26206         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
26207         These use the prefix "GL_" since they're likely to be useful elsewhere.
26208         We may need to break them out into a different .h file.
26209         (__COUNTER__): Define to 0 if the compiler doesn't support it.
26210         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
26211         of verify_function__.
26212
26213 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26214
26215         Tests for module pwrite.
26216         * modules/pwrite-tests: New file.
26217         * tests/test-pwrite.sh: New file.
26218         * tests/test-pwrite.c: New file.
26219
26220         New module pwrite.
26221         * lib/unistd.in.h (pwrite): New declaration.
26222         * lib/pwrite.c: New file, from glibc with modifications.
26223         * m4/pwrite.m4: New file.
26224         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
26225         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
26226         REPLACE_PWRITE.
26227         * modules/pwrite: New file.
26228         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
26229         REPLACE_PWRITE.
26230         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
26231         * doc/posix-functions/pwrite.texi: Mention the new module.
26232
26233 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26234
26235         pread: Update documentation.
26236         * doc/posix-functions/pread.texi: Mention the 'pread' module.
26237
26238 2010-05-04  Eric Blake  <eblake@redhat.com>
26239
26240         docs: update cygwin progress
26241         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
26242         this bug.
26243         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
26244         Added in cygwin 1.7.2.
26245         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
26246         Likewise.
26247         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
26248         Likewise.
26249         * doc/glibc-functions/dup3.texi (dup3): Likewise.
26250         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
26251         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26252         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
26253         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
26254         Mention nproc module.
26255         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
26256         bug in cygwin 1.7.5 addition.
26257         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
26258         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
26259         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
26260         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
26261         1.7.5.
26262         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
26263         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
26264         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
26265         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
26266         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
26267         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
26268         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
26269         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
26270         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
26271         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
26272         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
26273         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
26274         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
26275         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
26276         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
26277         Likewise.
26278         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
26279         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
26280         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
26281         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
26282         Likewise.
26283         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
26284         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
26285         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
26286         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
26287         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
26288         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
26289         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
26290         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
26291         Likewise.
26292         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
26293         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
26294         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
26295         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
26296         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
26297         Likewise.
26298         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
26299         Likewise.
26300         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
26301         Likewise.
26302         * doc/glibc-functions/xdrrec_endofrecord.texi
26303         (xdrrec_endofrecord): Likewise.
26304         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
26305         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
26306         Likewise.
26307         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
26308         Likewise.
26309
26310 2010-05-04  Jim Meyering  <meyering@redhat.com>
26311
26312         gendocs.sh: make its "-s FILE" option more useful
26313         * build-aux/gendocs.sh: When honoring the -s FILE option, update
26314         $PACKAGE to reflect the probably-different basename of "FILE".
26315
26316 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26317
26318         bootstrap: don't ignore download_po_files failure
26319         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
26320         failure.
26321
26322 2010-05-03  Jim Meyering  <meyering@redhat.com>
26323
26324         maint.mk: allow to pass options to gendocs.sh
26325         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
26326         (gendocs_options_): New overridable variable.
26327
26328         gnu-web-doc-update: don't ignore configure or build failure
26329         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
26330
26331         announce-gen: backslash-escape '@'s in --help output
26332         * build-aux/announce-gen: Fix syntax errors.
26333
26334         maint.mk, announce-gen: allow project-specific announcement mail headers
26335         * top/maint.mk (translation_project_): Define default.
26336         (announcement_Cc_, announcement_mail_headers_): Likewise.
26337         (announcement): Invoke announce-gen with new --mail-headers option.
26338         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
26339
26340         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
26341         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
26342         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
26343         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
26344         line in the "err2" output file when running "make check" in verbose
26345         mode (i.e., with set -x enabled).
26346
26347 2010-05-03  Bruno Haible  <bruno@clisp.org>
26348
26349         wctob: Fix for weird platforms.
26350         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
26351         argument value.
26352
26353 2010-05-03  Jim Meyering  <meyering@redhat.com>
26354
26355         maint.mk: prohibit unwarranted use of <strings.h>
26356         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
26357         strings.h in a file that does not also use strcasecmp, strncasecmp,
26358         ffs or ffsll.
26359
26360         maint.mk: remove obsolete comments
26361         * top/maint.mk: Remove stale, commented-out rules.
26362
26363 2010-05-02  Bruno Haible  <bruno@clisp.org>
26364
26365         wcwidth: Declare also when it's aliased.
26366         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
26367         macro.
26368
26369 2010-05-02  Bruno Haible  <bruno@clisp.org>
26370
26371         Fix regression from 2010-04-25.
26372         * gnulib-tool (func_modules_transitive_closure): Check the status of
26373         all modules, not only of the tests that are of the form foo-tests where
26374         foo is a module.
26375
26376 2010-05-02  Bruno Haible  <bruno@clisp.org>
26377
26378         wctob: Work around nasty Cygwin 1.7.2 bug.
26379         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
26380         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
26381
26382 2010-05-01  Bruno Haible  <bruno@clisp.org>
26383
26384         fpurge: Sharper test.
26385         * tests/test-fpurge.c (main): Add one more ftell check.
26386         * modules/fpurge-tests (Depends-on): Add ftell.
26387         Suggested by Eric Blake.
26388
26389 2010-05-01  Bruno Haible  <bruno@clisp.org>
26390
26391         ftello: Another test.
26392         * tests/test-ftello3.c: New file.
26393         * modules/ftello-tests (Files): Add it.
26394         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26395         MOSTLYCLEANFILES.
26396
26397         ftell: Another test.
26398         * tests/test-ftell3.c: New file.
26399         * modules/ftell-tests (Files): Add it.
26400         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26401         MOSTLYCLEANFILES.
26402
26403 2010-05-01  Bruno Haible  <bruno@clisp.org>
26404
26405         ftell, ftello: Work around Solaris bug.
26406         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
26407         * lib/ftello.c: Include stdio-impl.h.
26408         (ftello): On Solaris, when _IOWRT is set, compute the result without
26409         looking at _IOREAD.
26410         * modules/ftello (Files): Add lib/stdio-impl.h.
26411         * doc/posix-functions/ftell.texi: Mention Solaris bug.
26412         * doc/posix-functions/ftello.texi: Likewise.
26413         Reported by Eric Blake.
26414
26415 2010-05-01  Bruno Haible  <bruno@clisp.org>
26416
26417         freading: Adapt to special meaning of _IOREAD flag on Solaris.
26418         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
26419         the _IOWRT flag is also set.
26420
26421 2010-05-01  Bruno Haible  <bruno@clisp.org>
26422
26423         Fix doc about a HP-UX stdio bug.
26424         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
26425         * doc/posix-functions/ftello.texi: Likewise.
26426
26427 2010-05-01  Bruno Haible  <bruno@clisp.org>
26428
26429         lseek test: Fix failure on Solaris.
26430         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
26431         output.
26432
26433 2010-04-30  Jim Meyering  <meyering@redhat.com>
26434
26435         bootstrap: don't ignore failure to generate po*/Makevars
26436         * build-aux/bootstrap (with_gettext): Don't ignore failure
26437         to create po/Makevars or runtime-po/Makevars.
26438
26439 2010-04-29  Eric Blake  <eblake@redhat.com>
26440
26441         headers: relax license to LGPLv2+
26442         * modules/fcntl-h (License): Relax license.
26443         * modules/getopt-posix (License): Likewise.
26444         * modules/locale (License): Likewise.
26445         * modules/math (License): Likewise.
26446         * modules/pty (License): Likewise.
26447         * modules/sched (License): Likewise.
26448         * modules/search (License): Likewise.
26449         * modules/spawn (License): Likewise.
26450         * modules/stdarg (License): Likewise.
26451         * modules/sysexits (License): Likewise.
26452
26453 2010-04-29  Jim Meyering  <meyering@redhat.com>
26454
26455         inttypes: relax license to LGPLv2+
26456         * modules/inttypes (License): Relax license.
26457
26458 2010-04-29  Simon Josefsson  <simon@josefsson.org>
26459
26460         * top/maint.mk (indent): Run twice to produce idempotent results.
26461
26462 2010-04-28  Bruno Haible  <bruno@clisp.org>
26463
26464         getdate: Generate getdate.c in the source directory.
26465         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
26466         MOSTLYCLEANFILES.
26467         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
26468
26469 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
26470
26471         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
26472         is not declared as a const *; avoid warnings in that case.
26473
26474 2010-04-28  Eric Blake  <eblake@redhat.com>
26475
26476         canonicalize-lgpl: avoid compiler warning
26477         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
26478         declaration' / 'extraneous semicolon' warning with some compilers.
26479         Reported by Andreas Gruenbacher.
26480
26481 2010-04-28  Jim Meyering  <meyering@redhat.com>
26482
26483         init.sh: ensure a more reliable exit status when exiting via trap
26484         * tests/init.sh (setup_): Don't rely on $? in signal handler.
26485         Inspired by patches from Dmitry V. Levin.
26486         Also trap on signal 3 (SIGQUIT).
26487
26488 2010-04-27  Bruno Haible  <bruno@clisp.org>
26489
26490         Update doc about utimes().
26491         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
26492         'utimens' module.
26493         Reported by Andreas Gruenbacher <agruen@suse.de>.
26494
26495 2010-04-27  Eric Blake  <eblake@redhat.com>
26496
26497         full-read, full-write: relax license
26498         * modules/full-read (License): Drop to LGPLv2+.
26499         * modules/full-write (License): Likewise.
26500         * modules/safe-read (License): Likewise.
26501         * modules/safe-write (License): Likewise.
26502
26503         pthread: mention library for linking
26504         * modules/pthread (Link): Mention $(LIB_PTHREAD).
26505
26506 2010-04-27  Jim Meyering  <meyering@redhat.com>
26507
26508         maint.mk: fix a bug introduced in last change
26509         * top/maint.mk (gl_assured_headers_): Now that all names are on
26510         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
26511         is not anchored to end of word, it should be adequate.
26512
26513         maint.mk: avoid side-effect in latest syntax-check
26514         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
26515         to run commands via $(shell...), and hence to incur cost only when
26516         the new rule is actually run.
26517
26518         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
26519         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
26520         and use that to create a regexp used to detect all #if HAVE_..._H uses.
26521         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
26522         (gl_assured_headers_, az_, AZ_): Define.
26523         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
26524
26525 2010-04-26  Jim Meyering  <jim@meyering.net>
26526             Bruno Haible  <bruno@clisp.org>
26527
26528         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
26529         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
26530         Prompted by an exchange with Gilles Espinasse.
26531
26532 2010-04-26  Jim Meyering  <meyering@redhat.com>
26533
26534         git-version-gen: aesthetic tweak
26535         * build-aux/git-version-gen: Use "$nl" rather than a literal,
26536         so that the command remains on a single line.
26537
26538 2010-04-26  Eric Blake  <eblake@redhat.com>
26539
26540         git-version-gen: allow use on EBCDIC hosts
26541         * build-aux/git-version-gen (dirty): Use literal rather than tying
26542         ourselves to ascii.
26543         Reported by Steve Goetze.
26544
26545 2010-04-25  Bruno Haible  <bruno@clisp.org>
26546
26547         netdb: Add support for GNULIB_POSIXCHECK.
26548         * lib/netdb.in.h: Include warn-on-use.h.
26549         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
26550         functions are used when GNULIB_POSIXCHECK is defined and the
26551         getaddrinfo module is not in use.
26552         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
26553         freeaddrinfo, gai_strerror, getnameinfo are declared.
26554         * modules/netdb (Depends-on): Add warn-on-use.
26555         (Makefile.am): Include warn-on-use.h in netdb.h.
26556
26557 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
26558
26559         build: avoid "make check" failure without .git/ directory
26560         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
26561         there is no .git/ directory.
26562
26563 2010-04-25  Bruno Haible  <bruno@clisp.org>
26564
26565         ptsname: Fix misuse of ttyname_r.
26566         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
26567         of errno.
26568
26569 2010-04-25  Bruno Haible  <bruno@clisp.org>
26570
26571         ttyname_r: Make it work on Solaris 10.
26572         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
26573         if the system function has the POSIX declaration. Test whether the
26574         function fails if the buffer is less than 128 bytes large.
26575         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
26576         system's ttyname_r function. Provide a reasonably large buffer.
26577         * modules/ttyname_r (Depends-on): Add extensions.
26578         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
26579
26580 2010-04-25  Bruno Haible  <bruno@clisp.org>
26581
26582         Use the 'extensions' module for some more functions on Solaris.
26583         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
26584         module.
26585         * doc/posix-functions/ctime_r.texi: Likewise.
26586         * doc/posix-functions/getgrgid_r.texi: Likewise.
26587         * doc/posix-functions/getgrnam_r.texi: Likewise.
26588         * doc/posix-functions/getpwnam_r.texi: Likewise.
26589         * doc/posix-functions/getpwuid_r.texi: Likewise.
26590         * doc/posix-functions/readdir_r.texi: Likewise.
26591         * doc/posix-functions/sigwait.texi: Likewise.
26592         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
26593         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
26594
26595 2010-04-25  Bruno Haible  <bruno@clisp.org>
26596
26597         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
26598         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
26599         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
26600         * lib/ttyname_r.c: Include <limits.h>.
26601         (ttyname_r): Define using the system's ttyname_r function, if it exists
26602         and not on Solaris.
26603         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
26604         set.
26605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
26606         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
26607         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
26608         Reported by Simon Josefsson.
26609
26610 2010-04-25  Bruno Haible  <bruno@clisp.org>
26611
26612         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
26613         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
26614         * doc/posix-functions/ctime_r.texi: Likewise.
26615         * doc/posix-functions/getgrgid_r.texi: Likewise.
26616         * doc/posix-functions/getgrnam_r.texi: Likewise.
26617         * doc/posix-functions/getlogin_r.texi: Likewise.
26618         * doc/posix-functions/getpwnam_r.texi: Likewise.
26619         * doc/posix-functions/getpwuid_r.texi: Likewise.
26620         * doc/posix-functions/readdir_r.texi: Likewise.
26621         * doc/posix-functions/sigwait.texi: Likewise.
26622         * doc/posix-functions/ttyname_r.texi: Likewise.
26623         Reported by Simon Josefsson.
26624
26625 2010-04-25  Bruno Haible  <bruno@clisp.org>
26626
26627         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
26628         * gnulib-tool (func_usage): Document that --with-*-tests options apply
26629         also to --create-testdir.
26630         (func_acceptable): Don't consider the status of *-tests modules here.
26631         (func_modules_transitive_closure): Consider it here, before including a
26632         test module.
26633         (func_import, func_create_testdir): Set inc_all_direct_tests,
26634         inc_all_indirect_tests.
26635         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
26636         --create-testdir and --create-megatestdir.
26637
26638 2010-04-25  Bruno Haible  <bruno@clisp.org>
26639
26640         gnulib-tool: Add --without-*-tests options.
26641         * gnulib-tool (func_usage): Document the --without-*-tests options.
26642         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
26643         excl_unportable_tests): New variables.
26644         Fail if they are specified with --import or --update.
26645         (func_acceptable): Respect the excl_*_tests variables.
26646         (func_import): Set the excl_*_tests variables to empty.
26647
26648 2010-04-25  Simon Josefsson  <simon@josefsson.org>
26649             Bruno Haible  <bruno@clisp.org>
26650
26651         Work around a MacOS X 10.4 bug with openpty.
26652         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
26653         * tests/test-openpty.c (main): Close the master side explicitly.
26654
26655 2010-04-25  Bruno Haible  <bruno@clisp.org>
26656
26657         strnlen: Fix a C++ test error on MacOS X and Solaris.
26658         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
26659         the function is not declared.
26660         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
26661         Simon Josefsson.
26662
26663 2010-04-24  Bruno Haible  <bruno@clisp.org>
26664
26665         Avoid a gcc warning.
26666         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
26667         of correct type for %08lx directive.
26668         Reported by Eric Blake.
26669
26670 2010-04-24  Bruno Haible  <bruno@clisp.org>
26671
26672         vasnprintf: Correct errno value in case of out-of-memory.
26673         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
26674         or sprintf. Use the errno value from SNPRINTF or sprintf.
26675         Reported by Ian Beckwith <ianb@erislabs.net>.
26676
26677 2010-04-24  Bruno Haible  <bruno@clisp.org>
26678
26679         ansi-c++-opt: Find correct compiler when cross-compiling.
26680         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
26681         AC_CHECK_PROGS.
26682         Reported by Simon Josefsson.
26683
26684 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
26685
26686         vc-list-files: Add support for subversion
26687         * build-aux/vc-list-files: Use "svn list" to generate the list of
26688         files controlled by subversion.
26689
26690 2010-04-23  Jim Meyering  <meyering@redhat.com>
26691
26692         vc-list-files tests: convert to use init.sh
26693         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
26694         path_prepend_.
26695         Use Exit, not exit.
26696         Use skip_ rather than open coding it.
26697         Remove trap set-up and compare definitions.
26698         * tests/test-vc-list-files-git.sh: Likewise.
26699         * modules/vc-list-files-tests (Files): Add tests/init.sh.
26700
26701 2010-04-22  Simon Josefsson  <simon@josefsson.org>
26702
26703         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
26704         backup files.
26705
26706 2010-04-21  Simon Josefsson  <simon@josefsson.org>
26707
26708         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
26709
26710 2010-04-20  Eric Blake  <eblake@redhat.com>
26711
26712         tests: be robust to ignored SIGPIPE
26713         * tests/test-select-in.sh: Consume all output.
26714         * tests/test-lseek.sh: Check correct exit status, while avoiding
26715         EPIPE.
26716
26717 2010-04-20  Simon Josefsson  <simon@josefsson.org>
26718             Bruno Haible  <bruno@clisp.org>
26719
26720         visibility: Don't use -fvisibility if it leads to a warning.
26721         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
26722         yes, don't pretend that visibility works if it leads to a warning.
26723         Reported by Mike Gran <spk121@yahoo.com>.
26724
26725 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26726
26727         * build-aux/bootstrap: Use "git -h" for testing for supported options
26728         instead of "git --help".  The short-form option only shows a summary,
26729         and doesn't layout the full man page.  Grep for the full option name
26730         in the summary, too.
26731
26732 2010-04-19  Bruno Haible  <bruno@clisp.org>
26733
26734         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
26735         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
26736         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
26737         mention of RELOCATABLE_STRIP.
26738         Reported by Sylvain Beucler <beuc@beuc.net>.
26739
26740 2010-04-19  Bruno Haible  <bruno@clisp.org>
26741
26742         * lib/diffseq.h: Fix typo in comment.
26743         Reported by Eric Blake.
26744
26745 2010-04-19  Bruno Haible  <bruno@clisp.org>
26746
26747         ioctl: Move autoconf macro to a .m4 file.
26748         * m4/ioctl.m4: New file, extracted from modules/ioctl.
26749         * modules/ioctl (Files): Add it.
26750         (configure.ac): Simply invoke gl_FUNC_IOCTL.
26751         Reported by Ian Beckwith <ianb@erislabs.net>.
26752
26753 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
26754             Bruno Haible  <bruno@clisp.org>
26755
26756         diffseq: Accommodate use-case with abstract arrays.
26757         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
26758         is not defined.
26759         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
26760         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
26761
26762 2010-04-18  Bruno Haible  <bruno@clisp.org>
26763
26764         * doc/posix-headers/stdbool.texi: More precise wording.
26765
26766 2010-04-17  Jim Meyering  <meyering@redhat.com>
26767
26768         maint.mk: use gnu-style indentation in an embedded perl script
26769         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
26770         Rename variable: s/two/last_two_bytes/
26771
26772 2010-04-16  Eric Blake  <eblake@redhat.com>
26773
26774         test-stdbool: skip test that fails with Solaris CC
26775         * tests/test-stdbool.c (f): Skip test that causes compilation
26776         error under buggy C++ compiler.
26777         * lib/stdbool.in.h: Document the limitation.
26778         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
26779
26780         setenv: allow compilation with C++
26781         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
26782         register keyword.
26783
26784         stdint: allow test to pass with C++
26785         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
26786
26787         getopt: allow compilation with C++
26788         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
26789         struct.
26790         * lib/getopt.c (_getopt_internal_r): Use correct type.
26791         Reported by Dagobert Michelson, via Joel E. Denny.
26792
26793 2010-04-16  Bruno Haible  <bruno@clisp.org>
26794
26795         Override netdb.h always.
26796         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
26797         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
26798         Reported by Ludovic Courtès <ludo@gnu.org>.
26799
26800 2010-04-15  Bruno Haible  <bruno@clisp.org>
26801
26802         openpty: Fix mistake from 2010-03-21.
26803         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
26804         Reported by Simon Josefsson.
26805
26806 2010-04-15  Eric Blake  <eblake@redhat.com>
26807
26808         test-forkpty: fix expected signature
26809         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
26810         Reported by Simon Josefsson.
26811
26812 2010-04-15  Jim Meyering  <meyering@redhat.com>
26813
26814         maint.mk: texinfo_suffix_re_: correct the default regexp
26815         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
26816
26817         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
26818         make it configurable via texinfo_suffix_re_.
26819
26820 2010-04-14  Eric Blake  <eblake@redhat.com>
26821
26822         strtok_r: relax license to LGPLv2+
26823         * modules/strtok_r (License): Relax license.
26824         Reported by Matthias Bolte.
26825
26826 2010-04-14  Simon Josefsson  <simon@josefsson.org>
26827
26828         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
26829         version 1.4.4 by default instead of requiring the libgcrypt
26830         version used during build.  This makes it possible to use the
26831         application with older but still binary compatible libgcrypt
26832         versions.
26833
26834 2010-04-13  Eric Blake  <eblake@redhat.com>
26835
26836         getopt-gnu: match recent glibc fixes and posix ruling
26837         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
26838         '+' handling, when requesting extensions.
26839         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
26840         'W;' handling.
26841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
26842         * doc/posix-functions/getopt.texi (getopt): Document this.
26843         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26844         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26845         Likewise.
26846
26847         getopt: merge bug fixes from glibc
26848         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
26849         diagnostics.  Honor '+:' correctly.  Reject ';'.
26850
26851         getopt-posix: detect MacOS bug
26852         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
26853         optind when missing a required argument.
26854         * doc/posix-functions/getopt.texi (getopt): Document the bug.
26855         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26856         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26857         Likewise.
26858
26859         getopt-posix: avoid spurious failure on Solaris
26860         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
26861         an indicator that setting optind=1 is sufficient for reset.
26862
26863         getopt-posix: avoid spurious failure on FreeBSD
26864         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
26865         in POSIX mode, since the m4 test uses it.
26866
26867         gnulib-tool: silence warning on BSD sh
26868         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
26869
26870 2010-04-13  Jim Meyering  <meyering@redhat.com>
26871
26872         doc: users.txt: GNU patch now uses gnulib
26873         * users.txt: Add patch.
26874
26875 2010-04-12  Jim Meyering  <meyering@redhat.com>
26876
26877         maint.mk: generate more concise timing data for syntax-check rules
26878         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
26879         " done" from each line that reports a syntax-check test duration.
26880
26881 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
26882
26883         git-version-gen: use "git update-index..." rather than "git status"
26884         * build-aux/git-version-gen: Use git update-index --refresh, not
26885         "git status".  With some versions of git, "git status" would fail
26886         to update the index and result in an unwarranted "-dirty" suffix.
26887
26888 2010-04-11  Jim Meyering  <meyering@redhat.com>
26889
26890         openat: correct formatting (no semantic change)
26891         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
26892         Suggested by Bruno Haible.
26893
26894 2010-04-11  Bruno Haible  <bruno@clisp.org>
26895
26896         Stricter declaration checking in testdirs.
26897         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26898         If for_tests is true, augment AM_CPPFLAGS to define
26899         GNULIB_STRICT_CHECKING.
26900         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
26901         GNULIB_STRICT_CHECKING is defined, verify that the function is
26902         declared.
26903
26904 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
26905             Bruno Haible  <bruno@clisp.org>
26906
26907         libunistring: Improve configure output.
26908         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
26909         Don't say "consider installing GNU libunistring" when checking again
26910         with libiconv.
26911
26912 2010-04-11  Bruno Haible  <bruno@clisp.org>
26913
26914         libunistring: Correct value of $LTLIBUNISTRING.
26915         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
26916         correct the value of $LTLIBUNISTRING.
26917
26918 2010-04-11  Bruno Haible  <bruno@clisp.org>
26919
26920         havelib: Add static libraries to LIBS in the right order.
26921         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
26922         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
26923
26924 2010-04-11  Bruno Haible  <bruno@clisp.org>
26925
26926         libunistring: Detect libunistring also when it depends on libiconv.
26927         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
26928         the second AC_LIB_HAVE_LINKFLAGS invocation.
26929
26930 2010-04-11  James Youngman  <jay@gnu.org>
26931
26932         close-stream: declare local scalars to be "const"
26933         * lib/close-stream.c (close_stream): Make boolean variables const
26934         to document the fact that we set but do not change them.
26935
26936 2010-04-11  Bruno Haible  <bruno@clisp.org>
26937
26938         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
26939
26940 2010-04-11  Jim Meyering  <meyering@redhat.com>
26941
26942         maint.mk: don't include dist-check.mk
26943         * top/maint.mk: Remove bogus include directive.
26944
26945         maint.mk: improve empty-line-at-EOF check
26946         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
26947         solution, rather than tail+Perl-based one.  The latter would read
26948         a few kilobytes from the end of each file, and did not handle empty
26949         files properly.
26950
26951         maint.mk: print the elapsed time for each syntax-check rule
26952         * top/maint.mk (sc_m_rules_): Save start time in a file.
26953         (sc_z_rules_): New rules: remove temp file and print elapsed time.
26954         (local-check): Interpose the .z rules
26955
26956 2010-04-11  Jim Meyering  <meyering@redhat.com>
26957
26958         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
26959         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
26960         empty file with one that ends in an empty line.
26961
26962 2010-04-10  Bruno Haible  <bruno@clisp.org>
26963
26964         mkdir: Make it work on mingw64.
26965         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
26966         * lib/mkdir.c: Update comment.
26967         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
26968
26969 2010-04-10  Bruno Haible  <bruno@clisp.org>
26970
26971         Don't override improved macro from newer autoconf.
26972         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
26973         autoconf >= 2.62.
26974         Reported by Joel E. Denny <jdenny@clemson.edu>.
26975
26976 2010-04-10  Jim Meyering  <meyering@redhat.com>
26977
26978         maint.mk: new syntax-check rule: prohibit empty lines at end of file
26979         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
26980
26981         maint.mk: correct a diagnostic
26982         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
26983         in diagnostic; now use $prohibit.
26984
26985 2010-04-10  Bruno Haible  <address@hidden>
26986
26987         fchownat: Fix a C++ test error on Solaris 8.
26988         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
26989         the function does not exist.
26990
26991 2010-04-10  Bruno Haible  <bruno@clisp.org>
26992
26993         vasnprintf: Add more tests.
26994         * tests/test-vasnprintf-posix.c: Include <errno.h>.
26995         (test_function): Test converting an invalid wide string.
26996
26997         vasnprintf: Correct handling of unconvertible wide string arguments.
26998         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
26999         VASNPRINTF.
27000         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
27001         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
27002         smaller than the expected maximum need for the directive. Set errno to
27003         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
27004         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
27005         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
27006         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
27007         * modules/vasnprintf (Files): Add m4/printf.m4.
27008         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27009
27010 2010-04-10  Bruno Haible  <bruno@clisp.org>
27011
27012         vasnprintf: Fix crash in %ls directive.
27013         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
27014         string is passed as argument to %ls, with no precision and no width.
27015         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27016
27017 2010-04-10  Bruno Haible  <bruno@clisp.org>
27018
27019         vasnprintf: Fix multiple test failures on mingw.
27020         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
27021         _snprintf, or snwprintf, not _snwprintf.
27022
27023 2010-04-10  Bruno Haible  <bruno@clisp.org>
27024
27025         write: Fix a C++ test error on mingw.
27026         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
27027
27028 2010-04-10  Bruno Haible  <bruno@clisp.org>
27029
27030         vasnprintf test: Reduce code duplication.
27031         * tests/test-vasnprintf.c (test_function): New function, extracted from
27032         test_vasnprintf.
27033         (test_vasnprintf, test_asnprintf): Invoke it.
27034
27035 2010-04-10  Bruno Haible  <bruno@clisp.org>
27036
27037         strnlen: Fix warning in C++ mode on MacOS X.
27038         * lib/string.in.h (strnlen): Use the modern idiom.
27039         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
27040         defining strnlen as a macro already in <config.h>.
27041         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27042         REPLACE_STRNLEN.
27043         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
27044         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27045
27046 2010-04-08  James Youngman  <jay@gnu.org>
27047
27048         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
27049         the example.
27050
27051 2010-04-09  Jim Meyering  <meyering@redhat.com>
27052
27053         maint.mk: print better diagnostic when there is no $(_hv_file)
27054         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
27055         announce that when $(_hv_file) (aka help-version) does not exist.
27056
27057         init.sh: run tr in the "C" locale to avoid multibyte interpretation
27058         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
27059         not try to interpret its random input bytes.  Jarno Rajahalme reported
27060         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
27061         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
27062         (mktempd_): Likewise, just in case.
27063
27064         ftruncate: add two years to projected module removal date: 2012
27065         * m4/ftruncate.m4: Adjust comments.
27066
27067         ftruncate: mark module as obsolete; even MinGW provides it, now
27068         * modules/ftruncate (Status): Obsolete.
27069         (Notice): Say that.
27070         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
27071         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
27072
27073 2010-04-08  Bruno Haible  <bruno@clisp.org>
27074
27075         Fix side effects from tests-related modules.
27076         * modules/dprintf-posix (Comment): New section.
27077         * modules/fprintf-posix (Comment): Likewise.
27078         * modules/obstack-printf-posix (Comment): Likewise.
27079         * modules/printf-posix (Comment): Likewise.
27080         * modules/snprintf-posix (Comment): Likewise.
27081         * modules/sprintf-posix (Comment): Likewise.
27082         * modules/vasnprintf-posix (Comment): Likewise.
27083         * modules/vasprintf-posix (Comment): Likewise.
27084         * modules/vdprintf-posix (Comment): Likewise.
27085         * modules/vfprintf-posix (Comment): Likewise.
27086         * modules/vprintf-posix (Comment): Likewise.
27087         * modules/vsnprintf-posix (Comment): Likewise.
27088         * modules/vsprintf-posix (Comment): Likewise.
27089         * modules/xprintf-posix (Comment): Likewise.
27090         * modules/xvasprintf-posix (Comment): Likewise.
27091         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
27092         * modules/floorf-tests (Depends-on): Likewise.
27093         * modules/round-tests (Depends-on): Likewise.
27094         * modules/roundf-tests (Depends-on): Likewise.
27095         * modules/trunc-tests (Depends-on): Likewise.
27096         * modules/truncf-tests (Depends-on): Likewise.
27097         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
27098         'fprintf-posix' module is not present.
27099         * tests/test-floorf2.c (check): Likewise.
27100         * tests/test-trunc2.c (check): Likewise.
27101         * tests/test-truncf2.c (check): Likewise.
27102         * tests/test-round2.c (equal): Likewise.
27103         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27104
27105 2010-04-07  Karl Berry  <karl@gnu.org>
27106
27107         * config/srclist.txt,
27108         * config/srclistvars.sh,
27109         * config/srclist-update: doc fixes.
27110
27111 2010-04-07  Jim Meyering  <meyering@redhat.com>
27112
27113         maint.mk: add a PATH crosschecking syntax-check rule
27114         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
27115         Useful if you use a test like the one in help-version (coreutils,
27116         diffutils, grep, gzip) that ensures $(VERSION) matches what is
27117         printed by prog --version.
27118
27119 2010-04-06  Bruno Haible  <bruno@clisp.org>
27120
27121         Fix link error on mingw.
27122         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
27123         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
27124
27125 2010-04-06  Bruno Haible  <bruno@clisp.org>
27126
27127         Assume rmdir exists.
27128         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
27129
27130 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
27131
27132         doc: update users.txt
27133         * users.txt: Add gcal.
27134
27135 2010-04-06  Jim Meyering  <meyering@redhat.com>
27136
27137         init.sh: simply unset TMPDIR rather than risking env -i
27138         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
27139         although it probably works fine on all Unix-based systems, some
27140         systems (Cygwin?) cannot tolerate a totally cleared environment.
27141         Suggestion from Eric Blake.
27142
27143 2010-04-06  Jim Meyering  <meyering@redhat.com>
27144
27145         init.sh: portability fix: use env's POSIX-specified -i option not -u
27146         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
27147         than unportable env -u.  Solaris 5.11's env lacks support for -u.
27148
27149 2010-04-05  Bruno Haible  <bruno@clisp.org>
27150
27151         btowc: Work around Cygwin 1.7.2 bug.
27152         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
27153         does not map NUL to 0.
27154         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
27155
27156 2010-04-05  Bruno Haible  <bruno@clisp.org>
27157
27158         Make the multithread modules work on Cygwin 1.7.2.
27159         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
27160         imported symbols can be declared weak, so that it returns "no" on
27161         Cygwin 1.7.2.
27162
27163 2010-04-05  Bruno Haible  <bruno@clisp.org>
27164
27165         Use the module 'strncat'.
27166         * modules/unistr/u8-strncat (Depends-on): Add strncat.
27167
27168         Tests for module 'strncat'.
27169         * modules/strncat-tests: New file.
27170         * tests/test-strncat.c: New file.
27171
27172         New module 'strncat'.
27173         * lib/string.in.h (strncat): New declaration.
27174         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
27175         * m4/strncat.m4: New file, based on m4/memchr.m4.
27176         * modules/strncat: New file.
27177         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
27178         is declared.
27179         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
27180         REPLACE_STRNCAT.
27181         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
27182         REPLACE_STRNCAT.
27183         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
27184         module.
27185         * tests/test-string-c++.cc: Check signature of strncat.
27186
27187 2010-04-05  Jim Meyering  <meyering@redhat.com>
27188
27189         xstrtoumax-tests: convert to use init.sh
27190         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
27191         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27192         Use Exit, not exit.
27193         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27194
27195         xstrtoimax-tests: convert to use init.sh
27196         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
27197         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27198         Use Exit, not exit.
27199         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27200
27201 2010-04-05  Bruno Haible  <bruno@clisp.org>
27202
27203         sys_socket: Avoid #define replacements in C++ mode.
27204         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
27205         warning to the function if possible, rather than #defining the symbol
27206         to a dysfunctional alias.
27207
27208 2010-04-05  Bruno Haible  <bruno@clisp.org>
27209
27210         fseeko: Fix C++ test error on mingw.
27211         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
27212         gl_FUNC_FSEEKO.
27213         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
27214         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
27215         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
27216         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
27217
27218 2010-04-05  Bruno Haible  <bruno@clisp.org>
27219
27220         duplocale: Improve test output.
27221         * tests/test-duplocale.c (main): Print reason for skipped test.
27222
27223 2010-04-05  Bruno Haible  <bruno@clisp.org>
27224
27225         Assume rmdir exists.
27226         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
27227         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
27228
27229 2010-04-05  Bruno Haible  <bruno@clisp.org>
27230
27231         Fix link error on Solaris 8 with cc.
27232         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
27233
27234 2010-04-05  Bruno Haible  <bruno@clisp.org>
27235
27236         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27237         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
27238
27239 2010-04-05  Bruno Haible  <bruno@clisp.org>
27240
27241         vasprintf: Update documentation.
27242         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
27243
27244 2010-04-05  Bruno Haible  <bruno@clisp.org>
27245
27246         ptsname: Improve test.
27247         * tests/test-ptsname.c (main): Also try the various master names of BSD
27248         systems.
27249
27250 2010-04-05  Bruno Haible  <bruno@clisp.org>
27251
27252         memchr: Avoid a possible C++ test error.
27253         * lib/string.in.h (memchr): Provide declaration if function is missing.
27254         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
27255         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
27256         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
27257         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
27258
27259 2010-04-05  Bruno Haible  <bruno@clisp.org>
27260
27261         strtok_r: Improve idiom.
27262         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
27263         AC_LIBOBJ is used.
27264
27265 2010-04-05  Bruno Haible  <bruno@clisp.org>
27266
27267         strdup: Improve idiom.
27268         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
27269         AC_LIBOBJ is used.
27270         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
27271         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
27272         when AC_LIBOBJ is used.
27273
27274 2010-04-05  Bruno Haible  <bruno@clisp.org>
27275
27276         mbsinit, mbrtowc, wcrtomb: Improve idioms.
27277         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
27278         don't set REPLACE_MBSINIT to 1.
27279         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
27280         don't set REPLACE_MBRTOWC to 1.
27281         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
27282         exist, don't set REPLACE_MBSRTOWCS to 1.
27283         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
27284         exist, don't set REPLACE_MBSNRTOWCS to 1.
27285         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
27286         don't set REPLACE_WCRTOMB to 1.
27287         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
27288         exist, don't set REPLACE_WCSRTOMBS to 1.
27289         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
27290         exist, don't set REPLACE_WCSNRTOMBS to 1.
27291
27292 2010-04-05  Bruno Haible  <bruno@clisp.org>
27293
27294         ldexpl: Improve idiom.
27295         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
27296         make sure to set HAVE_DECL_LDEXPL to 0.
27297
27298 2010-04-05  Jim Meyering  <meyering@redhat.com>
27299
27300         xstrtol-tests: convert to use init.sh
27301         * modules/xstrtol-tests (Files): Add tests/init.sh.
27302         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27303         Use Exit, not exit.
27304         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27305
27306         atexit-tests: convert to use init.sh
27307         * modules/atexit-tests (Files): Add tests/init.sh.
27308         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27309         Use Exit, not exit.
27310         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27311
27312         init.sh: fix typo
27313         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
27314
27315         init.sh: make it easier for a test script to write to the tty, ...
27316         when using automake's parallel-tests mode.
27317         * tests/init.sh (stderr_fileno_): Define overridable variable.
27318         (warn_): New function, to use it.
27319         (fail_, skip_, framework_failure_): Use warn_.
27320
27321 2010-04-04  Bruno Haible  <bruno@clisp.org>
27322
27323         btowc: Avoid warning.
27324         * lib/btowc.c: Include <stdlib.h>.
27325         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
27326
27327 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27328             Bruno Haible  <bruno@clisp.org>
27329
27330         wchar: Port to NetBSD 1.5.
27331         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
27332         * lib/wctype.in.h (WEOF): Likewise.
27333
27334 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27335             Bruno Haible  <bruno@clisp.org>
27336
27337         Port extended stdio to NetBSD 1.5.
27338         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
27339         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
27340         older.
27341
27342 2010-04-04  Bruno Haible  <bruno@clisp.org>
27343
27344         string: Remove unused substitution.
27345         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
27346         HAVE_DECL_STRERROR.
27347         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
27348
27349 2010-04-04  Bruno Haible  <bruno@clisp.org>
27350
27351         strtod: Avoid a possible C++ test error.
27352         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
27353         set REPLACE_STRTOD.
27354
27355 2010-04-04  Bruno Haible  <bruno@clisp.org>
27356
27357         strerror: Update documentation.
27358         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
27359
27360 2010-04-04  Bruno Haible  <bruno@clisp.org>
27361
27362         stdio: Fix some C++ test errors on Solaris 8 with GCC.
27363         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
27364         _GL_CXXALIAS_SYS_CAST.
27365
27366 2010-04-04  Bruno Haible  <bruno@clisp.org>
27367
27368         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27369         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
27370         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
27371         REPLACE_FREXPL to 1.
27372         * doc/posix-functions/frexpl.texi: Update documentation.
27373
27374 2010-04-04  Bruno Haible  <bruno@clisp.org>
27375
27376         math: Fix some C++ test errors on Solaris 8 and Cygwin.
27377         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
27378
27379 2010-04-04  Bruno Haible  <bruno@clisp.org>
27380
27381         Implement nanosleep for native Windows.
27382         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
27383
27384 2010-04-04  Bruno Haible  <bruno@clisp.org>
27385
27386         math: Fix some C++ test errors on Solaris 8.
27387         * lib/math.in.h (truncf, trunc): Use simpler idiom.
27388
27389 2010-04-04  Bruno Haible  <bruno@clisp.org>
27390
27391         math: Fix some C++ test errors on Cygwin.
27392         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
27393         truncl): Provide declaration if the system does not have it.
27394         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
27395         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
27396         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
27397         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
27398         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
27399         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
27400         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
27401         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
27402         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
27403         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
27404         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
27405         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
27406         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
27407         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
27408         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
27409         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
27410         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
27411         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27412         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27413         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
27414         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27415         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27416
27417 2010-04-04  Bruno Haible  <bruno@clisp.org>
27418
27419         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
27420         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
27421         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
27422         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27423         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
27424         * m4/isinf.m4 (gl_ISINF): Likewise.
27425         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27426
27427 2010-04-04  Bruno Haible  <bruno@clisp.org>
27428
27429         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
27430         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27431
27432 2010-04-04  Bruno Haible  <bruno@clisp.org>
27433
27434         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
27435         * modules/tmpfile (configure.ac): Update.
27436
27437         tmpfile: Fix C++ test error on mingw.
27438         * lib/stdio.in.h (tmpfile): New declaration.
27439         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
27440         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
27441         * modules/tmpfile (Depends-on): Add stdio.
27442         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
27443         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
27444         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
27445         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
27446         REPLACE_TMPFILE.
27447         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
27448
27449 2010-04-04  Bruno Haible  <bruno@clisp.org>
27450
27451         ioctl: Fix C++ test error on mingw.
27452         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
27453         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
27454         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
27455
27456 2010-04-03  Bruno Haible  <bruno@clisp.org>
27457
27458         wcwidth: Fix C++ test error on mingw.
27459         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
27460         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
27461         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
27462
27463 2010-04-03  Bruno Haible  <bruno@clisp.org>
27464
27465         nanosleep: Fix C++ test error on mingw.
27466         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
27467         * lib/time.in.h (nanosleep): Use modern idiom.
27468         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
27469         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
27470         REPLACE_NANOSLEEP to 1.
27471         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
27472         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
27473
27474 2010-04-03  Bruno Haible  <bruno@clisp.org>
27475
27476         strptime: Fix C++ test error on mingw.
27477         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
27478         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
27479         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
27480         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
27481         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
27482         not REPLACE_STRPTIME.
27483         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
27484         REPLACE_STRPTIME.
27485
27486 2010-04-03  Bruno Haible  <bruno@clisp.org>
27487
27488         timegm: Fix C++ test error on mingw.
27489         * lib/time.in.h (timegm): Use modern idiom.
27490         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
27491         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
27492         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
27493         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
27494
27495 2010-04-03  Bruno Haible  <bruno@clisp.org>
27496
27497         timegm: Assume declaration if function exists.
27498         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
27499         if it exists. Don't clobber ac_cv_func_timegm.
27500
27501 2010-04-03  Bruno Haible  <bruno@clisp.org>
27502
27503         time_r: Fix C++ test error on mingw.
27504         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
27505         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
27506         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
27507         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
27508         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
27509
27510 2010-04-03  Bruno Haible  <bruno@clisp.org>
27511
27512         time_r: Minor updates.
27513         * modules/time_r (Description): Mention the provided functions.
27514         * lib/time_r.c: Don't include <string.h>.
27515         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
27516         * doc/posix-functions/localtime_r.texi: Likewise.
27517
27518 2010-04-03  Bruno Haible  <bruno@clisp.org>
27519
27520         time: Fix regression introduced on 2010-03-08.
27521         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
27522         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
27523
27524 2010-04-03  Jim Meyering  <meyering@redhat.com>
27525
27526         maint.mk: don't silently disable project-specific syntax-check rules
27527         * top/maint.mk (_prohibit_regexp): Define, to help people realize
27528         that they need to convert their project-specific syntax-check rules
27529         to use the new _sc_search_regexp.
27530
27531 2010-04-03  Bruno Haible  <bruno@clisp.org>
27532
27533         fchdir: Fix regression introduced on 2010-03-08.
27534         * lib/unistd.in.h (fchdir): Fix declaration.
27535         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
27536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
27537         REPLACE_FCHDIR.
27538         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
27539         REPLACE_FCHDIR.
27540
27541 2010-04-03  Bruno Haible  <bruno@clisp.org>
27542
27543         getpagesize: Fix C++ test error on mingw.
27544         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
27545         system does not declare the function.
27546         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
27547         declared.
27548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27549         HAVE_DECL_GETPAGESIZE.
27550         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
27551
27552 2010-04-03  Bruno Haible  <bruno@clisp.org>
27553
27554         stdio: Make C++ tests work on mingw.
27555         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
27556         does not declare the function.
27557
27558 2010-04-03  Bruno Haible  <bruno@clisp.org>
27559
27560         ftello: Fix C++ test error on mingw.
27561         * lib/stdio.in.h (ftello): Use modern idiom.
27562         * lib/ftello.c (ftello): Renamed from rpl_ftello.
27563         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
27564         is missing and that it needs to be replaced.
27565         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
27566         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
27567         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
27568
27569 2010-04-03  Bruno Haible  <bruno@clisp.org>
27570
27571         fseeko: Fix C++ test error on mingw.
27572         * lib/stdio.in.h (fseeko): Use modern idiom.
27573         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
27574         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
27575         is missing and that it needs to be replaced.
27576         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
27577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
27578         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
27579
27580 2010-04-03  Bruno Haible  <bruno@clisp.org>
27581
27582         mkstemp: Fix C++ test error on mingw.
27583         * lib/stdlib.in.h (mkstemp): Use modern idiom.
27584         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
27585         function is missing and that it needs to be replaced.
27586         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
27587         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
27588
27589 2010-04-03  Bruno Haible  <bruno@clisp.org>
27590
27591         stpncpy: Fix C++ test error on mingw.
27592         * lib/string.in.h (stpncpy): Use modern idiom.
27593         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
27594         function is missing and that it needs to be replaced.
27595         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27596         REPLACE_STPNCPY.
27597         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
27598
27599 2010-04-03  Bruno Haible  <bruno@clisp.org>
27600
27601         sys_stat: Fix C++ test error on mingw.
27602         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
27603         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
27604
27605 2010-04-03  Bruno Haible  <bruno@clisp.org>
27606
27607         pty: Update doc.
27608         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
27609
27610 2010-04-03  Bruno Haible  <bruno@clisp.org>
27611
27612         unistd: Fix C++ test error on mingw.
27613         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
27614
27615 2010-04-03  Bruno Haible  <bruno@clisp.org>
27616
27617         Update doc regarding mingw.
27618         * doc/glibc-functions/openpty.texi: Update regarding mingw.
27619         * doc/glibc-functions/login_tty.texi: Likewise.
27620         * doc/glibc-functions/forkpty.texi: Likewise.
27621
27622 2010-04-03  Bruno Haible  <bruno@clisp.org>
27623
27624         stdlib: Avoid compilation failure of c-strtold on mingw.
27625         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
27626
27627 2010-04-03  Bruno Haible  <bruno@clisp.org>
27628
27629         locale: Make C++ tests work on Cygwin and mingw.
27630         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
27631         cannot provide the function.
27632         Reported by Simon Josefsson.
27633
27634 2010-04-03  Bruno Haible  <bruno@clisp.org>
27635
27636         localename: Port to MacOS X 10.6.
27637         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
27638         memory layout of the locales in MacOS X 10.6 as well.
27639         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
27640
27641 2010-04-02  Bruno Haible  <bruno@clisp.org>
27642
27643         gnulib-tool: Ensure that long-running tests are executed last.
27644         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
27645         running tests after the one for the other tests.
27646
27647 2010-04-02  Bruno Haible  <bruno@clisp.org>
27648
27649         gnulib-tool: Ensure the tests in the main directory are executed first.
27650         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
27651         start with the current directory.
27652
27653 2010-04-02  Bruno Haible  <bruno@clisp.org>
27654
27655         Tests for module 'havelib', moved here from GNU gettext.
27656         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
27657         modifications.
27658         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
27659         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
27660         with modifications.
27661         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
27662         modifications.
27663         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
27664         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
27665         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
27666         with modifications.
27667         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
27668         with modifications.
27669         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
27670         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
27671         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
27672         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
27673         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
27674         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
27675         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
27676         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
27677         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
27678         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
27679         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
27680         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
27681         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
27682         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
27683         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
27684         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
27685         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
27686         with modifications.
27687         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
27688         with modifications.
27689         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
27690         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
27691         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
27692         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
27693         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
27694         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
27695         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
27696         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
27697         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
27698         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
27699         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
27700         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
27701         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
27702         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
27703         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
27704         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
27705         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
27706         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
27707         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
27708         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
27709         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
27710         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
27711         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
27712         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
27713         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
27714         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
27715         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
27716         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
27717         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
27718         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
27719         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
27720         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
27721         * tests/havelib/rpathx/rpathx.c: New file, from
27722         gettext/autoconf-lib-link.
27723         * tests/havelib/rpathx/Makefile.am: New file, from
27724         gettext/autoconf-lib-link.
27725         * tests/havelib/rpathx/configure.ac: New file, from
27726         gettext/autoconf-lib-link with modifications.
27727         * tests/havelib/rpathy/rpathy.c: New file, from
27728         gettext/autoconf-lib-link.
27729         * tests/havelib/rpathy/Makefile.am: New file, from
27730         gettext/autoconf-lib-link.
27731         * tests/havelib/rpathy/configure.ac: New file, from
27732         gettext/autoconf-lib-link with modifications.
27733         * tests/havelib/rpathz/rpathz.c: New file, from
27734         gettext/autoconf-lib-link.
27735         * tests/havelib/rpathz/Makefile.am: New file, from
27736         gettext/autoconf-lib-link.
27737         * tests/havelib/rpathz/configure.ac: New file, from
27738         gettext/autoconf-lib-link with modifications.
27739         * tests/havelib/rpathlx/usex.c: New file, from
27740         gettext/autoconf-lib-link.
27741         * tests/havelib/rpathlx/Makefile.am: New file, from
27742         gettext/autoconf-lib-link.
27743         * tests/havelib/rpathlx/configure.ac: New file, from
27744         gettext/autoconf-lib-link with modifications.
27745         * tests/havelib/rpathly/usey.c: New file, from
27746         gettext/autoconf-lib-link.
27747         * tests/havelib/rpathly/Makefile.am: New file, from
27748         gettext/autoconf-lib-link.
27749         * tests/havelib/rpathly/configure.ac: New file, from
27750         gettext/autoconf-lib-link with modifications.
27751         * tests/havelib/rpathlz/usez.c: New file, from
27752         gettext/autoconf-lib-link.
27753         * tests/havelib/rpathlz/Makefile.am: New file, from
27754         gettext/autoconf-lib-link.
27755         * tests/havelib/rpathlz/configure.ac: New file, from
27756         gettext/autoconf-lib-link with modifications.
27757         * tests/havelib/rpathlyx/usey.c: New file, from
27758         gettext/autoconf-lib-link.
27759         * tests/havelib/rpathlyx/Makefile.am: New file, from
27760         gettext/autoconf-lib-link.
27761         * tests/havelib/rpathlyx/configure.ac: New file, from
27762         gettext/autoconf-lib-link with modifications.
27763         * tests/havelib/rpathlzyx/usez.c: New file, from
27764         gettext/autoconf-lib-link.
27765         * tests/havelib/rpathlzyx/Makefile.am: New file, from
27766         gettext/autoconf-lib-link.
27767         * tests/havelib/rpathlzyx/configure.ac: New file, from
27768         gettext/autoconf-lib-link with modifications.
27769         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
27770         with modifications.
27771
27772 2010-04-02  Bruno Haible  <bruno@clisp.org>
27773
27774         gnulib-tool: Create distributed built sources also for the tests.
27775         * gnulib-tool (func_create_testdir): Also generate distributed built
27776         sources in the tests directory.
27777
27778 2010-04-02  Bruno Haible  <bruno@clisp.org>
27779
27780         gnulib-tool: Obey user's environment variables.
27781         * gnulib-tool (func_create_testdir): When creating built sources,
27782         respect the environment variables for autoconf, automake, etc. given by
27783         the user.
27784
27785 2010-04-02  Bruno Haible  <bruno@clisp.org>
27786
27787         gnulib-tool: Provide the value of --m4-base to modules.
27788         * gnulib-tool (func_import, func_create_testdir): Emit a definition
27789         of gl_m4_base.
27790
27791 2010-04-02  Eric Blake  <eblake@redhat.com>
27792
27793         maint.mk: fix some fallout
27794         * NEWS: Document the incompatible change, and its effect on cfg.mk.
27795         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
27796
27797 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27798
27799         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
27800         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
27801         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
27802         (sc_cast_of_x_alloc_return_value): Likewise.
27803         (sc_cast_of_alloca_return_value): Likewise.
27804         (sc_space_tab): Likewise.
27805         (sc_prohibit_atoi_atof): Likewise.
27806         (sc_prohibit_magic_number_exit): Likewise.
27807         (sc_error_exit_success): Likewise.
27808         (sc_file_system): Likewise.
27809         (sc_prohibit_have_config_h): Likewise.
27810         (sc_require_config_h): Likewise.
27811         (sc_prohibit_HAVE_MBRTOWC): Likewise.
27812         (sc_obsolete_symbols): Likewise.
27813         (sc_changelog): Likewise.
27814         (sc_program_name): Likewise.
27815         (sc_the_the): Likewise.
27816         (sc_trailing_blank): Likewise.
27817         (sc_two_space_separator_in_usage): Likewise.
27818         (sc_useless_cpp_parens): Likewise.
27819         (sc_GPL_version): Likewise.
27820         (sc_GFDL_version): Likewise.
27821         (sc_texinfo_acronym): Likewise.
27822         (sc_prohibit_cvs_keyword): Likewise.
27823         (sc_prohibit_stat_st_blocks): Likewise.
27824         (sc_prohibit_S_IS_definition): Likewise.
27825         (sc_redundant_const): Likewise.
27826         (sc_makefile_TAB_only_indentation): Likewise.
27827         (sc_m4_quote_check): Likewise.
27828         (sc_makefile_path_separator_check): Likewise.
27829         (sc_copyright_check): Likewise.
27830         (sc_Wundef_boolean): Likewise.
27831         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27832
27833         maint.mk: match 0 or more whitespace-before-function-call '('
27834         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
27835         that have zero or two-and-more spaces between the function name
27836         and the open parenthesis.
27837         (sc_error_message_warn_fatal): Likewise.
27838         (sc_error_message_uppercase): Likewise.
27839         (sc_error_message_period): Likewise.
27840
27841 2010-03-31  Eric Blake  <eblake@redhat.com>
27842
27843         maint.mk: check for [ as well as test
27844         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
27845         Based on a libvirt report by Matthias Bolte.
27846
27847         gnumakefile: don't squelch _version output
27848         * top/GNUmakefile (_version): Create one-shot dependency rather
27849         than using $(shell) when version must be regenerated.
27850         (_autoreconf): Run verbosely, by default.
27851
27852         sys_time: avoid compiler warnings
27853         * lib/sys_time.in.h (includes): Ensure gcc pragma is
27854         unconditional, fixing regression from 2010-03-29.
27855         Reported by Simon Josefsson.
27856
27857 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27858
27859         maint.mk: s/_header_without_use/_sc_header_without_use/
27860         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
27861         (sc_prohibit_assert_without_use): Use the new name.
27862         (sc_prohibit_close_stream_without_use): Likewise.
27863         (sc_prohibit_getopt_without_use): Likewise.
27864         (sc_prohibit_quotearg_without_use): Likewise.
27865         (sc_prohibit_quote_without_use): Likewise.
27866         (sc_prohibit_long_options_without_use): Likewise.
27867         (sc_prohibit_inttostr_without_use): Likewise.
27868         (sc_prohibit_ignore_value_without_use): Likewise.
27869         (sc_prohibit_error_without_use): Likewise.
27870         (sc_prohibit_xalloc_without_use): Likewise.
27871         (sc_prohibit_hash_without_use): Likewise.
27872         (sc_prohibit_hash_pjw_without_use): Likewise.
27873         (sc_prohibit_safe_read_without_use): Likewise.
27874         (sc_prohibit_argmatch_without_use): Likewise.
27875         (sc_prohibit_canonicalize_without_use): Likewise.
27876         (sc_prohibit_root_dev_ino_without_use): Likewise.
27877         (sc_prohibit_openat_without_use): Likewise.
27878         (sc_prohibit_c_ctype_without_use): Likewise.
27879         (sc_prohibit_signal_without_use): Likewise.
27880         (sc_prohibit_intprops_without_use): Likewise.
27881
27882 2010-03-30  Eric Blake  <eblake@redhat.com>
27883
27884         maint: improve module indicators
27885         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
27886         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
27887         columns, and avoid extra macro expansion.
27888
27889         fdopendir: work around FreeBSD bug
27890         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27891         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
27892         * modules/dirent (Makefile.am): Substitute it.
27893         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
27894         declaration.
27895         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
27896         fix.
27897         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27898
27899 2010-03-29  Bruno Haible  <bruno@clisp.org>
27900
27901         Emit #pragma system_header after the inclusion guard, not before.
27902         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
27903         guard that spans the entire file, not before. This enables an
27904         optimization in GCC's preprocessor.
27905         * lib/ctype.in.h: Likewise.
27906         * lib/dirent.in.h: Likewise.
27907         * lib/errno.in.h: Likewise.
27908         * lib/float.in.h: Likewise.
27909         * lib/getopt.in.h: Likewise.
27910         * lib/iconv.in.h: Likewise.
27911         * lib/langinfo.in.h: Likewise.
27912         * lib/locale.in.h: Likewise.
27913         * lib/math.in.h: Likewise.
27914         * lib/netdb.in.h: Likewise.
27915         * lib/netinet_in.in.h: Likewise.
27916         * lib/pty.in.h: Likewise.
27917         * lib/sched.in.h: Likewise.
27918         * lib/se-selinux.in.h: Likewise.
27919         * lib/search.in.h: Likewise.
27920         * lib/spawn.in.h: Likewise.
27921         * lib/stdarg.in.h: Likewise.
27922         * lib/stdint.in.h: Likewise.
27923         * lib/string.in.h: Likewise.
27924         * lib/strings.in.h: Likewise.
27925         * lib/sys_file.in.h: Likewise.
27926         * lib/sys_ioctl.in.h: Likewise.
27927         * lib/sys_time.in.h: Likewise.
27928         * lib/sys_times.in.h: Likewise.
27929         * lib/sys_utsname.in.h: Likewise.
27930         * lib/sys_wait.in.h: Likewise.
27931         * lib/sysexits.in.h: Likewise.
27932         * lib/wctype.in.h: Likewise.
27933
27934 2010-03-28  James Youngman  <jay@gnu.org>
27935
27936         save-cwd: don't leak a file descriptor when the caller execs.
27937         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
27938         saved file descriptor.
27939         * modules/save-cwd (Depends-on): Depend on cloexec.
27940
27941 2010-03-29  Bruno Haible  <bruno@clisp.org>
27942
27943         Remove vestiges of fts-lgpl module.
27944         * lib/fts_.h: Assume GNULIB_FTS is 1.
27945         * lib/fts.c: Likewise.
27946         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27947
27948 2010-03-28  Bruno Haible  <bruno@clisp.org>
27949
27950         Fix definition of tests witness macro.
27951         * gnulib-tool (func_import): Fix definition of witness macro.
27952
27953 2010-03-28  Bruno Haible  <bruno@clisp.org>
27954
27955         Fix ioctl's protoype on glibc systems.
27956         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
27957         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
27958         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
27959         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
27960         signature. If not, arrange to replace the ioctl function.
27961         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27962         REPLACE_IOCTL.
27963         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
27964         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
27965         Reported by Ludovic Courtès <ludo@gnu.org>.
27966
27967 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
27968
27969         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
27970         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
27971         made it so grep -r --include=GLOB* ... did not work.
27972
27973 2010-03-26  Jim Meyering  <meyering@redhat.com>
27974             Eric Blake  <eblake@redhat.com>
27975
27976         maint.mk: prohibit use of test's -o and -a operators
27977         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
27978
27979 2010-03-28  Bruno Haible  <bruno@clisp.org>
27980
27981         Remove unused GNULIB_XYZ macro definitions.
27982         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
27983         invocation.
27984
27985 2010-03-28  Bruno Haible  <bruno@clisp.org>
27986
27987         Mark privileged tests modules.
27988         * modules/idpriv-drop-tests (Status): New section.
27989         * modules/idpriv-droptemp-tests (Status): New section.
27990
27991 2010-03-28  Bruno Haible  <bruno@clisp.org>
27992
27993         Split C++ tests into separate tests modules.
27994         * modules/dirent-c++-tests: New file, extracted from
27995         modules/dirent-tests.
27996         * modules/dirent-tests: Depend on it.
27997         * modules/fcntl-h-c++-tests: New file, extracted from
27998         modules/fcntl-h-tests.
27999         * modules/fcntl-h-tests: Depend on it.
28000         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
28001         * modules/glob-tests: Depend on it.
28002         * modules/iconv-h-c++-tests: New file, extracted from
28003         modules/iconv-h-tests.
28004         * modules/iconv-h-tests: Depend on it.
28005         * modules/langinfo-c++-tests: New file, extracted from
28006         modules/langinfo-tests.
28007         * modules/langinfo-tests: Depend on it.
28008         * modules/locale-c++-tests: New file, extracted from
28009         modules/locale-tests.
28010         * modules/locale-tests: Depend on it.
28011         * modules/math-c++-tests: New file, extracted from modules/math-tests.
28012         * modules/math-tests: Depend on it.
28013         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
28014         * modules/pty-tests: Depend on it.
28015         * modules/search-c++-tests: New file, extracted from
28016         modules/search-tests.
28017         * modules/search-tests: Depend on it.
28018         * modules/signal-c++-tests: New file, extracted from
28019         modules/signal-tests.
28020         * modules/signal-tests: Depend on it.
28021         * modules/spawn-c++-tests: New file, extracted from
28022         modules/spawn-tests.
28023         * modules/spawn-tests: Depend on it.
28024         * modules/stdio-c++-tests: New file, extracted from
28025         modules/stdio-tests.
28026         * modules/stdio-tests: Depend on it.
28027         * modules/stdlib-c++-tests: New file, extracted from
28028         modules/stdlib-tests.
28029         * modules/stdlib-tests: Depend on it.
28030         * modules/string-c++-tests: New file, extracted from
28031         modules/string-tests.
28032         * modules/string-tests: Depend on it.
28033         * modules/sys_ioctl-c++-tests: New file, extracted from
28034         modules/sys_ioctl-tests.
28035         * modules/sys_ioctl-tests: Depend on it.
28036         * modules/sys_select-c++-tests: New file, extracted from
28037         modules/sys_select-tests.
28038         * modules/sys_select-tests: Depend on it.
28039         * modules/sys_socket-c++-tests: New file, extracted from
28040         modules/sys_socket-tests.
28041         * modules/sys_socket-tests: Depend on it.
28042         * modules/sys_stat-c++-tests: New file, extracted from
28043         modules/sys_stat-tests.
28044         * modules/sys_stat-tests: Depend on it.
28045         * modules/sys_time-c++-tests: New file, extracted from
28046         modules/sys_time-tests.
28047         * modules/sys_time-tests: Depend on it.
28048         * modules/time-c++-tests: New file, extracted from modules/time-tests.
28049         * modules/time-tests: Depend on it.
28050         * modules/unistd-c++-tests: New file, extracted from
28051         modules/unistd-tests.
28052         * modules/unistd-tests: Depend on it.
28053         * modules/wchar-c++-tests: New file, extracted from
28054         modules/wchar-tests.
28055         * modules/wchar-tests: Depend on it.
28056         * modules/wctype-c++-tests: New file, extracted from
28057         modules/wctype-tests.
28058         * modules/wctype-tests: Depend on it.
28059         Reported by Simon Josefsson.
28060
28061 2010-03-28  Bruno Haible  <bruno@clisp.org>
28062
28063         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
28064         * gnulib-tool (func_exists_module): New function, extracted from
28065         func_verify_module.
28066         (func_verify_module): Use it.
28067         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
28068         'foo' only if 'foo' exists.
28069         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
28070         module.
28071
28072 2010-03-28  Bruno Haible  <bruno@clisp.org>
28073
28074         gnulib-tool: Add support for special categories of tests.
28075         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
28076         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
28077         (func_usage): Document them.
28078         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
28079         inc_unportable_tests, inc_all_tests): New variables.
28080         (func_acceptable): Consider these variables.
28081         (func_modules_transitive_closure): Make it work when the 'Status' field
28082         consists of multiple words.
28083         (func_import): Store and restore the values of inc_cxx_tests,
28084         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
28085         inc_all_tests in gnulib-comp.m4.
28086         (func_create_testdir): Set inc_all_tests to true.
28087         * doc/gnulib.texi (Extra tests modules): New section.
28088         Suggested by Jim Meyering.
28089
28090 2010-03-28  Bruno Haible  <bruno@clisp.org>
28091
28092         ansi-c++-opt: Allow turning off the C++ build by default.
28093         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
28094         gl_CXX_CHOICE_DEFAULT_NO is defined.
28095         Requested by Eric Blake.
28096
28097 2010-03-28  Bruno Haible  <bruno@clisp.org>
28098
28099         unistd: Avoid #define replacements in C++ mode.
28100         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
28101         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
28102         setsockopt, shutdown, select): In C++, attach a warning to the function
28103         if possible, rather than #defining the symbol to a dysfunctional alias.
28104         Reported by John W. Eaton <jwe@gnu.org>.
28105
28106 2010-03-28  Bruno Haible  <bruno@clisp.org>
28107
28108         Fix link errors on mingw.
28109         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
28110         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
28111         $(LIBSOCKET).
28112         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
28113         $(LIBSOCKET).
28114
28115 2010-03-28  Bruno Haible  <bruno@clisp.org>
28116             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28117
28118         lib-ignore: Determine different options for different compilers.
28119         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
28120         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
28121         Add comments.
28122         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
28123         * NEWS: Mention the change.
28124
28125 2010-03-27  Bruno Haible  <bruno@clisp.org>
28126
28127         Remove unused GNULIB_XYZ macro definitions.
28128         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28129         * modules/fseek (configure.ac): Likewise.
28130         * modules/ioctl (configure.ac): Likewise.
28131         * modules/open (configure.ac): Likewise.
28132         * modules/stdlib-safer (configure.ac): Likewise.
28133
28134 2010-03-27  Bruno Haible  <bruno@clisp.org>
28135
28136         Add a remark about certain modules.
28137         * modules/malloc (Comment): New section.
28138         * modules/realloc (Comment): Likewise.
28139         * modules/sigpipe (Comment): Likewise.
28140
28141 2010-03-27  Bruno Haible  <bruno@clisp.org>
28142
28143         Resolve conflict between the two kinds of module indicators.
28144         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
28145         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
28146         * modules/canonicalize (configure.ac): Invoke
28147         gl_MODULE_INDICATOR_FOR_TESTS.
28148         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
28149         GNULIB_XYZ.
28150         * tests/test-dirent-c++.cc: Likewise.
28151         * tests/test-dirent-safer.c: Likewise.
28152         * tests/test-dup2.c: Likewise.
28153         * tests/test-fchdir.c: Likewise.
28154         * tests/test-fcntl-h-c++.cc: Likewise.
28155         * tests/test-getopt.c: Likewise.
28156         * tests/test-getopt.h: Likewise.
28157         * tests/test-langinfo-c++.cc: Likewise.
28158         * tests/test-locale-c++.cc: Likewise.
28159         * tests/test-math-c++.cc: Likewise.
28160         * tests/test-pty-c++.cc: Likewise.
28161         * tests/test-search-c++.cc: Likewise.
28162         * tests/test-signal-c++.cc: Likewise.
28163         * tests/test-spawn-c++.cc: Likewise.
28164         * tests/test-stdio-c++.cc: Likewise.
28165         * tests/test-stdlib-c++.cc: Likewise.
28166         * tests/test-string-c++.cc: Likewise.
28167         * tests/test-sys_ioctl-c++.cc: Likewise.
28168         * tests/test-sys_select-c++.cc: Likewise.
28169         * tests/test-sys_socket-c++.cc: Likewise.
28170         * tests/test-sys_stat-c++.cc: Likewise.
28171         * tests/test-sys_time-c++.cc: Likewise.
28172         * tests/test-time-c++.cc: Likewise.
28173         * tests/test-unistd-c++.cc: Likewise.
28174         * tests/test-wchar-c++.cc: Likewise.
28175         * tests/uninorm/test-u8-nfc.c: Likewise.
28176         * tests/uninorm/test-u8-nfd.c: Likewise.
28177         * tests/uninorm/test-u8-nfkc.c: Likewise.
28178         * tests/uninorm/test-u8-nfkd.c: Likewise.
28179         * tests/uninorm/test-u16-nfc.c: Likewise.
28180         * tests/uninorm/test-u16-nfd.c: Likewise.
28181         * tests/uninorm/test-u16-nfkc.c: Likewise.
28182         * tests/uninorm/test-u16-nfkd.c: Likewise.
28183         * tests/uninorm/test-u32-nfc.c: Likewise.
28184         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28185         * tests/uninorm/test-u32-nfd.c: Likewise.
28186         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28187         * tests/uninorm/test-u32-nfkc.c: Likewise.
28188         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28189         * tests/uninorm/test-u32-nfkd.c: Likewise.
28190         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28191         * tests/uninorm/test-u32-normalize-big.c: Likewise.
28192
28193 2010-03-27  Bruno Haible  <bruno@clisp.org>
28194
28195         Distinguish two kinds of module indicators.
28196         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
28197         gl_MODULE_INDICATOR.
28198         (gl_MODULE_INDICATOR): New macro.
28199         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28200         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
28201         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28202         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28203         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28204         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28205         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28206         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28207         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28208         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28209         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28210         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28211         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28212         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28213         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28214         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28215         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28216         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28217         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28218         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28219         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28220         * modules/cloexec (configure.ac): Likewise.
28221         * modules/getopt-gnu (configure.ac): Likewise.
28222         * modules/uninorm/u8-normalize (configure.ac): Likewise.
28223         * modules/uninorm/u16-normalize (configure.ac): Likewise.
28224         * modules/uninorm/u32-normalize (configure.ac): Likewise.
28225         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
28226
28227 2010-03-27  Bruno Haible  <bruno@clisp.org>
28228
28229         New module description field 'Comment'.
28230         * gnulib-tool: New option --extract-comment.
28231         (func_usage): Document it.
28232         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
28233         (func_get_comment): New function.
28234         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
28235
28236 2010-03-27  Bruno Haible  <bruno@clisp.org>
28237
28238         Addendum to 2010-02-07 commit.
28239         * gnulib-tool (func_usage): Document --extract-applicability option.
28240
28241 2010-03-27  Bruno Haible  <bruno@clisp.org>
28242
28243         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
28244         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
28245         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
28246         rather than link errors.
28247
28248 2010-03-27  Bruno Haible  <bruno@clisp.org>
28249
28250         Avoid side effects from tests-related modules on the compilation of lib.
28251         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
28252         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
28253         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
28254         parameter. Emit into AM_CPPFLAGS a definition of the designated C
28255         macro.
28256         (func_import): Define a witness macro. Assign it a value that depends
28257         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
28258         tests-related modules.
28259         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
28260         Reported by Jim Meyering.
28261
28262 2010-03-27  Bruno Haible  <bruno@clisp.org>
28263
28264         Factorize common .m4 code.
28265         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
28266         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
28267         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
28268         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
28269         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28270         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
28271         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
28272         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28273         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28274         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28275         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
28276         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28277         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28278         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28279         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28280         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
28281         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28282         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28283         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28284         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
28285         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
28286         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28287         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28288         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28289         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28290         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28291         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
28292         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
28293         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
28294         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28295         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28296         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28297
28298 2010-03-27  Bruno Haible  <bruno@clisp.org>
28299
28300         Fix a compilation error on Cygwin with g++ >= 4.3.
28301         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
28302         if it is undefined or if we alias it to chmod.
28303         (lstat): Don't warn about the use of this function if it is undefined
28304         or if we alias it to stat.
28305         Reported by Simon Josefsson.
28306
28307 2010-03-27  Bruno Haible  <bruno@clisp.org>
28308
28309         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
28310         * modules/getlogin (configure.ac): Update.
28311
28312         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
28313         * modules/getlogin_r (configure.ac): Update.
28314
28315         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
28316         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
28317         * modules/inet_ntop (configure.ac): Update.
28318
28319         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
28320         * modules/inet_pton (configure.ac): Update.
28321
28322         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
28323         * modules/mbslen (configure.ac): Update.
28324
28325         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
28326         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
28327         * modules/forkpty (configure.ac): Update.
28328         * modules/openpty (configure.ac): Update.
28329
28330 2010-03-26  Simon Josefsson  <simon@josefsson.org>
28331
28332         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
28333         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
28334
28335 2010-03-25  Eric Blake  <eblake@redhat.com>
28336
28337         maint: use pragma consistently across replacement headers
28338         * lib/ctype.in.h (system_header): Hoist for consistent placement.
28339         * lib/dirent.in.h (system_header): Likewise.
28340         * lib/errno.in.h (system_header): Likewise.
28341         * lib/float.in.h (system_header): Likewise.
28342         * lib/getopt.in.h (system_header): Likewise.
28343         * lib/iconv.in.h (system_header): Likewise.
28344         * lib/inttypes.in.h (system_header): Likewise.
28345         * lib/langinfo.in.h (system_header): Likewise.
28346         * lib/locale.in.h (system_header): Likewise.
28347         * lib/math.in.h (system_header): Likewise.
28348         * lib/netdb.in.h (system_header): Likewise.
28349         * lib/netinet_in.in.h (system_header): Likewise.
28350         * lib/pty.in.h (system_header): Likewise.
28351         * lib/sched.in.h (system_header): Likewise.
28352         * lib/se-selinux.in.h (system_header): Likewise.
28353         * lib/search.in.h (system_header): Likewise.
28354         * lib/spawn.in.h (system_header): Likewise.
28355         * lib/stdarg.in.h (system_header): Likewise.
28356         * lib/stdint.in.h (system_header): Likewise.
28357         * lib/string.in.h (system_header): Likewise.
28358         * lib/strings.in.h (system_header): Likewise.
28359         * lib/sys_file.in.h (system_header): Likewise.
28360         * lib/sys_ioctl.in.h (system_header): Likewise.
28361         * lib/sys_socket.in.h (system_header): Likewise.
28362         * lib/sys_times.in.h (system_header): Likewise.
28363         * lib/sys_utsname.in.h (system_header): Likewise.
28364         * lib/sys_wait.in.h (system_header): Likewise.
28365         * lib/sysexits.in.h (system_header): Likewise.
28366         * lib/unistd.in.h (system_header): Likewise.
28367         * lib/wctype.in.h (system_header): Likewise.
28368
28369         arpa/inet: fix mingw compilation warning
28370         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
28371         Reported by Matthew Bolte.
28372
28373 2010-03-25  Bruno Haible  <bruno@clisp.org>
28374
28375         Avoid collision between gnulib wrapper and libintl wrapper.
28376         * lib/printf.c (printf): Don't define if a printf wrapper is already
28377         defined in intl/printf.c.
28378         Reported by Michel Boaventura <michel@michelboaventura.com>.
28379
28380 2010-03-25  Bruno Haible  <bruno@clisp.org>
28381
28382         Use ANSI C.
28383         * lib/readutmp.h (getutent): Provide ANSI C prototype.
28384
28385 2010-03-25  Bruno Haible  <bruno@clisp.org>
28386
28387         Minor formatting changes.
28388         * lib/acosl.c: Insert space before function argument list.
28389         * lib/argz.c: Likewise.
28390         * lib/asinl.c: Likewise.
28391         * lib/expl.c: Likewise.
28392         * lib/gen-uni-tables.c: Likewise.
28393         * lib/gettext.h: Likewise.
28394         * lib/glthread/lock.h: Likewise.
28395         * lib/tanl.c: Likewise.
28396         * lib/uniname/uniname.c: Likewise.
28397         * tests/test-idpriv-drop.c: Likewise.
28398         * tests/test-idpriv-droptemp.c: Likewise.
28399         * tests/test-lock.c: Likewise.
28400         * tests/test-tls.c: Likewise.
28401         * lib/argp-help.c: Insert space before function-like macro argument
28402         list.
28403         * lib/memcmp.c: Likewise.
28404         * tests/test-base64.c: Likewise.
28405         * lib/localename.c: Insert space before sizeof's argument list.
28406         * lib/safe-alloc.h: Likewise.
28407         * lib/file-set.h: Insert space before macro argument list.
28408         * tests/test-argp.c: Likewise.
28409         * lib/argp-namefrob.h: Insert space before function parameter list.
28410         * lib/getaddrinfo.c: Likewise.
28411         * lib/netdb.in.h: Likewise.
28412         * lib/parse-duration.h: Likewise.
28413         * lib/parse-duration.c: Likewise.
28414         * lib/poll.c: Likewise.
28415         * lib/select.c: Likewise.
28416         * lib/trim.h: Likewise.
28417         * tests/test-usleep.c: Likewise.
28418         * lib/ldexpl.c: Insert space before function parameter list and before
28419         function argument list.
28420         * lib/logl.c: Likewise.
28421         * lib/sqrtl.c: Likewise.
28422         * lib/trim.c: Likewise.
28423         * lib/cosl.c: Use GNU style indentation. Insert space before function
28424         argument list.
28425         * lib/sinl.c: Likewise.
28426         * lib/tsearch.c: Insert space after 'for'.
28427         Reported by Jim Meyering.
28428
28429 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
28430
28431         * maint.mk (sc_Wundef_boolean): Check for the presence of the
28432         config header before grepping, as it's not present before
28433         autoreconf/configure are run.  Reported by Simon Josefsson.
28434
28435 2010-03-23  Bruno Haible  <bruno@clisp.org>
28436
28437         pt_chown: Make it work with automake < 1.11.
28438         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
28439         Reported by Simon Josefsson.
28440
28441 2010-03-23  Bruno Haible  <bruno@clisp.org>
28442
28443         pt_chown: Don't depend on GPLed modules.
28444         * lib/pt_chown.c: Don't include idpriv.h.
28445         (main): Don't drop privileges.
28446         * modules/pt_chown (Depends-on): Remove idpriv-drop.
28447         Reported by Simon Josefsson.
28448
28449 2010-03-24  Simon Josefsson  <simon@josefsson.org>
28450
28451         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
28452         suggestions from karl@freefriends.org (Karl Berry).
28453
28454 2010-03-22  Eric Blake  <eblake@redhat.com>
28455
28456         gethostname: further tweaks
28457         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
28458         are overriding gethostname.
28459         Suggested by Bruno Haible.
28460
28461 2010-03-21  Bruno Haible  <bruno@clisp.org>
28462
28463         Fix comments.
28464         * lib/forkpty.c (rpl_forkpty): Fix comment.
28465         * lib/openpty.c (rpl_openpty): Likewise.
28466         Reported by Eric Blake.
28467
28468 2010-03-22  Eric Blake  <eblake@redhat.com>
28469
28470         gethostname: fix build on mingw
28471         * lib/unistd.in.h (includes): Work around fact that mingw
28472         <winsock2.h> re-includes <unistd.h>, by avoiding any
28473         redeclarations if we are being included by <winsock2.h>.
28474         Reported by Matthias Bolte.
28475
28476 2010-03-21  Bruno Haible  <bruno@clisp.org>
28477
28478         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28479         * lib/forkpty.c (forkpty): New replacement function, from glibc with
28480         modifications.
28481         * lib/pty.in.h (forkpty): Update declaration. Add comments.
28482         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
28483         provide the replacement.
28484         * modules/forkpty (Depends-on): Add openpty, login_tty.
28485         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
28486         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
28487         * doc/glibc-functions/forkpty.texi: More supported platforms.
28488         * config/srclist.txt: Add forkpty.c (commented).
28489
28490 2010-03-21  Bruno Haible  <bruno@clisp.org>
28491
28492         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
28493         (Makefile.am): Verify that PTY_LIB is defined.
28494
28495         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
28496
28497 2010-03-21  Bruno Haible  <bruno@clisp.org>
28498
28499         Tests for module 'login_tty'.
28500         * modules/login_tty-tests: New file.
28501         * tests/test-login_tty.c: New file.
28502
28503         New module 'login_tty'.
28504         * lib/login_tty.c: New file.
28505         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
28506         * modules/login_tty: New file.
28507         * doc/glibc-functions/login_tty.texi: Mention the new module.
28508
28509 2010-03-21  Bruno Haible  <bruno@clisp.org>
28510
28511         login_tty: Documentation.
28512         * doc/glibc-functions/login_tty.texi: New file.
28513         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
28514
28515 2010-03-21  Bruno Haible  <bruno@clisp.org>
28516
28517         pty: Consistent macro naming.
28518         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
28519         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
28520         * modules/pty (configure.ac): Update.
28521
28522 2010-03-21  Bruno Haible  <bruno@clisp.org>
28523
28524         Tests for openpty: Make stricter.
28525         * tests/test-openpty.c (main): Add test of canonical processing and
28526         erase.
28527         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
28528
28529         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28530         * lib/openpty.c (openpty): New replacement function.
28531         * lib/pty.in.h: Include <termios.h>.
28532         (openpty): Update declaration. Add comments.
28533         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
28534         is not declared, arrange to provide the replacement. Check for _getpty
28535         and posix_openpt.
28536         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
28537         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
28538         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
28539         * modules/pty-tests (test_pty_c___LDADD): New variable.
28540         * doc/glibc-functions/openpty.texi: More supported platforms.
28541
28542 2010-03-21  Bruno Haible  <bruno@clisp.org>
28543
28544         setenv: Tweaks.
28545         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
28546         the test program.
28547         * doc/posix-functions/setenv.texi: Update platforms list.
28548
28549 2010-03-21  Bruno Haible  <bruno@clisp.org>
28550
28551         New module 'unlockpt'.
28552         * lib/unlockpt.c: New file, from glibc with modifications.
28553         * m4/unlockpt.m4: New file.
28554         * modules/unlockpt: New file.
28555         * lib/stdlib.in.h (unlockpt): New declaration.
28556         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
28557         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
28558         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
28559         HAVE_UNLOCKPT.
28560         * doc/posix-functions/unlockpt.texi: Mention the new module.
28561         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
28562         * config/srclist.txt: Add unlockpt.c (commented).
28563
28564 2010-03-21  Jim Meyering  <meyering@redhat.com>
28565
28566         maint.mk: prohibit inclusion of "intprops.h" without use
28567         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
28568
28569 2010-03-21  Bruno Haible  <bruno@clisp.org>
28570
28571         New module 'grantpt'.
28572         * lib/grantpt.c: New file, from glibc with modifications.
28573         * m4/grantpt.m4: New file.
28574         * modules/grantpt: New file.
28575         * lib/stdlib.in.h (grantpt): New declaration.
28576         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
28577         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
28578         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
28579         HAVE_GRANTPT.
28580         * doc/posix-functions/grantpt.texi: Mention the new module.
28581         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
28582         * config/srclist.txt: Add grantpt.c (commented).
28583
28584 2010-03-21  Bruno Haible  <bruno@clisp.org>
28585
28586         New module 'pt_chown'.
28587         * lib/pt_chown.c: New file, from glibc with modifications.
28588         * lib/pty-private.h: New file, from glibc with modifications.
28589         * modules/pt_chown: New file.
28590         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
28591
28592 2010-03-21  Bruno Haible  <bruno@clisp.org>
28593
28594         Tests for module 'ptsname'.
28595         * modules/ptsname-tests: New file.
28596         * tests/test-ptsname.c: New file.
28597
28598         New module 'ptsname'.
28599         * lib/ptsname.c: New file, from glibc with modifications.
28600         * m4/ptsname.m4: New file.
28601         * modules/ptsname: New file.
28602         * lib/stdlib.in.h (ptsname): New declaration.
28603         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
28604         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
28605         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
28606         HAVE_PTSNAME.
28607         * doc/posix-functions/ptsname.texi: Mention the new module.
28608         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
28609         * config/srclist.txt: Add ptsname.c (commented).
28610
28611 2010-03-21  Bruno Haible  <bruno@clisp.org>
28612
28613         Tests for module 'ttyname_r'.
28614         * modules/ttyname_r-tests: New file.
28615         * tests/test-ttyname_r.c: New file.
28616
28617         New module 'ttyname_r'.
28618         * lib/ttyname_r.c: New file.
28619         * m4/ttyname_r.m4: New file.
28620         * modules/ttyname_r: New file.
28621         * lib/unistd.in.h (ttyname_r): New declaration.
28622         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
28623         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
28624         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
28625         HAVE_TTYNAME_R.
28626         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
28627         * doc/posix-functions/ttyname_r.texi: Mention the new module.
28628
28629 2010-03-20  Bruno Haible  <bruno@clisp.org>
28630
28631         signal: Undefine macro definitions in C++ mode.
28632         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
28633         sigfillset): Undefine macro definitions from the system header in C++
28634         mode.
28635         Reported by John W. Eaton <jwe@gnu.org>.
28636
28637 2010-03-20  Bruno Haible  <bruno@clisp.org>
28638
28639         Ensure no #include statements inside extern "C" { ... }.
28640         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
28641         contain #include statements.
28642         * lib/time.in.h: Likewise.
28643
28644 2010-03-20  Bruno Haible  <bruno@clisp.org>
28645
28646         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
28647         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
28648         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
28649         Reported by John W. Eaton <jwe@gnu.org>.
28650
28651 2010-03-20  Bruno Haible  <bruno@clisp.org>
28652
28653         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
28654         Reported by Jim Meyering.
28655
28656 2010-03-20  Bruno Haible  <bruno@clisp.org>
28657
28658         pipe: Set errno upon failure.
28659         * lib/pipe.h: Specify that when -1 is returned, errno is set.
28660         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
28661         errno value in error message.
28662
28663 2010-03-20  Bruno Haible  <bruno@clisp.org>
28664             Jim Meyering  <meyering@redhat.com>
28665
28666         lchown: Avoid "unused variable" warning.
28667         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
28668
28669 2010-03-20  Bruno Haible  <bruno@clisp.org>
28670
28671         Work around unlink() bug on MacOS X 10.5.6.
28672         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
28673         attempting to unlink a parent directory.
28674         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
28675         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
28676         activate for the replacement function.
28677         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
28678
28679 2010-03-20  Bruno Haible  <bruno@clisp.org>
28680
28681         Fix link errors on Solaris 8.
28682         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
28683         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
28684
28685 2010-03-19  Jim Meyering  <meyering@redhat.com>
28686
28687         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
28688         The _LIBC implementation of build_range_exp correctly honors the
28689         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
28690         However, the non-_LIBC implementation would ignore that syntax-bit
28691         flag and return REG_ERANGE unconditionally.
28692         This change makes it honor that flag.
28693         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
28694         Make two pointer parameters "const".
28695         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
28696         (parse_bracket_exp): Update caller.
28697
28698         regex.m4: correct the reversed range endpoint ([b-a]) test
28699         * m4/regex.m4: When requiring that [b-a] evoke failure,
28700         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
28701         test pass once again for x86-based systems.
28702
28703 2010-03-19  Bruno Haible  <bruno@clisp.org>
28704
28705         scandir: Fix link error on Solaris 8.
28706         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
28707         macros.
28708
28709 2010-03-19  Bruno Haible  <bruno@clisp.org>
28710
28711         getusershell: Fix documentation.
28712         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
28713         module.
28714         * doc/glibc-functions/setusershell.texi: Likewise.
28715
28716         getusershell: Provide declaration, missing on Solaris 9.
28717         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
28718         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
28719         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
28720         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
28721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28722         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
28723         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
28724         HAVE_GETUSERSHELL.
28725         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
28726
28727 2010-03-19  Bruno Haible  <bruno@clisp.org>
28728
28729         wctype: Provide iswblank function.
28730         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
28731         exists and is fine.
28732         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
28733         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
28734         * tests/test-wctype.c (main): Re-enable the iswblank tests.
28735         * doc/posix-functions/iswblank.texi: Update.
28736
28737 2010-03-19  Bruno Haible  <bruno@clisp.org>
28738
28739         Tests of module 'pty' in C++ mode.
28740         * modules/pty-tests: New file.
28741         * tests/test-pty-c++.cc: New file.
28742         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28743
28744 2010-03-19  Eric Blake  <eblake@redhat.com>
28745
28746         logb: fix documentation
28747         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
28748         1.5 declaration bug.
28749
28750         forkpty, openpty: prefer glibc's const-safe prototype
28751         * lib/forkpty.c (rpl_forkpty): New file.
28752         * lib/openpty.c (rpl_openpty): Likewise.
28753         * modules/forkpty (Files): Distribute it.
28754         * modules/openpty (Files): Likewise.
28755         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
28756         check...
28757         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
28758         replacement for for non-const BSD signature.
28759         * modules/pty (Makefile.am): Substitute witnesses.
28760         * lib/pty.in.h (forkpty, openpty): Declare replacements.
28761         * tests/test-forkpty.c: Update signature check.
28762         * tests/test-openpty.c: Likewise.
28763         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
28764         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28765
28766         forkpty, openpty: split functions into new modules
28767         * modules/pty (Makefile.am): Substitute new witnesses.
28768         (Libraries): Move library detection...
28769         * modules/forkpty: ...into new module.
28770         * modules/openpty: Another new module.
28771         * modules/pty-tests: Rename and split...
28772         * modules/forkpty-tests: ...to this...
28773         * modules/openpty-tests: ...and this.
28774         * tests/test-pty.c: Rename and split...
28775         * tests/test-forkpty.c: ...to this...
28776         * tests/test-openpty.c: ...and this.
28777         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
28778         (gl_PTY): Split library searching...
28779         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
28780         (gl_FORKPTY, gl_OPENPTY): New macros.
28781         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
28782         * NEWS: Mention the split.
28783         * MODULES.html.sh (Misc): Document the modules.
28784         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
28785         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28786
28787         pty: improve replacement header
28788         * lib/pty.in.h: New file.
28789         * modules/pty (Files): Ship it.
28790         (Makefile.am): Always build replacement.
28791         * m4/pty.m4: Rename...
28792         * m4/pty_h.m4: ...to this.
28793         (gl_PTY): Modernize setting of witness macros; update check of
28794         forkpty to take proper advantage of cache.
28795         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
28796
28797         getopt: avoid compiler warning
28798         * lib/getopt.c (attribute_hidden): Remove unused macro.
28799
28800 2010-03-18  Bruno Haible  <bruno@clisp.org>
28801
28802         Fix link errors on Solaris 8.
28803         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
28804         * modules/search-tests (test_search_c___LDADD): Likewise.
28805         * modules/signal-tests (test_signal_c___LDADD): Likewise.
28806         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
28807         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
28808         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
28809         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
28810         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
28811         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
28812
28813 2010-03-18  Bruno Haible  <bruno@clisp.org>
28814
28815         Fix bug introduced on 2010-03-14.
28816         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
28817         (gl_SPAWN_H): Require it.
28818         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
28819         Reported by Simon Josefsson.
28820
28821 2010-03-18  Bruno Haible  <bruno@clisp.org>
28822
28823         Fix typo introduced on 2009-12-31.
28824         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
28825         posix_spawn_file_actions_adddup2.
28826
28827 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
28828         and Eric Blake  <eblake@redhat.com>
28829
28830         test-vc-list-files-git: make more robust
28831         * tests/test-vc-list-files-git.sh: Unset problematic environment
28832         variables.  Chain commands together.
28833
28834 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
28835
28836         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
28837         `AC_CHECK_DECL' invocation.
28838
28839 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
28840
28841         * lib/inttostr.c (inttostr): Make sure the invocation of verify
28842         appears before executable statements. Suggested by Petr Sumbera
28843         <Petr.Sumbera@Sun.COM>.
28844
28845 2010-03-14  Bruno Haible  <bruno@clisp.org>
28846
28847         * tests/test-flock.c (test_exclusive): Comment out a test that causes
28848         portability problems. Instead use a simpler test.
28849         (main): Check that invalid arguments are rejected only on Linux.
28850
28851 2010-03-14  Bruno Haible  <bruno@clisp.org>
28852
28853         Fix bug introduced on 2009-12-31.
28854         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28855         gl_PREREQ_SYS_H_WINSOCK2 always.
28856         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
28857         SYS_SOCKET_H variable.
28858         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
28859         Update comments.
28860         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
28861         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28862         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28863         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28864         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
28865
28866 2010-03-14  Bruno Haible  <bruno@clisp.org>
28867
28868         Fix values returned by sinl, cosl.
28869         * lib/trigl.h: Add specification comments.
28870         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
28871         that combines the values from the precomputed table with the values of
28872         the Chebyshev polynomials.
28873
28874 2010-03-14  Bruno Haible  <bruno@clisp.org>
28875
28876         Fix compilation error when modules 'posix_spawn[p]' are not used.
28877         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
28878         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
28879
28880 2010-03-14  Bruno Haible  <bruno@clisp.org>
28881
28882         Fix compilation error on mingw when module 'time_r' is not used.
28883         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
28884         is 1.
28885         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
28886         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28887         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
28888         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
28889
28890 2010-03-14  Bruno Haible  <bruno@clisp.org>
28891
28892         Fix compilation error with Sun C.
28893         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
28894         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
28895         instead of GCC specific ULONG_LONG_MAX.
28896         * lib/xstrtoll.c: Likewise.
28897         * lib/xstrtoull.c: Likewise.
28898
28899 2010-03-13  Bruno Haible  <bruno@clisp.org>
28900
28901         Allow the user to disable C++ code and tests.
28902         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
28903         (gl_PROG_ANSI_CXX): Require it.
28904
28905 2010-03-13  Bruno Haible  <bruno@clisp.org>
28906
28907         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
28908         cases.
28909
28910 2010-03-13  Bruno Haible  <bruno@clisp.org>
28911
28912         Test that gnulib does not break the standard C++ headers.
28913         * tests/test-locale-c++2.cc: New file.
28914         * modules/locale-tests (Files): Add it.
28915         (Makefile.am): Compile it for test-locale-c++.
28916         * tests/test-math-c++2.cc: New file.
28917         * modules/math-tests (Files): Add it.
28918         (Makefile.am): Compile it for test-math-c++.
28919         * tests/test-signal-c++2.cc: New file.
28920         * modules/signal-tests (Files): Add it.
28921         (Makefile.am): Compile it for test-signal-c++.
28922         * tests/test-stdio-c++2.cc: New file.
28923         * modules/stdio-tests (Files): Add it.
28924         (Makefile.am): Compile it for test-stdio-c++.
28925         * tests/test-stdlib-c++2.cc: New file.
28926         * modules/stdlib-tests (Files): Add it.
28927         (Makefile.am): Compile it for test-stdlib-c++.
28928         * tests/test-string-c++2.cc: New file.
28929         * modules/string-tests (Files): Add it.
28930         (Makefile.am): Compile it for test-string-c++.
28931         * tests/test-time-c++2.cc: New file.
28932         * modules/time-tests (Files): Add it.
28933         (Makefile.am): Compile it for test-time-c++.
28934         Reported by John W. Eaton <jwe@gnu.org>.
28935
28936 2010-03-13  Bruno Haible  <bruno@clisp.org>
28937
28938         * gnulib-tool (func_usage): Clarify which options are available for
28939         --create-testdir and --create-megatestdir.
28940
28941 2010-03-13  Bruno Haible  <bruno@clisp.org>
28942
28943         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
28944         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
28945         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
28946         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28947         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
28948         when appropriate.
28949         Reported by Jim Meyering.
28950
28951 2010-03-12  Simon Josefsson  <simon@josefsson.org>
28952
28953         * gnulib-tool (func_import): Explain origin of code.
28954
28955 2010-03-12  Bruno Haible  <bruno@clisp.org>
28956
28957         Fix problem with automake's definition of CXXLINK.
28958         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
28959         Reported by Simon Josefsson and Ludovic Courtès.
28960
28961 2010-03-12  Bruno Haible  <bruno@clisp.org>
28962
28963         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
28964         stable releases.
28965
28966 2010-03-11  Bruno Haible  <bruno@clisp.org>
28967
28968         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
28969         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
28970         whether the system provides one variant or multiple variants of the
28971         function.
28972         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
28973         C++ compilers.
28974         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
28975         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
28976         Reported by Jim Meyering.
28977
28978 2010-03-09  Simon Josefsson  <simon@josefsson.org>
28979
28980         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
28981
28982 2010-03-08  Bruno Haible  <bruno@clisp.org>
28983
28984         gnulib-tool: Add support for --libtool in --create-testdir.
28985         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
28986         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
28987
28988 2010-03-08  Eric Blake  <eblake@redhat.com>
28989
28990         gnulib-tool.texi: mention possibility of git submodule
28991         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
28992         submodules.
28993         * doc/.gitignore: Ignore another generated file.
28994
28995 2010-03-08  Karl Berry  <karl@gnu.org>
28996
28997         * doc/gnulib-tool.texi (VCS Issues): Mention third option
28998         of committing gnulib files while skipping others.
28999
29000 2010-03-07  Bruno Haible  <bruno@clisp.org>
29001
29002         Tests of module 'wctype' in C++ mode.
29003         * tests/test-wctype-c++.cc: New file.
29004         * modules/wctype-tests (Files): Add it and tests/signature.h.
29005         (Depends-on): Add ansi-c++-opt.
29006         (Makefile.am): Arrange to compile and run test-wctype-c++.
29007
29008         Tests of module 'wchar' in C++ mode.
29009         * tests/test-wchar-c++.cc: New file.
29010         * modules/wchar-tests (Files): Add it and tests/signature.h.
29011         (Depends-on): Add ansi-c++-opt.
29012         (Makefile.am): Arrange to compile and run test-wchar-c++.
29013         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
29014         gl_MODULE_INDICATOR.
29015
29016         Tests of module 'unistd' in C++ mode.
29017         * tests/test-unistd-c++.cc: New file.
29018         * modules/unistd-tests (Files): Add it and tests/signature.h.
29019         (Depends-on): Add ansi-c++-opt.
29020         (Makefile.am): Arrange to compile and run test-unistd-c++.
29021         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
29022         gl_MODULE_INDICATOR.
29023
29024         Tests of module 'time' in C++ mode.
29025         * tests/test-time-c++.cc: New file.
29026         * modules/time-tests (Files): Add it and tests/signature.h.
29027         (Depends-on): Add ansi-c++-opt.
29028         (Makefile.am): Arrange to compile and run test-time-c++.
29029         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29030
29031         Tests of module 'sys_time' in C++ mode.
29032         * tests/test-sys_time-c++.cc: New file.
29033         * modules/sys_time-tests (Files): Add it and tests/signature.h.
29034         (Depends-on): Add ansi-c++-opt.
29035         (Makefile.am): Arrange to compile and run test-sys_time-c++.
29036         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
29037         gl_MODULE_INDICATOR.
29038
29039         Tests of module 'sys_stat' in C++ mode.
29040         * tests/test-sys_stat-c++.cc: New file.
29041         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
29042         (Depends-on): Add ansi-c++-opt.
29043         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
29044         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
29045         gl_MODULE_INDICATOR.
29046
29047         Tests of module 'sys_socket' in C++ mode.
29048         * tests/test-sys_socket-c++.cc: New file.
29049         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
29050         (Depends-on): Add ansi-c++-opt.
29051         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
29052         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
29053         gl_MODULE_INDICATOR.
29054
29055         Tests of module 'sys_select' in C++ mode.
29056         * tests/test-sys_select-c++.cc: New file.
29057         * modules/sys_select-tests (Files): Add it and tests/signature.h.
29058         (Depends-on): Add ansi-c++-opt.
29059         (Makefile.am): Arrange to compile and run test-sys_select-c++.
29060         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
29061         gl_MODULE_INDICATOR.
29062
29063         Tests of module 'sys_ioctl' in C++ mode.
29064         * tests/test-sys_ioctl-c++.cc: New file.
29065         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
29066         (Depends-on): Add ansi-c++-opt.
29067         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
29068         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
29069         gl_MODULE_INDICATOR.
29070
29071         Tests of module 'string' in C++ mode.
29072         * tests/test-string-c++.cc: New file.
29073         * modules/string-tests (Files): Add it and tests/signature.h.
29074         (Depends-on): Add ansi-c++-opt.
29075         (Makefile.am): Arrange to compile and run test-string-c++.
29076         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
29077         gl_MODULE_INDICATOR.
29078
29079         Tests of module 'stdlib' in C++ mode.
29080         * tests/test-stdlib-c++.cc: New file.
29081         * modules/stdlib-tests (Files): Add it and tests/signature.h.
29082         (Depends-on): Add ansi-c++-opt.
29083         (Makefile.am): Arrange to compile and run test-stdlib-c++.
29084         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
29085         gl_MODULE_INDICATOR.
29086
29087         Tests of module 'stdio' in C++ mode.
29088         * tests/test-stdio-c++.cc: New file.
29089         * modules/stdio-tests (Files): Add it and tests/signature.h.
29090         (Depends-on): Add ansi-c++-opt.
29091         (Makefile.am): Arrange to compile and run test-stdio-c++.
29092         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
29093         gl_MODULE_INDICATOR.
29094
29095         Tests of module 'spawn' in C++ mode.
29096         * tests/test-spawn-c++.cc: New file.
29097         * modules/spawn-tests (Files): Add it and tests/signature.h.
29098         (Depends-on): Add ansi-c++-opt.
29099         (Makefile.am): Arrange to compile and run test-spawn-c++.
29100         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
29101         gl_MODULE_INDICATOR.
29102
29103         Tests of module 'signal' in C++ mode.
29104         * tests/test-signal-c++.cc: New file.
29105         * modules/signal-tests (Files): Add it and tests/signature.h.
29106         (Depends-on): Add ansi-c++-opt.
29107         (Makefile.am): Arrange to compile and run test-signal-c++.
29108         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
29109         gl_MODULE_INDICATOR.
29110
29111         Tests of module 'search' in C++ mode.
29112         * tests/test-search-c++.cc: New file.
29113         * modules/search-tests (Files): Add it and tests/signature.h.
29114         (Depends-on): Add ansi-c++-opt.
29115         (Makefile.am): Arrange to compile and run test-search-c++.
29116         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
29117         gl_MODULE_INDICATOR.
29118
29119         Tests of module 'math' in C++ mode.
29120         * tests/test-math-c++.cc: New file.
29121         * modules/math-tests (Files): Add it and tests/signature.h.
29122         (Depends-on): Add ansi-c++-opt.
29123         (Makefile.am): Arrange to compile and run test-math-c++.
29124         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29125
29126         Tests of module 'locale' in C++ mode.
29127         * tests/test-locale-c++.cc: New file.
29128         * modules/locale-tests (Files): Add it and tests/signature.h.
29129         (Depends-on): Add ansi-c++-opt.
29130         (Makefile.am): Arrange to compile and run test-locale-c++.
29131         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
29132         gl_MODULE_INDICATOR.
29133
29134         Tests of module 'langinfo' in C++ mode.
29135         * tests/test-langinfo-c++.cc: New file.
29136         * modules/langinfo-tests (Files): Add it and tests/signature.h.
29137         (Depends-on): Add ansi-c++-opt.
29138         (Makefile.am): Arrange to compile and run test-langinfo-c++.
29139         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
29140         gl_MODULE_INDICATOR.
29141
29142         Tests of module 'iconv-h' in C++ mode.
29143         * tests/test-iconv-h-c++.cc: New file.
29144         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
29145         (Depends-on): Add ansi-c++-opt.
29146         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
29147
29148         Tests of module 'glob' in C++ mode.
29149         * tests/test-glob-c++.cc: New file.
29150         * modules/glob-tests (Files): Add it.
29151         (Depends-on): Add ansi-c++-opt.
29152         (Makefile.am): Arrange to compile and run test-glob-c++.
29153
29154         Tests of module 'fcntl-h' in C++ mode.
29155         * tests/test-fcntl-h-c++.cc: New file.
29156         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
29157         (Depends-on): Add ansi-c++-opt.
29158         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
29159         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
29160         gl_MODULE_INDICATOR.
29161
29162         Tests of module 'dirent' in C++ mode.
29163         * tests/test-dirent-c++.cc: New file.
29164         * modules/dirent-tests (Files): Add it and tests/signature.h.
29165         (Depends-on): Add ansi-c++-opt.
29166         (Makefile.am): Arrange to compile and run test-dirent-c++.
29167         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29168         gl_MODULE_INDICATOR.
29169
29170         New module 'ansi-c++-opt'.
29171         * modules/ansi-c++-opt: New file.
29172         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
29173
29174         Document C++ namespace mode.
29175         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
29176
29177         wctype: Avoid #define replacements in C++ mode.
29178         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
29179         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
29180         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
29181         In C++, define a namespaced alias symbol.
29182         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
29183         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
29184         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
29185         rule.
29186
29187         wchar: Avoid #define replacements in C++ mode.
29188         * lib/wchar.in.h: Include c++defs.h.
29189         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
29190         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
29191         symbol.
29192         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
29193         * modules/wchar (Depends-on): Add c++defs.
29194         (Makefile.am): Update wchar.h rule.
29195
29196         unistd: Avoid #define replacements in C++ mode.
29197         * lib/unistd.in.h: Include c++defs.h.
29198         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
29199         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
29200         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
29201         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
29202         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
29203         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
29204         symbol.
29205         (environ): Update.
29206         * modules/unistd (Depends-on): Add c++defs.
29207         (Makefile.am): Update unistd.h rule.
29208
29209         time: Avoid #define replacements in C++ mode.
29210         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
29211         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
29212         define a namespaced alias symbol.
29213         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
29214         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
29215         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
29216         * modules/time (Depends-on): Add c++defs, warn-on-use.
29217         (Makefile.am): Update time.h rule.
29218         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29219         * modules/nanosleep (configure.ac): Likewise.
29220         * modules/strptime (configure.ac): Likewise.
29221         * modules/timegm (configure.ac): Likewise.
29222
29223         sys_time: Avoid #define replacements in C++ mode.
29224         * lib/sys_time.in.h: Include c++defs.h.
29225         (gettimeofday): In C++, define a namespaced alias symbol.
29226         * modules/sys_time (Depends-on): Add c++defs.
29227         (Makefile.am): Update sys/time.h rule.
29228
29229         sys_stat: Avoid #define replacements in C++ mode.
29230         * lib/sys_stat.in.h: Include c++defs.h.
29231         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
29232         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
29233         namespaced alias symbol.
29234         In C++, define a namespaced alias symbol.
29235         * modules/sys_stat (Depends-on): Add c++defs.
29236         (Makefile.am): Update sys/stat.h rule.
29237
29238         sys_socket: Avoid #define replacements in C++ mode.
29239         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
29240         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
29241         definitions also when the system has a <sys/socket.h>.
29242         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29243         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
29244         In C++, define a namespaced alias symbol.
29245         * modules/sys_socket (Depends-on): Add c++defs.
29246         (Makefile.am): Update sys/socket.h rule.
29247
29248         sys_select: Avoid #define replacements in C++ mode.
29249         * lib/sys_select.in.h: Include c++defs.h. Enable the function
29250         definitions also when the system has a <sys/select.h>.
29251         (select): In C++, define a namespaced alias symbol.
29252         * modules/sys_select (Depends-on): Add c++defs.
29253         (Makefile.am): Update sys/select.h rule.
29254
29255         sys_ioctl: Avoid #define replacements in C++ mode.
29256         * lib/sys_ioctl.in.h: Include c++defs.h.
29257         (ioctl): In C++, define a namespaced alias symbol.
29258         * modules/sys_ioctl (Depends-on): Add c++defs.
29259         (Makefile.am): Update sys/ioctl.h rule.
29260
29261         string: Avoid #define replacements in C++ mode.
29262         * lib/string.in.h: Include c++defs.h.
29263         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
29264         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
29265         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
29266         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
29267         strsignal, strverscmp): In C++, define a namespaced alias symbol.
29268         * modules/string (Depends-on): Add c++defs.
29269         (Makefile.am): Update string.h rule.
29270
29271         stdlib: Avoid #define replacements in C++ mode.
29272         * lib/stdlib.in.h: Include c++defs.h.
29273         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
29274         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
29275         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
29276         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
29277         symbol.
29278         * modules/stdlib (Depends-on): Add c++defs.
29279         (Makefile.am): Update stdlib.h rule.
29280
29281         stdio: Avoid #define replacements in C++ mode.
29282         * lib/stdio.in.h: Include c++defs.h.
29283         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
29284         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
29285         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
29286         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
29287         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
29288         namespaced alias symbol.
29289         * modules/stdio (Depends-on): Add c++defs.
29290         (Makefile.am): Update stdio.h rule.
29291
29292         spawn: Avoid #define replacements in C++ mode.
29293         * lib/spawn.in.h: Include c++defs.h.
29294         (posix_spawn, posix_spawnp, posix_spawnattr_init,
29295         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
29296         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
29297         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
29298         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
29299         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
29300         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
29301         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
29302         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
29303         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
29304         In C++, define a namespaced alias symbol.
29305         * modules/spawn (Depends-on): Add c++defs.
29306         (Makefile.am): Update spawn.h rule.
29307
29308         signal: Avoid #define replacements in C++ mode.
29309         * lib/signal.in.h: Include c++defs.h.
29310         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
29311         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
29312         namespaced alias symbol.
29313         * modules/signal (Depends-on): Add c++defs.
29314         (Makefile.am): Update signal.h rule.
29315
29316         search: Avoid #define replacements in C++ mode.
29317         * lib/search.in.h: Include c++defs.h.
29318         (_gl_search_compar_fn, _gl_search_action_fn): New types.
29319         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
29320         symbol.
29321         * modules/search (Depends-on): Add c++defs.
29322         (Makefile.am): Update search.h rule.
29323
29324         math: Avoid #define replacements in C++ mode.
29325         * lib/math.in.h: Include c++defs.h.
29326         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
29327         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
29328         trunc, truncl): In C++, define a namespaced alias symbol.
29329         * modules/math (Depends-on): Add c++defs.
29330         (Makefile.am): Update math.h rule.
29331
29332         locale: Avoid #define replacements in C++ mode.
29333         * lib/locale.in.h: Include c++defs.h.
29334         (duplocale): In C++, define a namespaced alias symbol.
29335         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
29336         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
29337         * modules/locale (Depends-on): Add c++defs.
29338         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
29339
29340         langinfo: Avoid #define replacements in C++ mode.
29341         * lib/langinfo.in.h: Include c++defs.h.
29342         (nl_langinfo): In C++, define a namespaced alias symbol.
29343         * modules/langinfo (Depends-on): Add c++defs.
29344         (Makefile.am): Update langinfo.h rule.
29345
29346         iconv-h: Avoid #define replacements in C++ mode.
29347         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
29348         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
29349         symbol.
29350         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
29351         whenever iconv is present.
29352         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
29353         (Makefile.am): Update iconv.h rule.
29354
29355         glob: Avoid #define replacements in C++ mode.
29356         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
29357         (_gl_glob_errfunc_fn): New type.
29358         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
29359         symbol.
29360         * modules/glob (Depends-on): Add c++defs, warn-on-use.
29361         (Makefile.am): Update glob.h rule.
29362
29363         fcntl-h: Avoid #define replacements in C++ mode.
29364         * lib/fcntl.in.h: Include c++defs.h.
29365         (fcntl, open, openat): In C++, define a namespaced alias symbol.
29366         * modules/fcntl-h (Depends-on): Add c++defs.
29367         (Makefile.am): Update fcntl.h rule.
29368
29369         dirent: Avoid #define replacements in C++ mode.
29370         * lib/dirent.in.h: Include c++defs.h.
29371         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
29372         namespaced alias symbol.
29373         (dirfd): Update declaration.
29374         * modules/dirent (Depends-on): Add c++defs.
29375         (Makefile.am): Update dirent.h rule.
29376
29377         ctype: Make it usable in C++ code.
29378         * lib/ctype.in.h: Include c++defs.h.
29379         (isblank): Declare as extern "C".
29380         * modules/ctype (Depends-on): Add c++defs.
29381         (Makefile.am): Update ctype.h rule.
29382
29383         New module 'c++defs'.
29384         * modules/c++defs: New file.
29385         * build-aux/c++defs.h: New file.
29386         Reported by John W. Eaton <jwe@gnu.org>.
29387
29388 2010-03-07  Bruno Haible  <bruno@clisp.org>
29389
29390         logb: Provide missing declaration for Cygwin.
29391         * lib/math.in.h (logb): New declaration.
29392         * m4/logb.m4: New file.
29393         * modules/logb (Files): Add m4/logb.m4.
29394         (Depends-on): Add math.
29395         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
29396         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
29397         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
29398         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
29399         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
29400
29401 2010-03-07  Bruno Haible  <bruno@clisp.org>
29402
29403         Fix test-cond link error.
29404         * tests/test-cond.c: Include <stdio.h>.
29405
29406 2010-03-07  Bruno Haible  <bruno@clisp.org>
29407
29408         Fix test-dirent-safer link error.
29409         * modules/dirent-safer-tests (Makefile.am): Define
29410         test_dirent_safer_LDADD.
29411
29412 2010-03-07  Bruno Haible  <bruno@clisp.org>
29413
29414         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
29415         among default module list.
29416
29417 2010-03-07  Bruno Haible  <bruno@clisp.org>
29418
29419         Fix link error on platforms with GNU libiconv.
29420         * modules/unistr/u8-strcoll-tests (Makefile): Define
29421         test_u8_strcoll_LDADD.
29422         * modules/unistr/u16-strcoll-tests (Makefile): Define
29423         test_u16_strcoll_LDADD.
29424         * modules/unistr/u32-strcoll-tests (Makefile): Define
29425         test_u32_strcoll_LDADD.
29426
29427 2010-03-07  Bruno Haible  <bruno@clisp.org>
29428
29429         Use POSIX declarations for socket functions.
29430         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
29431         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
29432         rpl_sendto): Change declaration to match POSIX.
29433         * lib/connect.c (rpl_connect): Likewise.
29434         * lib/accept.c (rpl_accept): Likewise.
29435         * lib/bind.c (rpl_bind): Likewise.
29436         * lib/getpeername.c (rpl_getpeername): Likewise.
29437         * lib/getsockname.c (rpl_getsockname): Likewise.
29438         * lib/recv.c (rpl_recv): Likewise.
29439         * lib/send.c (rpl_send): Likewise.
29440         * lib/recvfrom.c (rpl_recvfrom): Likewise.
29441         * lib/sendto.c (rpl_sendto): Likewise.
29442
29443 2010-03-06  Bruno Haible  <bruno@clisp.org>
29444
29445         Clarify access, euidaccess, faccessat.
29446         * doc/posix-functions/faccessat.texi: Mention security problem under
29447         "Other problems", not "Portability problems".
29448         * doc/posix-functions/access.texi: Likewise. Mention a related security
29449         problem.
29450         * doc/glibc-functions/euidaccess.texi: Mention security problems.
29451         * lib/euidaccess.c: Add comments about platforms.
29452         * lib/unistd.in.h (access, euidaccess): Add warnings.
29453
29454 2010-03-07  Bruno Haible  <bruno@clisp.org>
29455
29456         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
29457         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
29458         (POSIX_SPAWN_SETSCHEDULER): Likewise.
29459         (POSIX_SPAWN_USEVFORK): Define in a way that works when
29460         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29461         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
29462         declare when POSIX_SPAWN_SETSCHEDULER is zero.
29463         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
29464         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
29465         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
29466         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
29467         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
29468         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
29469         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
29470         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
29471         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
29472         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
29473         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
29474         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
29475         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
29476         Likewise.
29477         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
29478         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
29479         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
29480         Likewise.
29481         * tests/test-spawn.c (main): Make it work when
29482         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29483
29484 2010-03-07  Bruno Haible  <bruno@clisp.org>
29485
29486         Fix incorrect Makefile.am generation in German locale.
29487         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29488         Execute sed command with character range in C locale.
29489
29490 2010-03-06  Bruno Haible  <bruno@clisp.org>
29491
29492         Tests for module 'iconv-h'.
29493         * modules/iconv-h-tests: New file.
29494         * tests/test-iconv-h.c: New file.
29495
29496         New module 'iconv-h'.
29497         * modules/iconv-h: New file.
29498         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
29499         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
29500         (configure.ac): Remove gl_ICONV_H.
29501         (Makefile.am): Remove rule for iconv.h.
29502
29503 2010-03-06  Bruno Haible  <bruno@clisp.org>
29504
29505         More consistent naming of *.m4 files.
29506         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
29507         * modules/wctype (Files): Update.
29508
29509         More consistent naming of *.m4 files.
29510         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
29511         * modules/wchar (Files): Update.
29512
29513 2010-03-06  Jim Meyering  <meyering@redhat.com>
29514
29515         euidaccess: relax license to LGPLv2+
29516         * modules/euidaccess (License): Relax to LGPLv2+.
29517
29518 2010-03-06  Bruno Haible  <bruno@clisp.org>
29519
29520         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
29521         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
29522         (Makefile.am): Augment lib_SOURCES instead.
29523
29524 2010-03-04  Jim Meyering  <meyering@redhat.com>
29525
29526         utime: remove obsolete module
29527         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
29528         unnecessary for years, and has been marked as obsolete for 10 months.
29529         * modules/utime: Remove file.
29530         * lib/utime.c: Remove file.
29531         * m4/utime.m4: Remove file.
29532         * m4/utimes-null.m4: Remove file.
29533         * doc/posix-functions/utime.texi (utime): Remove reference to
29534         the module.  Move the sole "fixed by gnulib" item into the
29535         "problems not fixed by Gnulib" list.
29536         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
29537
29538 2010-03-05  Simon Josefsson  <simon@josefsson.org>
29539
29540         * modules/exit (License): Relax license to LGPLv2+.
29541         (Status): Mark as obsolete.
29542         * NEWS: Mention deprecated 'exit' module.
29543         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
29544         of now obsolete 'exit'.
29545
29546 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29547
29548         fts-lgpl: remove unused module
29549         * modules/fts-lgpl: Remove.
29550         * MODULES.html.sh (func_all_modules): Adjust.
29551         * check-module (find_included_lib_files): Adjust.
29552         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
29553
29554 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
29555
29556         copy-acl: enhance Solaris ACL error handling
29557         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
29558         * lib/set-mode-acl.c (qset_acl): Likewise.
29559
29560 2010-03-02  Bruno Haible  <bruno@clisp.org>
29561
29562         spawn: Don't override the system defined values on FreeBSD 8.
29563         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
29564         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
29565         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
29566         if HAVE_POSIX_SPAWN is 1.
29567         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
29568
29569 2010-03-01  Bruno Haible  <bruno@clisp.org>
29570
29571         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
29572         regarding Automake.
29573
29574 2010-02-25  Bruno Haible  <bruno@clisp.org>
29575
29576         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
29577         * gnulib-tool: Define 'echo' as a function only before the ksh alias
29578         setting, not afterwards.
29579         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
29580
29581 2010-02-24  Eric Blake  <eblake@redhat.com>
29582
29583         bootstrap, git-version-gen: use timestamp
29584         * build-aux/git-version-gen (scriptversion): Force UTC.
29585         * build-aux/bootstrap (scriptversion): New variable.
29586
29587         bootstrap: allow older git
29588         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
29589         older than 1.6.4.  Requested by the libvirt project.
29590
29591 2010-02-23  Eric Blake  <eblake@redhat.com>
29592
29593         warn-on-use: work with old autoconf
29594         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
29595         AS_VAR semantics of autoconf 2.60.
29596         Reported by Bruno Haible.
29597
29598         bootstrap: improve some comments
29599         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
29600         clarification comments.
29601
29602         gettimeofday: provide correct function
29603         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
29604         when replacement is declared, otherwise provide gettimeofday.
29605         Reported by Michael Goffioul.
29606
29607 2010-02-23  Jim Meyering  <meyering@redhat.com>
29608
29609         lib-ignore: relax license to "unlimited", not LGPLv2+
29610         * modules/lib-ignore (License): Relax to "unlimited".
29611
29612 2010-02-23  Jim Meyering  <meyering@redhat.com>
29613
29614         lib-ignore: relax license to LGPLv2+
29615         * modules/lib-ignore (License): Relax to LGPLv2+.
29616
29617 2010-02-22  Eric Blake  <eblake@redhat.com>
29618
29619         lseek: avoid bash 3.2 broken pipe bug
29620         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
29621         warning from bash 3.2.
29622         Reported by Ben Pfaff, with analysis from Bruno Haible.
29623
29624         bootstrap: support non-FSF copyright holder
29625         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
29626         bootstrap.conf override of COPYRIGHT_HOLDER.
29627         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
29628
29629         bootstrap: interoperate with gettext 0.14.1
29630         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
29631
29632         bootstrap: allow for alternate submodule location
29633         * build-aux/bootstrap (gnulib_path): New variable; use instead of
29634         hardcoding submodule location.
29635         (gnulib_mk): Allow direct use of Makefile.am.
29636
29637         bootstrap: use GNULIB_SRCDIR to reduce disk usage
29638         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
29639         rather than reconfiguring where the submodule points.
29640
29641         gettimeofday: restore support for platforms that lack function
29642         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
29643         replacement if function is missing.
29644         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
29645         * modules/sys_time (Makefile.am): Substitute it.
29646         * lib/sys_time.in.h (gettimeofday): Check it.
29647         Reported by Michael Goffioul.
29648
29649 2010-02-21  Bruno Haible  <bruno@clisp.org>
29650
29651         * lib/stdio.in.h (obstack_printf): Fix typo.
29652
29653 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
29654
29655         vc-list-files: use bzr ls's -R option
29656         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
29657         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
29658
29659 2010-02-21  Jim Meyering  <meyering@redhat.com>
29660
29661         init.sh: fix EXEEXT shims to work also for names like test-prog
29662         * tests/init.sh: Re-exec a better shell, when needed.
29663         If the current shell lacks support for posix $(...), an init.sh-using
29664         test will now try to find a shell that supports that.  If EXEEXT is
29665         nonempty, we also require support for hyphen-in-alias-name and shell
29666         substitutions like ${var#glob}.  Failure to find such a shell results
29667         in a skipped test.
29668
29669 2010-02-21  Bruno Haible  <bruno@clisp.org>
29670
29671         Really work around around "broken pipe" error message from bash 3.2.
29672         * gnulib-tool (func_reset_sigpipe): Remove function.
29673         (echo): In bash 3.2, define to a function that uses printf.
29674         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
29675
29676 2010-02-20  Bruno Haible  <bruno@clisp.org>
29677
29678         Restore support for automake 1.9.6 with autoconf 2.61.
29679         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
29680         Reported by James Youngman <jay@gnu.org>.
29681
29682 2010-02-20  Bruno Haible  <bruno@clisp.org>
29683
29684         Improve *printf warning condition.
29685         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
29686         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
29687         and the function is overridden due to SIGPIPE emulation.
29688
29689 2010-02-20  Bruno Haible  <bruno@clisp.org>
29690
29691         * lib/stdio.in.h: Tweak comments.
29692
29693 2010-02-19  Bruno Haible  <bruno@clisp.org>
29694
29695         Make it easier to find modules. New gnulib-tool option '--find'.
29696         * gnulib-tool: New option --find.
29697         (func_usage): Document it.
29698         (func_sanitize_modulelist): New function, extracted from
29699         func_all_modules.
29700         (func_all_modules): Invoke it.
29701         * doc/gnulib-tool.texi (Which modules?): New node.
29702
29703 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
29704
29705         * lib/sys_select.in.h: Provide select replacement even if
29706         sys/select.h exists on a system, for Interix.
29707
29708 2010-02-18  Jim Meyering  <meyering@redhat.com>
29709
29710         init.sh: don't use $(...) just yet
29711         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
29712         to accommodate e.g., Solaris' /bin/sh.
29713
29714 2010-02-17  Bruno Haible  <bruno@clisp.org>
29715
29716         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
29717         Reported by Ludovic Courtès <ludo@gnu.org>.
29718
29719 2010-02-16  Simon Josefsson  <simon@josefsson.org>
29720
29721         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
29722         linking with -lintl.
29723
29724 2010-02-17  Simon Josefsson  <simon@josefsson.org>
29725
29726         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
29727         if not provided by the system's netdb.h.  Reported by
29728         ludo@gnu.org (Ludovic Courtès).
29729
29730 2010-02-15  Jim Meyering  <meyering@redhat.com>
29731
29732         init.sh: improve portability and efficiency
29733         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
29734         "dummy" in a for loop.
29735         Use '!', not '^' to select the complement of a character set used
29736         in a "case" statement.
29737         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
29738         Suggestions from Eric Blake.
29739
29740         init.sh: automatically accommodate programs with the .exe suffix
29741         Automatically arrange for an invocation of "prog" to execute the
29742         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
29743         may use the simpler "prog", yet still work when built on a system
29744         that requires specifying the added suffix.
29745         Do this by constructing a function named "prog" that invokes
29746         "prog.exe" for each .exe file in selected directories.
29747         * tests/init.sh (find_exe_basenames_): New function.
29748         (create_exe_shim_functions_): New function.
29749         (path_prepend_): Use it.
29750
29751         maint.mk: mark syntax-check sc_*.m rules as .PHONY
29752         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
29753         "make -t syntax-check" doesn't create a ton of sc_*.m files.
29754
29755 2010-02-14  Jim Meyering  <meyering@redhat.com>
29756
29757         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
29758         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
29759         (sc_prohibit_hash_pjw_without_use): New rule.
29760
29761         maint.mk: allow the default upload destination dir to be overridden
29762         * top/maint.mk (upload_dest_dir_): Define with a default that
29763         preserves the status quo.
29764         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
29765         Reported by Peter Simons.
29766
29767         maint.mk: prohibit inclusion of "hash.h" without_use
29768         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
29769
29770 2010-02-10  Jim Meyering  <meyering@redhat.com>
29771
29772         maint.mk: prohibit inclusion of "ignore-value.h" without_use
29773         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
29774
29775 2010-02-09  Eric Blake  <ebb9@byu.net>
29776         and Bruno Haible  <bruno@clisp.org>
29777
29778         obstack-printf-posix: ensure declaration
29779         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
29780         extracted from gl_FUNC_OBSTACK_PRINTF.
29781         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
29782         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29783         Likewise.
29784         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
29785         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
29786         0.
29787
29788 2010-02-08  Bruno Haible  <bruno@clisp.org>
29789
29790         gnulib-tool: Fix typo in 2010-02-07 commit.
29791         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
29792         Reported by Eric Blake.
29793
29794 2010-02-07  Bruno Haible  <bruno@clisp.org>
29795
29796         gnulib-tool: Fix up caching patches.
29797         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
29798         option --no-cache. Use associative arrays when supported by the shell.
29799         (sed_comments): New variable.
29800         (modcache): Renamed from do_cache.
29801         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
29802         abbreviate unnecessarily.
29803         (have_associative): New variable.
29804         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
29805         way also for ksh and zsh.
29806         (func_init_sed_convert_to_cache_statements): New function, extracted
29807         from func_cache_lookup_module. Add support for associative arrays.
29808         Don't set the c_MODULE_cached variable here. Ignore all lines before
29809         the first field header. Remove only the final newline, not all trailing
29810         newlines. Support empty fields correctly. Limit the use of 'eval' to
29811         assignments.
29812         (func_get_description, func_get_status, func_get_notice,
29813         func_get_applicability, func_get_filelist, func_get_dependencies,
29814         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
29815         func_get_automake_snippet, func_get_include_directive,
29816         func_get_link_directive, func_get_license, func_get_maintainer):
29817         Update documentation. List the unoptimized code first. Add support for
29818         associative arrays. Limit the use of 'eval' to assignments.
29819         (func_get_applicability): Undo stylistic pessimisations.
29820         (func_get_automake_snippet, func_get_include_directive): Reduce code
29821         duplication.
29822         (func_modules_transitive_closure, func_modules_add_dummy,
29823         func_modules_notice, func_modules_to_filelist, func_add_file,
29824         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
29825         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
29826         func_create_testdir, func_create_megatestdir): Update documentation.
29827
29828 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29829
29830         * gnulib-tool (func_cache_lookup_module): Store the module name
29831         belonging to the cache variable; error out if two different
29832         module names map to the same cache variable name.
29833
29834 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29835
29836         gnulib-tool: Make caching optional.
29837         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
29838         Update matching short versions of --no-changelog.
29839         (func_usage): Update.
29840         (sed_extract_cache_prog): Renamed from ...
29841         (sed_extract_prog): ... this; revert to old extraction script.
29842         (func_get_description, func_get_status)
29843         (func_get_notice, func_get_applicability, func_get_filelist)
29844         (func_get_dependencies, func_get_autoconf_early_snippet)
29845         (func_get_autoconf_snippet, func_get_automake_snippet)
29846         (func_get_include_directive, func_get_link_directive)
29847         (func_get_license, func_get_maintainer): If $do_cache is false,
29848         use old, non-caching extraction scripts.
29849         Suggestion by Bruno Haible.
29850
29851 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29852
29853         gnulib-tool: cache module metainformation.
29854         * gnulib-tool (sed_extract_prog): Match newline before each
29855         header, and rewrite header to a shell variable suffix.
29856         (func_cache_var, func_cache_lookup_module): New functions,
29857         to turn a module name into a cache variable prefix, and to
29858         look up and cache module metainformation.
29859         (func_get_description, func_get_status)
29860         (func_get_notice, func_get_applicability, func_get_filelist)
29861         (func_get_dependencies, func_get_autoconf_early_snippet)
29862         (func_get_autoconf_snippet, func_get_automake_snippet)
29863         (func_get_include_directive, func_get_link_directive)
29864         (func_get_license, func_get_maintainer): Use
29865         func_cache_lookup_module.
29866
29867 2010-02-07  Bruno Haible  <bruno@clisp.org>
29868
29869         fnctl: Fix missing dependency.
29870         * modules/fcntl (Depends-on): Add getdtablesize.
29871         Reported by John W. Eaton <jwe@gnu.org>.
29872
29873 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29874
29875         Argp: fix recognition of short alias options.
29876
29877         * lib/argp-parse.c (convert_options): Fix improper use of
29878         `|' between character values.
29879         * tests/test-argp.c (group1_option): New alias option
29880         --read (-r).
29881         (group1_parser): Special handling for 'r'.
29882         (test15): New test case.
29883         (test_fun): Add test15.
29884         * tests/test-argp-2.sh: Update expected --help and --usage
29885         outputs.
29886
29887 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29888
29889         * tests/test-argp.c: Fix indentation.
29890
29891 2010-02-04  Eric Blake  <ebb9@byu.net>
29892
29893         gettimeofday: expose type of second argument
29894         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
29895         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
29896         * tests/test-gettimeofday.c: Use it to silence warning.
29897         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
29898         the issue.
29899
29900 2010-02-03  Jim Meyering  <meyering@redhat.com>
29901
29902         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
29903         * lib/regcomp.c (TYPE_SIGNED): Define.
29904         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
29905
29906         regcomp.c: avoid a new -Wshadow warning
29907         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
29908
29909 2010-02-01  Jim Meyering  <meyering@redhat.com>
29910
29911         removing useless parentheses in cpp #define directives
29912         For motivation, see commit c0221df4, "define STREQ(a,b)
29913         consistently, removing useless parentheses"
29914         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
29915         * lib/mountlist.c (MNT_IGNORE): Likewise.
29916         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
29917
29918 2010-02-01  Eric Blake  <ebb9@byu.net>
29919
29920         sys_time: use link-warning
29921         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
29922         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
29923         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
29924         * modules/sys_time (Depends-on): Add warn-on-use.
29925         (Makefile.am): Always build replacement.
29926         (configure.ac): Update substitutions.
29927         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
29928         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
29929         bother with SYS_TIME_H.
29930         * modules/gettimeofday (configure.ac): Declare indicator.
29931         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
29932         in use.
29933
29934         closein-tests: silence compiler warning
29935         * tests/test-closein.c (main): Ignore fread result.
29936         * modules/closein-tests (Depends-on): Add ignore-value.
29937
29938         tests: silence warning about system return
29939         * tests/test-areadlink-with-size.c (main): Ignore system result.
29940         * tests/test-areadlink.c (main): Likewise.
29941         * tests/test-areadlinkat-with-size.c (main): Likewise.
29942         * tests/test-areadlinkat.c (main): Likewise.
29943         * tests/test-canonicalize-lgpl.c (main): Likewise.
29944         * tests/test-canonicalize.c (main): Likewise.
29945         * tests/test-chown.c (main): Likewise.
29946         * tests/test-fchownat.c (main): Likewise.
29947         * tests/test-fdutimensat.c (main): Likewise.
29948         * tests/test-fstatat.c (main): Likewise.
29949         * tests/test-futimens.c (main): Likewise.
29950         * tests/test-lchown.c (main): Likewise.
29951         * tests/test-link.c (main): Likewise.
29952         * tests/test-linkat.c (main): Likewise.
29953         * tests/test-lstat.c (main): Likewise.
29954         * tests/test-mkdir.c (main): Likewise.
29955         * tests/test-mkdirat.c (main): Likewise.
29956         * tests/test-mkfifo.c (main): Likewise.
29957         * tests/test-mkfifoat.c (main): Likewise.
29958         * tests/test-mknod.c (main): Likewise.
29959         * tests/test-readlink.c (main): Likewise.
29960         * tests/test-remove.c (main): Likewise.
29961         * tests/test-rename.c (main): Likewise.
29962         * tests/test-renameat.c (main): Likewise.
29963         * tests/test-rmdir.c (main): Likewise.
29964         * tests/test-symlink.c (main): Likewise.
29965         * tests/test-symlinkat.c (main): Likewise.
29966         * tests/test-unlink.c (main): Likewise.
29967         * tests/test-unlinkat.c (main): Likewise.
29968         * tests/test-utimens.c (main): Likewise.
29969         * tests/test-utimensat.c (main): Likewise.
29970         * modules/areadlink-tests (Depends-on): Add ignore-value.
29971         * modules/areadlink-with-size-tests (Depends-on): Likewise.
29972         * modules/areadlinkat-tests (Depends-on): Likewise.
29973         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
29974         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29975         * modules/canonicalize-tests (Depends-on): Likewise.
29976         * modules/chown-tests (Depends-on): Likewise.
29977         * modules/fdutimensat-tests (Depends-on): Likewise.
29978         * modules/futimens-tests (Depends-on): Likewise.
29979         * modules/lchown-tests (Depends-on): Likewise.
29980         * modules/link-tests (Depends-on): Likewise.
29981         * modules/linkat-tests (Depends-on): Likewise.
29982         * modules/lstat-tests (Depends-on): Likewise.
29983         * modules/mkdir-tests (Depends-on): Likewise.
29984         * modules/mkfifo-tests (Depends-on): Likewise.
29985         * modules/mkfifoat-tests (Depends-on): Likewise.
29986         * modules/mknod-tests (Depends-on): Likewise.
29987         * modules/openat-tests (Depends-on): Likewise.
29988         * modules/readlink-tests (Depends-on): Likewise.
29989         * modules/remove-tests (Depends-on): Likewise.
29990         * modules/rename-tests (Depends-on): Likewise.
29991         * modules/renameat-tests (Depends-on): Likewise.
29992         * modules/rmdir-tests (Depends-on): Likewise.
29993         * modules/symlink-tests (Depends-on): Likewise.
29994         * modules/symlinkat-tests (Depends-on): Likewise.
29995         * modules/unlink-tests (Depends-on): Likewise.
29996         * modules/utimens-tests (Depends-on): Likewise.
29997         * modules/utimensat-tests (Depends-on): Likewise.
29998
29999 2010-01-31  Bruno Haible  <bruno@clisp.org>
30000
30001         Perform the same test for many <math.h> functions.
30002         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
30003         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
30004         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
30005         of gl_MATHFUNC.
30006         * modules/acos (configure.ac): Likewise.
30007         * modules/asin (configure.ac): Likewise.
30008         * modules/atan (configure.ac): Likewise.
30009         * modules/atan2 (configure.ac): Likewise.
30010         * modules/cbrt (configure.ac): Likewise.
30011         * modules/copysign (configure.ac): Likewise.
30012         * modules/cos (configure.ac): Likewise.
30013         * modules/cosh (configure.ac): Likewise.
30014         * modules/erf (configure.ac): Likewise.
30015         * modules/erfc (configure.ac): Likewise.
30016         * modules/exp (configure.ac): Likewise.
30017         * modules/fmod (configure.ac): Likewise.
30018         * modules/hypot (configure.ac): Likewise.
30019         * modules/j0 (configure.ac): Likewise.
30020         * modules/j1 (configure.ac): Likewise.
30021         * modules/jn (configure.ac): Likewise.
30022         * modules/lgamma (configure.ac): Likewise.
30023         * modules/log (configure.ac): Likewise.
30024         * modules/log10 (configure.ac): Likewise.
30025         * modules/log1p (configure.ac): Likewise.
30026         * modules/pow (configure.ac): Likewise.
30027         * modules/remainder (configure.ac): Likewise.
30028         * modules/sin (configure.ac): Likewise.
30029         * modules/sinh (configure.ac): Likewise.
30030         * modules/tan (configure.ac): Likewise.
30031         * modules/tanh (configure.ac): Likewise.
30032         * modules/y0 (configure.ac): Likewise.
30033         * modules/y1 (configure.ac): Likewise.
30034         * modules/yn (configure.ac): Likewise.
30035         Suggested by Paolo Bonzini.
30036
30037 2010-01-31  Bruno Haible  <bruno@clisp.org>
30038
30039         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
30040
30041 2010-01-31  Bruno Haible  <bruno@clisp.org>
30042
30043         Work around getdelim() bug on FreeBSD 8.0.
30044         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
30045         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
30046         not work.
30047         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
30048         is 1.
30049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
30050         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
30051         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
30052         a non-zero size.
30053         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
30054
30055 2010-01-31  Bruno Haible  <bruno@clisp.org>
30056
30057         Work around getline() bug on FreeBSD 8.0.
30058         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
30059         and a non-zero size.
30060         * tests/test-getline.c (main): Likewise.
30061         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
30062         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
30063
30064 2010-01-28  Eric Blake  <ebb9@byu.net>
30065
30066         regex: fix build failure
30067         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
30068         platforms.
30069
30070 2010-01-28  Jim Meyering  <meyering@redhat.com>
30071
30072         regex: do not ignore memory allocation failure
30073         * lib/regex_internal.c (create_cd_newstate): Detect
30074         re_node_set_init_copy failure.   Extracted from glibc commit
30075         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30076
30077         regex: sync more white-space changes from libc
30078         * lib/regex_internal.c: White-space only changes.
30079         * lib/regexec.c: Likewise.
30080
30081         regex: add many uses of __attribute_warn_unused_result__
30082         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
30083         * lib/regexec.c: Likewise.
30084         Extracted from a messy glibc commit.
30085
30086         regcomp.c: spelling and merge-artifact from glibc
30087         * lib/regcomp.c: Merge remainder of glibc's
30088         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30089
30090         regcomp.c: sync white-space changes from glibc
30091         * lib/regcomp.c: Merge to accommodate white space
30092         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30093
30094         regcomp.c: do not ignore internal return values
30095         * lib/regcomp.c: Do not ignore internal return values.
30096         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
30097         but without its white-space changes and spelling fixes.
30098
30099         regex_internal.h: define __attribute_warn_unused_result__
30100         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
30101
30102         maint: add a syntax-check rule to check for vulnerable Makefile.in
30103         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
30104
30105 2010-01-27  Jim Meyering  <meyering@redhat.com>
30106
30107         ncftpput-ftp: clean up spaces
30108         * build-aux/ncftpput-ftp: Make Copyright line consistent.
30109         Remove trailing blanks.
30110
30111 2010-01-27  Simon Josefsson  <simon@josefsson.org>
30112
30113         * build-aux/git-version-gen: Fix copyright statement.
30114         * build-aux/gnupload: Likewise.
30115         * tests/test-arcfour.c: Likewise.
30116         * tests/test-arctwo.c: Likewise.
30117         * tests/test-count-one-bits.c: Likewise.
30118         * tests/test-crc.c: Likewise.
30119         * tests/test-des.c: Likewise.
30120         * tests/test-gc-arcfour.c: Likewise.
30121         * tests/test-gc-arctwo.c: Likewise.
30122         * tests/test-gc-des.c: Likewise.
30123         * tests/test-gc-hmac-md5.c: Likewise.
30124         * tests/test-gc-hmac-sha1.c: Likewise.
30125         * tests/test-gc-md2.c: Likewise.
30126         * tests/test-gc-md4.c: Likewise.
30127         * tests/test-gc-md5.c: Likewise.
30128         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30129         * tests/test-gc-rijndael.c: Likewise.
30130         * tests/test-gc-sha1.c: Likewise.
30131         * tests/test-gc.c: Likewise.
30132         * tests/test-gethostname.c: Likewise.
30133         * tests/test-gettimeofday.c: Likewise.
30134         * tests/test-hash.c: Likewise.
30135         * tests/test-hmac-md5.c: Likewise.
30136         * tests/test-hmac-sha1.c: Likewise.
30137         * tests/test-md2.c: Likewise.
30138         * tests/test-md4.c: Likewise.
30139         * tests/test-md5.c: Likewise.
30140         * tests/test-memchr.c: Likewise.
30141         * tests/test-memchr2.c: Likewise.
30142         * tests/test-memcmp.c: Likewise.
30143         * tests/test-memmem.c: Likewise.
30144         * tests/test-memrchr.c: Likewise.
30145         * tests/test-rawmemchr.c: Likewise.
30146         * tests/test-read-file.c: Likewise.
30147         * tests/test-rijndael.c: Likewise.
30148         * tests/test-sockets.c: Likewise.
30149         * tests/test-strchrnul.c: Likewise.
30150         * tests/test-strstr.c: Likewise.
30151         * tests/test-strtod.c: Likewise.
30152         * build-aux/ncftpput-ftp: Likewise.
30153
30154 2010-01-26  Eric Blake  <ebb9@byu.net>
30155
30156         ignore-value: update recommended header name
30157         * modules/ignore-value (Include): Only use <> for headers that
30158         exist in glibc.
30159
30160 2010-01-26  Jim Meyering  <meyering@redhat.com>
30161
30162         test-userspec.c: avoid compiler warnings
30163         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
30164         and "initialization discards qualifiers..." warnings.
30165         Put the first "uid" in its own scope, and make char* members "const".
30166
30167 2010-01-25  Bruno Haible  <bruno@clisp.org>
30168
30169         gnulib-tool: Make warning diagnostics consistent.
30170         * gnulib-tool (func_warning): New function.
30171         Use it everywhere where gnulib-tool produces output to stderr and it is
30172         not a fatal error.
30173
30174 2010-01-25  Bruno Haible  <bruno@clisp.org>
30175
30176         Fix test dependencies.
30177         * modules/xstrtol-tests (Depends-on): Add inttypes.
30178         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
30179
30180 2010-01-25 Pádraig Brady <P@draigBrady.com>
30181
30182         syntax-check: detect incorrect boolean macro values in config.h
30183         * modules/maintainer-makefile (configure.ac): Parameterize the location
30184         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
30185         The logic is from Eric Blake and the location indicated by Jim Meyering.
30186         Note the more natural CONFIG_HEADER name is prohibited by automake
30187         for backwards compatibility reasons.
30188         * top/maint.mk (sc_Wundef_boolean): New rule.
30189
30190 2010-01-25  Jim Meyering  <meyering@redhat.com>
30191
30192         bootstrap: detect MacOS 10.6's shasum, too
30193         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
30194         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
30195
30196 2010-01-23  Jim Meyering  <meyering@redhat.com>
30197
30198         xstrtoll: new module
30199         * modules/xstrtoll: New file.
30200         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
30201         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
30202         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
30203         ./configure fails if you use this module and lack "long long".
30204         * modules/xstrtoll-tests: New module.
30205         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
30206         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
30207         new init.sh-based test framework.
30208
30209 2010-01-24  Bruno Haible  <bruno@clisp.org>
30210
30211         Tests for module 'yn'.
30212         * modules/yn-tests: New file.
30213         * tests/test-yn.c: New file.
30214
30215         Tests for module 'y1'.
30216         * modules/y1-tests: New file.
30217         * tests/test-y1.c: New file.
30218
30219         Tests for module 'y0'.
30220         * modules/y0-tests: New file.
30221         * tests/test-y0.c: New file.
30222
30223         Tests for module 'tanh'.
30224         * modules/tanh-tests: New file.
30225         * tests/test-tanh.c: New file.
30226
30227         Tests for module 'tan'.
30228         * modules/tan-tests: New file.
30229         * tests/test-tan.c: New file.
30230
30231         Tests for module 'sqrt'.
30232         * modules/sqrt-tests: New file.
30233         * tests/test-sqrt.c: New file.
30234
30235         Tests for module 'sinh'.
30236         * modules/sinh-tests: New file.
30237         * tests/test-sinh.c: New file.
30238
30239         Tests for module 'sin'.
30240         * modules/sin-tests: New file.
30241         * tests/test-sin.c: New file.
30242
30243         Tests for module 'rint'.
30244         * modules/rint-tests: New file.
30245         * tests/test-rint.c: New file.
30246
30247         Tests for module 'remainder'.
30248         * modules/remainder-tests: New file.
30249         * tests/test-remainder.c: New file.
30250
30251         Tests for module 'pow'.
30252         * modules/pow-tests: New file.
30253         * tests/test-pow.c: New file.
30254
30255         Tests for module 'nextafter'.
30256         * modules/nextafter-tests: New file.
30257         * tests/test-nextafter.c: New file.
30258
30259         Tests for module 'modf'.
30260         * modules/modf-tests: New file.
30261         * tests/test-modf.c: New file.
30262
30263         Tests for module 'logb'.
30264         * modules/logb-tests: New file.
30265         * tests/test-logb.c: New file.
30266
30267         Tests for module 'log1p'.
30268         * modules/log1p-tests: New file.
30269         * tests/test-log1p.c: New file.
30270
30271         Tests for module 'log10'.
30272         * modules/log10-tests: New file.
30273         * tests/test-log10.c: New file.
30274
30275         Tests for module 'log'.
30276         * modules/log-tests: New file.
30277         * tests/test-log.c: New file.
30278
30279         Tests for module 'lgamma'.
30280         * modules/lgamma-tests: New file.
30281         * tests/test-lgamma.c: New file.
30282
30283         Tests for module 'ldexp'.
30284         * modules/ldexp-tests: New file.
30285         * tests/test-ldexp.c: New file.
30286
30287         Tests for module 'jn'.
30288         * modules/jn-tests: New file.
30289         * tests/test-jn.c: New file.
30290
30291         Tests for module 'j1'.
30292         * modules/j1-tests: New file.
30293         * tests/test-j1.c: New file.
30294
30295         Tests for module 'j0'.
30296         * modules/j0-tests: New file.
30297         * tests/test-j0.c: New file.
30298
30299         Tests for module 'hypot'.
30300         * modules/hypot-tests: New file.
30301         * tests/test-hypot.c: New file.
30302
30303         Tests for module 'fmod'.
30304         * modules/fmod-tests: New file.
30305         * tests/test-fmod.c: New file.
30306
30307         Tests for module 'fabs'.
30308         * modules/fabs-tests: New file.
30309         * tests/test-fabs.c: New file.
30310
30311         Tests for module 'exp'.
30312         * modules/exp-tests: New file.
30313         * tests/test-exp.c: New file.
30314
30315         Tests for module 'erfc'.
30316         * modules/erfc-tests: New file.
30317         * tests/test-erfc.c: New file.
30318
30319         Tests for module 'erf'.
30320         * modules/erf-tests: New file.
30321         * tests/test-erf.c: New file.
30322
30323         Tests for module 'cosh'.
30324         * modules/cosh-tests: New file.
30325         * tests/test-cosh.c: New file.
30326
30327         Tests for module 'cos'.
30328         * modules/cos-tests: New file.
30329         * tests/test-cos.c: New file.
30330
30331         Tests for module 'copysign'.
30332         * modules/copysign-tests: New file.
30333         * tests/test-copysign.c: New file.
30334
30335         Tests for module 'cbrt'.
30336         * modules/cbrt-tests: New file.
30337         * tests/test-cbrt.c: New file.
30338
30339         Tests for module 'atan2'.
30340         * modules/atan2-tests: New file.
30341         * tests/test-atan2.c: New file.
30342
30343         Tests for module 'atan'.
30344         * modules/atan-tests: New file.
30345         * tests/test-atan.c: New file.
30346
30347         Tests for module 'asin'.
30348         * modules/asin-tests: New file.
30349         * tests/test-asin.c: New file.
30350
30351         Tests for module 'acos'.
30352         * modules/acos-tests: New file.
30353         * tests/test-acos.c: New file.
30354
30355 2010-01-24  Bruno Haible  <bruno@clisp.org>
30356
30357         Fix tests for common <math.h> functions.
30358         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
30359         code snippet that references the function pointer, rather than merely
30360         calling the function. Substitute the FUNC_LIBM variable.
30361         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
30362         * modules/acos (configure.ac): Likewise.
30363         * modules/asin (configure.ac): Likewise.
30364         * modules/atan (configure.ac): Likewise.
30365         * modules/atan2 (configure.ac): Likewise.
30366         * modules/cbrt (configure.ac): Likewise.
30367         * modules/copysign (configure.ac): Likewise.
30368         * modules/cos (configure.ac): Likewise.
30369         * modules/cosh (configure.ac): Likewise.
30370         * modules/erf (configure.ac): Likewise.
30371         * modules/erfc (configure.ac): Likewise.
30372         * modules/exp (configure.ac): Likewise.
30373         * modules/fabs (configure.ac): Likewise.
30374         * modules/fmod (configure.ac): Likewise.
30375         * modules/hypot (configure.ac): Likewise.
30376         * modules/j0 (configure.ac): Likewise.
30377         * modules/j1 (configure.ac): Likewise.
30378         * modules/jn (configure.ac): Likewise.
30379         * modules/ldexp (configure.ac): Likewise.
30380         * modules/lgamma (configure.ac): Likewise.
30381         * modules/log (configure.ac): Likewise.
30382         * modules/log10 (configure.ac): Likewise.
30383         * modules/log1p (configure.ac): Likewise.
30384         * modules/logb (configure.ac): Likewise.
30385         * modules/modf (configure.ac): Likewise.
30386         * modules/nextafter (configure.ac): Likewise.
30387         * modules/pow (configure.ac): Likewise.
30388         * modules/remainder (configure.ac): Likewise.
30389         * modules/rint (configure.ac): Likewise.
30390         * modules/sin (configure.ac): Likewise.
30391         * modules/sinh (configure.ac): Likewise.
30392         * modules/tan (configure.ac): Likewise.
30393         * modules/tanh (configure.ac): Likewise.
30394         * modules/y0 (configure.ac): Likewise.
30395         * modules/y1 (configure.ac): Likewise.
30396         * modules/yn (configure.ac): Likewise.
30397
30398 2010-01-24  Bruno Haible  <bruno@clisp.org>
30399
30400         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
30401         * tests/test-acosl.c (x): New variable.
30402         (main): Store argument in x and fetch it from x.
30403         * tests/test-asinl.c (x): New variable.
30404         (main): Store argument in x and fetch it from x.
30405         * tests/test-atanl.c (x): New variable.
30406         (main): Store argument in x and fetch it from x.
30407         * tests/test-cosl.c (x): New variable.
30408         (main): Store argument in x and fetch it from x.
30409         * tests/test-expl.c (x): New variable.
30410         (main): Store argument in x and fetch it from x.
30411         * tests/test-logl.c (x): New variable.
30412         (main): Store argument in x and fetch it from x.
30413         * tests/test-sinl.c (x): New variable.
30414         (main): Store argument in x and fetch it from x.
30415         * tests/test-sqrtl.c (x): New variable.
30416         (main): Store argument in x and fetch it from x.
30417         * tests/test-tanl.c (x): New variable.
30418         (main): Store argument in x and fetch it from x.
30419
30420 2010-01-24  Bruno Haible  <bruno@clisp.org>
30421
30422         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
30423         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
30424         assignments to the initial TESTS_ENVIRONMENT.
30425         * doc/gnulib.texi (Unit test modules): Document it.
30426         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
30427         TESTS_ENVIRONMENT.
30428         * modules/btowc-tests (Makefile.am): Likewise.
30429         * modules/c-stack-tests (Makefile.am): Likewise.
30430         * modules/c-strcase-tests (Makefile.am): Likewise.
30431         * modules/copy-file-tests (Makefile.am): Likewise.
30432         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
30433         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
30434         * modules/mbrtowc-tests (Makefile.am): Likewise.
30435         * modules/mbscasecmp-tests (Makefile.am): Likewise.
30436         * modules/mbscasestr-tests (Makefile.am): Likewise.
30437         * modules/mbschr-tests (Makefile.am): Likewise.
30438         * modules/mbscspn-tests (Makefile.am): Likewise.
30439         * modules/mbsinit-tests (Makefile.am): Likewise.
30440         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
30441         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
30442         * modules/mbspbrk-tests (Makefile.am): Likewise.
30443         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
30444         * modules/mbsrchr-tests (Makefile.am): Likewise.
30445         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
30446         * modules/mbsspn-tests (Makefile.am): Likewise.
30447         * modules/mbsstr-tests (Makefile.am): Likewise.
30448         * modules/nl_langinfo-tests (Makefile.am): Likewise.
30449         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
30450         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
30451         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
30452         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
30453         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
30454         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
30455         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
30456         * modules/wcrtomb-tests (Makefile.am): Likewise.
30457         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
30458         * modules/wcsrtombs-tests (Makefile.am): Likewise.
30459         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
30460         assignments from TESTS_ENVIRONMENT.
30461         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
30462         augmentation.
30463         * modules/argp-version-etc-tests (Makefile.am): Likewise.
30464         * modules/atexit-tests (Makefile.am): Likewise.
30465         * modules/binary-io-tests (Makefile.am): Likewise.
30466         * modules/closein-tests (Makefile.am): Likewise.
30467         * modules/dprintf-posix-tests (Makefile.am): Likewise.
30468         * modules/exclude-tests (Makefile.am): Likewise.
30469         * modules/fflush-tests (Makefile.am): Likewise.
30470         * modules/fpending-tests (Makefile.am): Likewise.
30471         * modules/fprintf-posix-tests (Makefile.am): Likewise.
30472         * modules/freadahead-tests (Makefile.am): Likewise.
30473         * modules/freadptr-tests (Makefile.am): Likewise.
30474         * modules/freadseek-tests (Makefile.am): Likewise.
30475         * modules/fseek-tests (Makefile.am): Likewise.
30476         * modules/fseeko-tests (Makefile.am): Likewise.
30477         * modules/ftell-tests (Makefile.am): Likewise.
30478         * modules/ftello-tests (Makefile.am): Likewise.
30479         * modules/idpriv-drop-tests (Makefile.am): Likewise.
30480         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
30481         * modules/lseek-tests (Makefile.am): Likewise.
30482         * modules/parse-duration-tests (Makefile.am): Likewise.
30483         * modules/perror-tests (Makefile.am): Likewise.
30484         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
30485         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
30486         * modules/pipe-tests (Makefile.am): Likewise.
30487         * modules/pread-tests (Makefile.am): Likewise.
30488         * modules/printf-posix-tests (Makefile.am): Likewise.
30489         * modules/select-tests (Makefile.am): Likewise.
30490         * modules/sigpipe-tests (Makefile.am): Likewise.
30491         * modules/tsearch-tests (Makefile.am): Likewise.
30492         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
30493         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
30494         * modules/uniname/uniname-tests (Makefile.am): Likewise.
30495         * modules/uniwidth/width-tests (Makefile.am): Likewise.
30496         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
30497         * modules/version-etc-tests (Makefile.am): Likewise.
30498         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
30499         * modules/vprintf-posix-tests (Makefile.am): Likewise.
30500         * modules/xalloc-die-tests (Makefile.am): Likewise.
30501         * modules/xprintf-posix-tests (Makefile.am): Likewise.
30502         * modules/xstrtoimax-tests (Makefile.am): Likewise.
30503         * modules/xstrtol-tests (Makefile.am): Likewise.
30504         * modules/xstrtoumax-tests (Makefile.am): Likewise.
30505         * modules/yesno-tests (Makefile.am): Likewise.
30506         Suggested by Jim Meyering.
30507
30508 2010-01-24  Bruno Haible  <bruno@clisp.org>
30509
30510         More documentation.
30511         * doc/gnulib.texi (Writing modules): New chapter.
30512         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
30513         the new chapter.
30514
30515 2010-01-24  Jim Meyering  <meyering@redhat.com>
30516
30517         maint.mk: do not prepend "./" after filtering
30518         * top/maint.mk (_prepend_srcdir_prefix): New variable
30519         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
30520         "./" when $(srcdir) is ".".
30521
30522         define STREQ(a,b) consistently, removing useless parentheses
30523         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
30524         since the only risk is that "a" or "b" contains an unparenthesized
30525         comma, but if either did that, STREQ would have 3 or more arguments.
30526         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
30527         * lib/fts.c (STREQ): Remove unnecessary parentheses.
30528         * lib/hash-triple.c (STREQ): Likewise.
30529         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
30530         * lib/getugroups.c (STREQ): Likewise.
30531
30532 2010-01-23  Jim Meyering  <meyering@redhat.com>
30533
30534         maint.mk: fix syntax-check in a non-srcdir build directory
30535         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
30536         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
30537
30538 2010-01-22  Jim Meyering  <meyering@redhat.com>
30539
30540         userspec: add unit tests
30541         * tests/test-userspec.c: New file.
30542         * modules/userspec-tests: Likewise.
30543
30544 2010-01-21  Jim Meyering  <meyering@redhat.com>
30545
30546         maint.mk: handle source file names containing "." robustly
30547         * top/maint.mk (_dot_escaped_srcdir): Define.
30548         (VC_LIST): Use it in LHS of sed substitution.
30549
30550 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
30551
30552         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
30553         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
30554         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
30555         from a non-srcdir build.
30556
30557 2010-01-20  Eric Blake  <ebb9@byu.net>
30558
30559         warn-on-use: use instead of link-warning
30560         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
30561         * modules/unistd (Depends-on, Makefile.am): Likewise.
30562         * modules/arpa_inet (Depends-on): Replace link-warning with
30563         warn-on-use.
30564         (Makefile.am): Update rules accordingly.
30565         * modules/ctype (Depends-on, Makefile.am): Likewise.
30566         * modules/dirent (Depends-on, Makefile.am): Likewise.
30567         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
30568         * modules/inttypes (Depends-on, Makefile.am): Likewise.
30569         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30570         * modules/locale (Depends-on, Makefile.am): Likewise.
30571         * modules/math (Depends-on, Makefile.am): Likewise.
30572         * modules/search (Depends-on, Makefile.am): Likewise.
30573         * modules/signal (Depends-on, Makefile.am): Likewise.
30574         * modules/spawn (Depends-on, Makefile.am): Likewise.
30575         * modules/stdlib (Depends-on, Makefile.am): Likewise.
30576         * modules/string (Depends-on, Makefile.am): Likewise.
30577         * modules/strings (Depends-on, Makefile.am): Likewise.
30578         * modules/sys_file (Depends-on, Makefile.am): Likewise.
30579         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
30580         * modules/sys_select (Depends-on, Makefile.am): Likewise.
30581         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
30582         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
30583         * modules/sys_times (Depends-on, Makefile.am): Likewise.
30584         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
30585         * modules/wchar (Depends-on, Makefile.am): Likewise.
30586         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
30587         should be poisoned.
30588         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
30589         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
30590         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
30591         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30592         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30593         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30594         * m4/math_h.m4 (gl_MATH_H): Likewise.
30595         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30596         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30597         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30598         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30599         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30600         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30601         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
30602         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
30603         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
30604         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30605         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30606         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30607         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30608         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30609         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30610         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30611         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
30612         GL_LINK_WARNING.
30613         * lib/ctype.in.h: Likewise.
30614         * lib/dirent.in.h: Likewise.
30615         * lib/fcntl.in.h: Likewise.
30616         * lib/inttypes.in.h: Likewise.
30617         * lib/langinfo.in.h: Likewise.
30618         * lib/locale.in.h: Likewise.
30619         * lib/math.in.h: Likewise.
30620         * lib/search.in.h: Likewise.
30621         * lib/signal.in.h: Likewise.
30622         * lib/spawn.in.h: Likewise.
30623         * lib/stdio.in.h: Likewise.
30624         * lib/stdlib.in.h: Likewise.
30625         * lib/string.in.h: Likewise.
30626         * lib/strings.in.h: Likewise.
30627         * lib/sys_file.in.h: Likewise.
30628         * lib/sys_ioctl.in.h: Likewise.
30629         * lib/sys_select.in.h: Likewise.
30630         * lib/sys_socket.in.h: Likewise.
30631         * lib/sys_stat.in.h: Likewise.
30632         * lib/sys_times.in.h: Likewise.
30633         * lib/sys_utsname.in.h: Likewise.
30634         * lib/unistd.in.h: Likewise.
30635         * lib/wchar.in.h: Likewise.
30636
30637 2010-01-20  Bruno Haible  <bruno@clisp.org>
30638
30639         Avoid duplicate -lm.
30640         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
30641         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
30642         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
30643         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
30644         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
30645         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
30646         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
30647         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
30648         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
30649         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
30650         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
30651         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30652         Reported by Paolo Bonzini.
30653
30654 2010-01-19  Bruno Haible  <bruno@clisp.org>
30655
30656         langinfo, nl_langinfo: Relicense under LGPLv2+.
30657         * modules/langinfo (License): Change to LGPLv2+.
30658         * modules/nl_langinfo (License): Likewise.
30659         Patch by David Lutterkort <lutter@redhat.com>.
30660
30661 2010-01-19  Bruno Haible  <bruno@clisp.org>
30662
30663         Avoid compilation error with cc on OSF/1 5.1.
30664         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
30665         statement, not before.
30666         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30667
30668 2010-01-18  Bruno Haible  <bruno@clisp.org>
30669
30670         Avoid a link error due to the __printf__ symbol.
30671         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
30672         and 2.6.x.
30673         (__format__, __printf__): Remove definitions.
30674         * lib/argp-fmtstream.h: Likewise.
30675         * lib/argp.h: Likewise.
30676         * lib/error.h: Likewise.
30677         * lib/vasnprintf.h: Likewise.
30678         * lib/xprintf.h: Likewise.
30679         * lib/xvasprintf.h: Likewise.
30680         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30681
30682 2010-01-18  Bruno Haible  <bruno@clisp.org>
30683
30684         Tests for module 'tanl'.
30685         * modules/tanl-tests: New file.
30686         * tests/test-tanl.c: New file.
30687
30688         Tests for module 'sqrtl'.
30689         * modules/sqrtl-tests: New file.
30690         * tests/test-sqrtl.c: New file.
30691
30692         Tests for module 'sinl'.
30693         * modules/sinl-tests: New file.
30694         * tests/test-sinl.c: New file.
30695
30696         Tests for module 'logl'.
30697         * modules/logl-tests: New file.
30698         * tests/test-logl.c: New file.
30699
30700         Tests for module 'expl'.
30701         * modules/expl-tests: New file.
30702         * tests/test-expl.c: New file.
30703
30704         Tests for module 'cosl'.
30705         * modules/cosl-tests: New file.
30706         * tests/test-cosl.c: New file.
30707
30708         Tests for module 'atanl'.
30709         * modules/atanl-tests: New file.
30710         * tests/test-atanl.c: New file.
30711
30712         Tests for module 'asinl'.
30713         * modules/asinl-tests: New file.
30714         * tests/test-asinl.c: New file.
30715
30716         Tests for module 'acosl'.
30717         * modules/acosl-tests: New file.
30718         * tests/test-acosl.c: New file.
30719
30720         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30721         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
30722         tanl): Use the standard gnulib idiom.
30723         * lib/cosl.c: Don't include trigl.c and sincosl.c.
30724         * lib/sinl.c: Likewise.
30725         * lib/tanl.c: Don't include trigl.c.
30726         (kernel_tanl): Make static.
30727         * lib/sincosl.c: Include trigl.h first.
30728         * lib/trigl.c: Likewise.
30729         * m4/acosl.m4: New file.
30730         * m4/asinl.m4: New file.
30731         * m4/atanl.m4: New file.
30732         * m4/cosl.m4: New file.
30733         * m4/expl.m4: New file.
30734         * m4/logl.m4: New file.
30735         * m4/sinl.m4: New file.
30736         * m4/sqrtl.m4: New file.
30737         * m4/tanl.m4: New file.
30738         * m4/mathl.m4: Remove file.
30739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
30740         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30741         Don't initialize GNULIB_MATHL.
30742         * modules/acosl: New file.
30743         * modules/asinl: New file.
30744         * modules/atanl: New file.
30745         * modules/cosl: New file.
30746         * modules/expl: New file.
30747         * modules/logl: New file.
30748         * modules/sinl: New file.
30749         * modules/sqrtl: New file.
30750         * modules/tanl: New file.
30751         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
30752         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
30753         substitute GNULIB_MATHL.
30754         * modules/mathl: Rewritten.
30755         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
30756         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
30757         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
30758         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
30759         * doc/posix-functions/expl.texi: Mention the 'expl' module.
30760         * doc/posix-functions/logl.texi: Mention the 'logl' module.
30761         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
30762         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
30763         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
30764
30765 2010-01-18  Bruno Haible  <bruno@clisp.org>
30766
30767         sqrt: Make gl_FUNC_SQRT requirable.
30768         * m4/sqrt.m4: New file.
30769         * modules/sqrt (Files): Add it.
30770         (configure.ac): Invoke gl_FUNC_SQRT.
30771
30772 2010-01-18  Bruno Haible  <bruno@clisp.org>
30773
30774         New modules for common <math.h> functions.
30775         * m4/mathfunc.m4: New file.
30776         * modules/acos: New file.
30777         * modules/asin: New file.
30778         * modules/atan: New file.
30779         * modules/atan2: New file.
30780         * modules/cbrt: New file.
30781         * modules/copysign: New file.
30782         * modules/cos: New file.
30783         * modules/cosh: New file.
30784         * modules/erf: New file.
30785         * modules/erfc: New file.
30786         * modules/exp: New file.
30787         * modules/fabs: New file.
30788         * modules/fmod: New file.
30789         * modules/hypot: New file.
30790         * modules/j0: New file.
30791         * modules/j1: New file.
30792         * modules/jn: New file.
30793         * modules/ldexp: New file.
30794         * modules/lgamma: New file.
30795         * modules/log: New file.
30796         * modules/log10: New file.
30797         * modules/log1p: New file.
30798         * modules/logb: New file.
30799         * modules/modf: New file.
30800         * modules/nextafter: New file.
30801         * modules/pow: New file.
30802         * modules/remainder: New file.
30803         * modules/rint: New file.
30804         * modules/sin: New file.
30805         * modules/sinh: New file.
30806         * modules/sqrt: New file.
30807         * modules/tan: New file.
30808         * modules/tanh: New file.
30809         * modules/y0: New file.
30810         * modules/y1: New file.
30811         * modules/yn: New file.
30812         * doc/posix-functions/acos.texi: Mention the 'acos' module.
30813         * doc/posix-functions/asin.texi: Mention the 'asin' module.
30814         * doc/posix-functions/atan.texi: Mention the 'atan' module.
30815         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
30816         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
30817         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
30818         * doc/posix-functions/cos.texi: Mention the 'cos' module.
30819         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
30820         * doc/posix-functions/erf.texi: Mention the 'erf' module.
30821         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
30822         * doc/posix-functions/exp.texi: Mention the 'exp' module.
30823         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
30824         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
30825         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
30826         * doc/posix-functions/j0.texi: Mention the 'j0' module.
30827         * doc/posix-functions/j1.texi: Mention the 'j1' module.
30828         * doc/posix-functions/jn.texi: Mention the 'jn' module.
30829         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
30830         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
30831         * doc/posix-functions/log.texi: Mention the 'log' module.
30832         * doc/posix-functions/log10.texi: Mention the 'log10' module.
30833         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
30834         * doc/posix-functions/logb.texi: Mention the 'logb' module.
30835         * doc/posix-functions/modf.texi: Mention the 'modf' module.
30836         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
30837         * doc/posix-functions/pow.texi: Mention the 'pow' module.
30838         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
30839         * doc/posix-functions/rint.texi: Mention the 'rint' module.
30840         * doc/posix-functions/sin.texi: Mention the 'sin' module.
30841         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
30842         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
30843         * doc/posix-functions/tan.texi: Mention the 'tan' module.
30844         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
30845         * doc/posix-functions/y0.texi: Mention the 'y0' module.
30846         * doc/posix-functions/y1.texi: Mention the 'y1' module.
30847         * doc/posix-functions/yn.texi: Mention the 'yn' module.
30848
30849 2010-01-18  Jim Meyering  <meyering@redhat.com>
30850
30851         ignore-value: relax license to LGPLv2+
30852         * modules/ignore-value (License): Relax to LGPLv2+.
30853
30854         getdate: don't leak when TZ contains two or more '"'s
30855         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
30856         double quote in TZ after the first one.
30857
30858         readtokens: do not leak internal token_lengths buffer
30859         * lib/readtokens.c (readtokens): Free the local, lengths,
30860         when the supplied "token_lengths" parameter is NULL.
30861
30862 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30863
30864         Fix a couple of missing LIBTHREAD link failures on AIX.
30865         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
30866         $(LIBTHREAD).
30867         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
30868
30869         Link test-poll against INET_PTON_LIB.
30870         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
30871         for inet_pton on Solaris 10.
30872
30873 2010-01-17  Bruno Haible  <bruno@clisp.org>
30874
30875         unistdio/*-sprintf: Fix typo in module description.
30876         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
30877         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
30878         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
30879         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
30880         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
30881         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
30882         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
30883         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30884
30885 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30886
30887         gnulib-tool: fix filelist for AIX, HP-UX ksh.
30888         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
30889         variables in shell case patterns, for AIX and HP-UX ksh.
30890
30891         Split large sed scripts, for HP-UX sed.
30892         * modules/stdio: Split sed scripts around 50 sed commands,
30893         to avoid HP-UX limit of 99 commands, in the near future.
30894         * modules/string: Likewise.
30895         * modules/unistd: Likewise.
30896
30897         gnulib-tool: avoid writing in the current directory.
30898         * gnulib-tool (func_emit_lib_Makefile_am)
30899         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
30900         not in the current directory, so concurrent gnulib-tool
30901         instances do not interfere.
30902
30903 2010-01-16  Jim Meyering  <meyering@redhat.com>
30904
30905         doc: update users.txt
30906         * users.txt: Add grep.
30907         (diffutils, gzip): Update URLs.
30908
30909 2010-01-12  Bruno Haible  <bruno@clisp.org>
30910
30911         posix_spawn: Avoid test failure on Cygwin.
30912         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
30913         characters.
30914         Reported by Simon Josefsson.
30915
30916 2010-01-12  Bruno Haible  <bruno@clisp.org>
30917
30918         * tests/test-cond.c (main): When skipping the test, show the reason.
30919
30920 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30921
30922         * lib/striconv.c (str_cd_iconv): Avoid if before free.
30923
30924 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30925
30926         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
30927         VC_LIST_ALWAYS_EXCLUDE_REGEX.
30928
30929 2010-01-12  Eric Blake  <ebb9@byu.net>
30930
30931         build: guarantee AS_VAR_IF
30932         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
30933         (gl_AS_VAR_IF): Move...
30934         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
30935         Reported by Simon Josefsson.
30936
30937 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30938
30939         * lib/stdio.in.h: Fix typo.
30940
30941 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30942
30943         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
30944         libgpg-error.
30945
30946 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30947
30948         * tests/test-xalloc-die.sh: Use $EXEEXT.
30949
30950 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30951             Bruno Haible  <bruno@clisp.org>
30952
30953         getlogin, getlogin_r: Avoid test failure.
30954         * tests/test-getlogin.c: Include <stdio.h>.
30955         (main): Skip the test when the function fails because stdin is not a
30956         tty.
30957         * tests/test-getlogin_r.c: Include <stdio.h>.
30958         (main): Skip the test when the function fails because stdin is not a
30959         tty.
30960
30961 2010-01-11  Eric Blake  <ebb9@byu.net>
30962
30963         tests: avoid more large file warnings
30964         * tests/test-fflush.c: Avoid warning about ftell use.
30965         * tests/test-fseek.c: Avoid warning about fseek use.
30966
30967 2010-01-10  Bruno Haible  <bruno@clisp.org>
30968
30969         nproc: Work better on Linux when /proc and /sys are not mounted.
30970         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
30971         as lower bound when, on glibc/Linux systems,
30972         sysconf (_SC_NPROCESSORS_CONF) returns 1.
30973         Suggested by Pádraig Brady <P@draigbrady.com>.
30974         Reported by Dmitry V. Levin <ldv@altlinux.org>.
30975
30976         nproc: Refactor.
30977         * lib/nproc.c (num_processors_via_affinity_mask): New function,
30978         extracted from num_processors.
30979         (num_processors): Call it.
30980
30981 2010-01-11  Jim Meyering  <meyering@redhat.com>
30982
30983         utimecmp: avoid new warning from upcoming gcc-4.5.0
30984         * lib/utimecmp.c (BILLION): Define using #define rather than an
30985         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
30986
30987 2010-01-11  Eric Blake  <ebb9@byu.net>
30988
30989         math: add portability warnings for classification macros
30990         * modules/math (Depends-on): Add warn-on-use.
30991         (Makefile.am): Provide new substitutions.
30992         * m4/math_h.m4 (gl_MATH_H): Require inline.
30993         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
30994         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
30995         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
30996         implement warnings.
30997
30998         unistd: warn on use of environ without module
30999         * modules/unistd (Depends-on): Add warn-on-use.
31000         (Makefile.am): Provide new substitutions.
31001         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
31002         * lib/unistd.in.h (environ): Wrap with a warning helper function.
31003
31004         stdio: warn on suspicious uses
31005         * modules/stdio (Depends-on): Add warn-on-use.
31006         (Makefile.am): Provide new substitutions.
31007         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
31008         fseeko.
31009         * lib/stdio.in.h (gets): Always warn on use.
31010         (fseek, ftell): Adjust when warnings are issued, and honor
31011         _GL_NO_LARGE_FILES as a way to silence the warning.
31012         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
31013         any warning about large file offsets.
31014         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
31015         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
31016         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
31017         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
31018         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
31019         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
31020         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
31021         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
31022
31023         warn-on-use: new module
31024         * modules/warn-on-use: New file.
31025         * build-aux/warn-on-use.h: Likewise.
31026         * m4/warn-on-use.m4: Likewise.
31027         * MODULES.html.sh (Support for building): Mention it.
31028
31029 2010-01-10  Bruno Haible  <bruno@clisp.org>
31030
31031         Tests for module 'unistr/u32-strdup'.
31032         * modules/unistr/u32-strdup-tests: New file.
31033         * tests/unistr/test-u32-strdup.c: New file.
31034
31035         Tests for module 'unistr/u16-strdup'.
31036         * modules/unistr/u16-strdup-tests: New file.
31037         * tests/unistr/test-u16-strdup.c: New file.
31038
31039         Tests for module 'unistr/u8-strdup'.
31040         * modules/unistr/u8-strdup-tests: New file.
31041         * tests/unistr/test-u8-strdup.c: New file.
31042         * tests/unistr/test-strdup.h: New file.
31043
31044         Tests for module 'unistr/u32-strncmp'.
31045         * modules/unistr/u32-strncmp-tests: New file.
31046         * tests/unistr/test-u32-strncmp.c: New file.
31047
31048         Tests for module 'unistr/u16-strncmp'.
31049         * modules/unistr/u16-strncmp-tests: New file.
31050         * tests/unistr/test-u16-strncmp.c: New file.
31051
31052         Tests for module 'unistr/u8-strncmp'.
31053         * modules/unistr/u8-strncmp-tests: New file.
31054         * tests/unistr/test-u8-strncmp.c: New file.
31055         * tests/unistr/test-strncmp.h: New file.
31056
31057         Tests for module 'unistr/u32-strcoll'.
31058         * modules/unistr/u32-strcoll-tests: New file.
31059         * tests/unistr/test-u32-strcoll.c: New file.
31060
31061         Tests for module 'unistr/u16-strcoll'.
31062         * modules/unistr/u16-strcoll-tests: New file.
31063         * tests/unistr/test-u16-strcoll.c: New file.
31064
31065         Tests for module 'unistr/u8-strcoll'.
31066         * modules/unistr/u8-strcoll-tests: New file.
31067         * tests/unistr/test-u8-strcoll.c: New file.
31068
31069         Tests for module 'unistr/u32-strcmp'.
31070         * modules/unistr/u32-strcmp-tests: New file.
31071         * tests/unistr/test-u32-strcmp.c: New file.
31072         * tests/unistr/test-u32-strcmp.h: New file.
31073
31074         Tests for module 'unistr/u16-strcmp'.
31075         * modules/unistr/u16-strcmp-tests: New file.
31076         * tests/unistr/test-u16-strcmp.c: New file.
31077         * tests/unistr/test-u16-strcmp.h: New file.
31078
31079         Tests for module 'unistr/u8-strcmp'.
31080         * modules/unistr/u8-strcmp-tests: New file.
31081         * tests/unistr/test-u8-strcmp.c: New file.
31082         * tests/unistr/test-u8-strcmp.h: New file.
31083         * tests/unistr/test-strcmp.h: New file.
31084
31085         Tests for module 'unistr/u32-strncat'.
31086         * modules/unistr/u32-strncat-tests: New file.
31087         * tests/unistr/test-u32-strncat.c: New file.
31088
31089         Tests for module 'unistr/u16-strncat'.
31090         * modules/unistr/u16-strncat-tests: New file.
31091         * tests/unistr/test-u16-strncat.c: New file.
31092
31093         Tests for module 'unistr/u8-strncat'.
31094         * modules/unistr/u8-strncat-tests: New file.
31095         * tests/unistr/test-u8-strncat.c: New file.
31096         * tests/unistr/test-strncat.h: New file.
31097
31098         Tests for module 'unistr/u32-strcat'.
31099         * modules/unistr/u32-strcat-tests: New file.
31100         * tests/unistr/test-u32-strcat.c: New file.
31101
31102         Tests for module 'unistr/u16-strcat'.
31103         * modules/unistr/u16-strcat-tests: New file.
31104         * tests/unistr/test-u16-strcat.c: New file.
31105
31106         Tests for module 'unistr/u8-strcat'.
31107         * modules/unistr/u8-strcat-tests: New file.
31108         * tests/unistr/test-u8-strcat.c: New file.
31109         * tests/unistr/test-strcat.h: New file.
31110
31111         Tests for module 'unistr/u32-stpncpy'.
31112         * modules/unistr/u32-stpncpy-tests: New file.
31113         * tests/unistr/test-u32-stpncpy.c: New file.
31114
31115         Tests for module 'unistr/u16-stpncpy'.
31116         * modules/unistr/u16-stpncpy-tests: New file.
31117         * tests/unistr/test-u16-stpncpy.c: New file.
31118
31119         Tests for module 'unistr/u8-stpncpy'.
31120         * modules/unistr/u8-stpncpy-tests: New file.
31121         * tests/unistr/test-u8-stpncpy.c: New file.
31122         * tests/unistr/test-stpncpy.h: New file.
31123
31124         Tests for module 'unistr/u32-strncpy'.
31125         * modules/unistr/u32-strncpy-tests: New file.
31126         * tests/unistr/test-u32-strncpy.c: New file.
31127
31128         Tests for module 'unistr/u16-strncpy'.
31129         * modules/unistr/u16-strncpy-tests: New file.
31130         * tests/unistr/test-u16-strncpy.c: New file.
31131
31132         Tests for module 'unistr/u8-strncpy'.
31133         * modules/unistr/u8-strncpy-tests: New file.
31134         * tests/unistr/test-u8-strncpy.c: New file.
31135         * tests/unistr/test-strncpy.h: New file.
31136
31137         Tests for module 'unistr/u32-stpcpy'.
31138         * modules/unistr/u32-stpcpy-tests: New file.
31139         * tests/unistr/test-u32-stpcpy.c: New file.
31140
31141         Tests for module 'unistr/u16-stpcpy'.
31142         * modules/unistr/u16-stpcpy-tests: New file.
31143         * tests/unistr/test-u16-stpcpy.c: New file.
31144
31145         Tests for module 'unistr/u8-stpcpy'.
31146         * modules/unistr/u8-stpcpy-tests: New file.
31147         * tests/unistr/test-u8-stpcpy.c: New file.
31148         * tests/unistr/test-stpcpy.h: New file.
31149
31150         Tests for module 'unistr/u32-strcpy'.
31151         * modules/unistr/u32-strcpy-tests: New file.
31152         * tests/unistr/test-u32-strcpy.c: New file.
31153
31154         Tests for module 'unistr/u16-strcpy'.
31155         * modules/unistr/u16-strcpy-tests: New file.
31156         * tests/unistr/test-u16-strcpy.c: New file.
31157
31158         Tests for module 'unistr/u8-strcpy'.
31159         * modules/unistr/u8-strcpy-tests: New file.
31160         * tests/unistr/test-u8-strcpy.c: New file.
31161         * tests/unistr/test-strcpy.h: New file.
31162
31163         Tests for module 'unistr/u32-strnlen'.
31164         * modules/unistr/u32-strnlen-tests: New file.
31165         * tests/unistr/test-u32-strnlen.c: New file.
31166
31167         Tests for module 'unistr/u16-strnlen'.
31168         * modules/unistr/u16-strnlen-tests: New file.
31169         * tests/unistr/test-u16-strnlen.c: New file.
31170
31171         Tests for module 'unistr/u8-strnlen'.
31172         * modules/unistr/u8-strnlen-tests: New file.
31173         * tests/unistr/test-u8-strnlen.c: New file.
31174         * tests/unistr/test-strnlen.h: New file.
31175
31176         Tests for module 'unistr/u32-strlen'.
31177         * modules/unistr/u32-strlen-tests: New file.
31178         * tests/unistr/test-u32-strlen.c: New file.
31179
31180         Tests for module 'unistr/u16-strlen'.
31181         * modules/unistr/u16-strlen-tests: New file.
31182         * tests/unistr/test-u16-strlen.c: New file.
31183
31184         Tests for module 'unistr/u8-strlen'.
31185         * modules/unistr/u8-strlen-tests: New file.
31186         * tests/unistr/test-u8-strlen.c: New file.
31187
31188         Tests for module 'unistr/u32-prev'.
31189         * modules/unistr/u32-prev-tests: New file.
31190         * tests/unistr/test-u32-prev.c: New file.
31191
31192         Tests for module 'unistr/u16-prev'.
31193         * modules/unistr/u16-prev-tests: New file.
31194         * tests/unistr/test-u16-prev.c: New file.
31195
31196         Tests for module 'unistr/u8-prev'.
31197         * modules/unistr/u8-prev-tests: New file.
31198         * tests/unistr/test-u8-prev.c: New file.
31199
31200         Tests for module 'unistr/u32-next'.
31201         * modules/unistr/u32-next-tests: New file.
31202         * tests/unistr/test-u32-next.c: New file.
31203
31204         Tests for module 'unistr/u16-next'.
31205         * modules/unistr/u16-next-tests: New file.
31206         * tests/unistr/test-u16-next.c: New file.
31207
31208         Tests for module 'unistr/u8-next'.
31209         * modules/unistr/u8-next-tests: New file.
31210         * tests/unistr/test-u8-next.c: New file.
31211
31212         Tests for module 'unistr/u32-strmbtouc'.
31213         * modules/unistr/u32-strmbtouc-tests: New file.
31214         * tests/unistr/test-u32-strmbtouc.c: New file.
31215
31216         Tests for module 'unistr/u16-strmbtouc'.
31217         * modules/unistr/u16-strmbtouc-tests: New file.
31218         * tests/unistr/test-u16-strmbtouc.c: New file.
31219
31220         Tests for module 'unistr/u8-strmbtouc'.
31221         * modules/unistr/u8-strmbtouc-tests: New file.
31222         * tests/unistr/test-u8-strmbtouc.c: New file.
31223
31224         Tests for module 'unistr/u32-strmblen'.
31225         * modules/unistr/u32-strmblen-tests: New file.
31226         * tests/unistr/test-u32-strmblen.c: New file.
31227
31228         Tests for module 'unistr/u16-strmblen'.
31229         * modules/unistr/u16-strmblen-tests: New file.
31230         * tests/unistr/test-u16-strmblen.c: New file.
31231
31232         Tests for module 'unistr/u8-strmblen'.
31233         * modules/unistr/u8-strmblen-tests: New file.
31234         * tests/unistr/test-u8-strmblen.c: New file.
31235
31236         Tests for module 'unistr/u32-cpy-alloc'.
31237         * modules/unistr/u32-cpy-alloc-tests: New file.
31238         * tests/unistr/test-u32-cpy-alloc.c: New file.
31239
31240         Tests for module 'unistr/u16-cpy-alloc'.
31241         * modules/unistr/u16-cpy-alloc-tests: New file.
31242         * tests/unistr/test-u16-cpy-alloc.c: New file.
31243
31244         Tests for module 'unistr/u8-cpy-alloc'.
31245         * modules/unistr/u8-cpy-alloc-tests: New file.
31246         * tests/unistr/test-u8-cpy-alloc.c: New file.
31247         * tests/unistr/test-cpy-alloc.h: New file.
31248
31249         Tests for module 'unistr/u32-mbsnlen'.
31250         * modules/unistr/u32-mbsnlen-tests: New file.
31251         * tests/unistr/test-u32-mbsnlen.c: New file.
31252
31253         Tests for module 'unistr/u16-mbsnlen'.
31254         * modules/unistr/u16-mbsnlen-tests: New file.
31255         * tests/unistr/test-u16-mbsnlen.c: New file.
31256
31257         Tests for module 'unistr/u8-mbsnlen'.
31258         * modules/unistr/u8-mbsnlen-tests: New file.
31259         * tests/unistr/test-u8-mbsnlen.c: New file.
31260
31261         Tests for module 'unistr/u32-chr'.
31262         * modules/unistr/u32-chr-tests: New file.
31263         * tests/unistr/test-u32-chr.c: New file.
31264
31265         Tests for module 'unistr/u16-chr'.
31266         * modules/unistr/u16-chr-tests: New file.
31267         * tests/unistr/test-u16-chr.c: New file.
31268
31269         Tests for module 'unistr/u8-chr'.
31270         * modules/unistr/u8-chr-tests: New file.
31271         * tests/unistr/test-u8-chr.c: New file.
31272         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
31273
31274         Tests for module 'unistr/u32-cmp2'.
31275         * modules/unistr/u32-cmp2-tests: New file.
31276         * tests/unistr/test-u32-cmp2.c: New file.
31277
31278         Tests for module 'unistr/u16-cmp2'.
31279         * modules/unistr/u16-cmp2-tests: New file.
31280         * tests/unistr/test-u16-cmp2.c: New file.
31281
31282         Tests for module 'unistr/u8-cmp2'.
31283         * modules/unistr/u8-cmp2-tests: New file.
31284         * tests/unistr/test-u8-cmp2.c: New file.
31285         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
31286
31287         Tests for module 'unistr/u32-cmp'.
31288         * modules/unistr/u32-cmp-tests: New file.
31289         * tests/unistr/test-u32-cmp.c: New file.
31290
31291         Tests for module 'unistr/u16-cmp'.
31292         * modules/unistr/u16-cmp-tests: New file.
31293         * tests/unistr/test-u16-cmp.c: New file.
31294
31295         Tests for module 'unistr/u8-cmp'.
31296         * modules/unistr/u8-cmp-tests: New file.
31297         * tests/unistr/test-u8-cmp.c: New file.
31298         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
31299
31300         Tests for module 'unistr/u32-set'.
31301         * modules/unistr/u32-set-tests: New file.
31302         * tests/unistr/test-u32-set.c: New file.
31303
31304         Tests for module 'unistr/u16-set'.
31305         * modules/unistr/u16-set-tests: New file.
31306         * tests/unistr/test-u16-set.c: New file.
31307
31308         Tests for module 'unistr/u8-set'.
31309         * modules/unistr/u8-set-tests: New file.
31310         * tests/unistr/test-u8-set.c: New file.
31311         * tests/unistr/test-set.h: New file.
31312
31313         Tests for module 'unistr/u32-move'.
31314         * modules/unistr/u32-move-tests: New file.
31315         * tests/unistr/test-u32-move.c: New file.
31316
31317         Tests for module 'unistr/u16-move'.
31318         * modules/unistr/u16-move-tests: New file.
31319         * tests/unistr/test-u16-move.c: New file.
31320
31321         Tests for module 'unistr/u8-move'.
31322         * modules/unistr/u8-move-tests: New file.
31323         * tests/unistr/test-u8-move.c: New file.
31324         * tests/unistr/test-move.h: New file.
31325
31326         Tests for module 'unistr/u32-cpy'.
31327         * modules/unistr/u32-cpy-tests: New file.
31328         * tests/unistr/test-u32-cpy.c: New file.
31329
31330         Tests for module 'unistr/u16-cpy'.
31331         * modules/unistr/u16-cpy-tests: New file.
31332         * tests/unistr/test-u16-cpy.c: New file.
31333
31334         Tests for module 'unistr/u8-cpy'.
31335         * modules/unistr/u8-cpy-tests: New file.
31336         * tests/unistr/test-u8-cpy.c: New file.
31337         * tests/unistr/test-cpy.h: New file.
31338
31339 2010-01-09  Bruno Haible  <bruno@clisp.org>
31340
31341         Tests for module 'unistr/u32-uctomb'.
31342         * modules/unistr/u32-uctomb-tests: New file.
31343         * tests/unistr/test-u32-uctomb.c: New file.
31344
31345         Tests for module 'unistr/u16-uctomb'.
31346         * modules/unistr/u16-uctomb-tests: New file.
31347         * tests/unistr/test-u16-uctomb.c: New file.
31348
31349         Tests for module 'unistr/u8-uctomb'.
31350         * modules/unistr/u8-uctomb-tests: New file.
31351         * tests/unistr/test-u8-uctomb.c: New file.
31352
31353         Tests for module 'unistr/u32-mbtoucr'.
31354         * modules/unistr/u32-mbtoucr-tests: New file.
31355         * tests/unistr/test-u32-mbtoucr.c: New file.
31356
31357         Tests for module 'unistr/u16-mbtoucr'.
31358         * modules/unistr/u16-mbtoucr-tests: New file.
31359         * tests/unistr/test-u16-mbtoucr.c: New file.
31360
31361         Tests for module 'unistr/u8-mbtoucr'.
31362         * modules/unistr/u8-mbtoucr-tests: New file.
31363         * tests/unistr/test-u8-mbtoucr.c: New file.
31364
31365         Tests for module 'unistr/u32-mbtouc'.
31366         * modules/unistr/u32-mbtouc-tests: New file.
31367         * tests/unistr/test-u32-mbtouc.c: New file.
31368
31369         Tests for module 'unistr/u16-mbtouc'.
31370         * modules/unistr/u16-mbtouc-tests: New file.
31371         * tests/unistr/test-u16-mbtouc.c: New file.
31372
31373         Tests for module 'unistr/u8-mbtouc'.
31374         * modules/unistr/u8-mbtouc-tests: New file.
31375         * tests/unistr/test-u8-mbtouc.c: New file.
31376
31377         Tests for module 'unistr/u32-mbtouc-unsafe'.
31378         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
31379         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
31380         * tests/unistr/test-u32-mbtouc.h: New file.
31381
31382         Tests for module 'unistr/u16-mbtouc-unsafe'.
31383         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
31384         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
31385         * tests/unistr/test-u16-mbtouc.h: New file.
31386
31387         Tests for module 'unistr/u8-mbtouc-unsafe'.
31388         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
31389         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
31390         * tests/unistr/test-u8-mbtouc.h: New file.
31391
31392         Tests for module 'unistr/u32-mblen'.
31393         * modules/unistr/u32-mblen-tests: New file.
31394         * tests/unistr/test-u32-mblen.c: New file.
31395
31396         Tests for module 'unistr/u16-mblen'.
31397         * modules/unistr/u16-mblen-tests: New file.
31398         * tests/unistr/test-u16-mblen.c: New file.
31399
31400         Tests for module 'unistr/u8-mblen'.
31401         * modules/unistr/u8-mblen-tests: New file.
31402         * tests/unistr/test-u8-mblen.c: New file.
31403
31404         Tests for module 'unistr/u32-to-u16'.
31405         * modules/unistr/u32-to-u16-tests: New file.
31406         * tests/unistr/test-u32-to-u16.c: New file.
31407
31408         Tests for module 'unistr/u32-to-u8'.
31409         * modules/unistr/u32-to-u8-tests: New file.
31410         * tests/unistr/test-u32-to-u8.c: New file.
31411
31412         Tests for module 'unistr/u16-to-u32'.
31413         * modules/unistr/u16-to-u32-tests: New file.
31414         * tests/unistr/test-u16-to-u32.c: New file.
31415
31416         Tests for module 'unistr/u16-to-u8'.
31417         * modules/unistr/u16-to-u8-tests: New file.
31418         * tests/unistr/test-u16-to-u8.c: New file.
31419
31420         Tests for module 'unistr/u8-to-u32'.
31421         * modules/unistr/u8-to-u32-tests: New file.
31422         * tests/unistr/test-u8-to-u32.c: New file.
31423
31424         Tests for module 'unistr/u8-to-u16'.
31425         * modules/unistr/u8-to-u16-tests: New file.
31426         * tests/unistr/test-u8-to-u16.c: New file.
31427
31428         Tests for module 'unistr/u32-check'.
31429         * modules/unistr/u32-check-tests: New file.
31430         * tests/unistr/test-u32-check.c: New file.
31431
31432         Tests for module 'unistr/u16-check'.
31433         * modules/unistr/u16-check-tests: New file.
31434         * tests/unistr/test-u16-check.c: New file.
31435
31436         Tests for module 'unistr/u8-check'.
31437         * modules/unistr/u8-check-tests: New file.
31438         * tests/unistr/test-u8-check.c: New file.
31439
31440         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
31441         (category_equals): New function.
31442         (main): Add more tests.
31443         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
31444
31445         * tests/unictype/test-bidi_byname.c (main): Add more tests.
31446
31447 2010-01-10  Bruno Haible  <bruno@clisp.org>
31448
31449         unistr/u*-strcoll: Try harder to distinguish different strings.
31450         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
31451         compare s1 and s2 to see if they are different.
31452
31453 2010-01-10  Bruno Haible  <bruno@clisp.org>
31454
31455         unistr/u*-stpncpy: Fix the return value.
31456         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
31457         description of the return value consistent with stpncpy in glibc.
31458         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
31459         written non-NUL unit.
31460
31461 2010-01-10  Bruno Haible  <bruno@clisp.org>
31462
31463         unistr/u*-next: Add missing dependencies.
31464         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
31465         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
31466         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
31467
31468 2010-01-10  Bruno Haible  <bruno@clisp.org>
31469
31470         unistr/u8-mbsnlen: Fix return value for incomplete character.
31471         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
31472         u8_mblen.
31473         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
31474         Remove unistr/u8-mblen.
31475         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
31476         u16_mblen.
31477         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
31478         Remove unistr/u16-mblen.
31479
31480 2010-01-10  Bruno Haible  <bruno@clisp.org>
31481
31482         wchar: Fix compilation error when <wchar.h> is used from coreutils.
31483         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
31484         Reported by Brian Gough <bjg@gnu.org> and
31485         Chris Clayton <chris2553@googlemail.com> via
31486         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
31487
31488 2010-01-09  Bruno Haible  <bruno@clisp.org>
31489
31490         unistr/u16-to-u32: Reject invalid input.
31491         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
31492         u16_mbtouc.
31493         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
31494         Remove unistr/u16-mbtouc.
31495
31496         unistr/u16-to-u8: Reject invalid input.
31497         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
31498         u16_mbtouc.
31499         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
31500         Remove unistr/u16-mbtouc.
31501
31502         unistr/u8-to-u32: Reject invalid input.
31503         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
31504         u8_mbtouc.
31505         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
31506         Remove unistr/u8-mbtouc.
31507
31508         unistr/u8-to-u16: Reject invalid input.
31509         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
31510         u8_mbtouc.
31511         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
31512         Remove unistr/u8-mbtouc.
31513
31514 2010-01-09  Bruno Haible  <bruno@clisp.org>
31515
31516         Tests for module 'getlogin'.
31517         * modules/getlogin-tests: New file.
31518         * tests/test-getlogin.c: New file.
31519
31520         New module 'getlogin'.
31521         * lib/unistd.in.h (getlogin): New declaration.
31522         * lib/getlogin.c: New file.
31523         * m4/getlogin.m4: New file.
31524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
31525         HAVE_GETLOGIN.
31526         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
31527         HAVE_GETLOGIN.
31528         * modules/getlogin: New file.
31529         * doc/posix-functions/getlogin.texi: Mention the new module.
31530         Reported by John W. Eaton <jwe@gnu.org>.
31531
31532 2010-01-09  Bruno Haible  <bruno@clisp.org>
31533
31534         getlogin_r: Support for native Windows.
31535         * lib/getlogin_r.c: Include <windows.h>
31536         (getlogin_r): Implement for native Windows.
31537         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
31538         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
31539         via John W. Eaton <jwe@gnu.org>.
31540
31541 2010-01-09  Bruno Haible  <bruno@clisp.org>
31542
31543         getlogin_r: Small fixes.
31544         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
31545         succeeds.
31546         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
31547         before testing whether getlogin_r is declared. No need to set
31548         HAVE_DECL_GETLOGIN_R to 1.
31549         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
31550
31551 2010-01-09  Bruno Haible  <bruno@clisp.org>
31552
31553         * lib/unistd.in.h (getlogin_r): Add comment.
31554
31555 2010-01-09  Bruno Haible  <bruno@clisp.org>
31556
31557         Tests for module 'getlogin_r'.
31558         * modules/getlogin_r-tests: New file.
31559         * tests/test-getlogin_r.c: New file.
31560
31561 2010-01-09  Jim Meyering  <meyering@redhat.com>
31562
31563         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
31564         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
31565         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
31566
31567 2010-01-08  Simon Josefsson  <simon@josefsson.org>
31568
31569         * lib/dup2.c (rpl_dup2): Improve comment.
31570
31571 2010-01-08  Eric Blake  <ebb9@byu.net>
31572
31573         maint.mk: allow packages to add makefile @@ exceptions
31574         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
31575         (sc_makefile_check): Rename...
31576         (sc_makefile_at_at_check): ...to this, and use hook.
31577
31578         dup2: work around mingw bug
31579         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
31580         Reported by Simon Josefsson.
31581
31582 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
31583
31584         glob: Fix C++ compilation.
31585         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
31586         C++.
31587
31588 2010-01-07  Bruno Haible  <bruno@clisp.org>
31589
31590         Fix indentation of wctype.in.h, broken since 2007-01-06.
31591         * lib/wctype.in.h: Fix indentation of preprocessor directives.
31592
31593 2010-01-07  Bruno Haible  <bruno@clisp.org>
31594
31595         mbslen: Avoid collision with system function.
31596         * lib/string.in.h [MirBSD]: Include <wchar.h>.
31597         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
31598         * m4/mbslen.m4: New file.
31599         * modules/mbslen (Files): Add it.
31600         (configure.ac): Invoke gl_MBSLEN.
31601         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
31602         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
31603         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
31604         via Ian Beckwith <ianb@erislabs.net>.
31605
31606 2010-01-07  Bruno Haible  <bruno@clisp.org>
31607
31608         dirent: Document the last fix.
31609         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
31610
31611 2010-01-07  Bruno Haible  <bruno@clisp.org>
31612
31613         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
31614         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
31615         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
31616         va_list are defined.
31617         * doc/posix-headers/stdio.texi: Document the bug of missing types.
31618         Reported by Eric Blake.
31619
31620 2010-01-07  Bruno Haible  <bruno@clisp.org>
31621
31622         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
31623         * modules/xlist (Depends-on): Add 'list',
31624         * modules/xoset (Depends-on): Add 'oset'.
31625         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31626
31627 2010-01-07  Bruno Haible  <bruno@clisp.org>
31628
31629         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
31630         * doc/posix-functions/strncasecmp.texi: Likewise.
31631
31632 2010-01-07  Bruno Haible  <bruno@clisp.org>
31633
31634         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
31635
31636 2010-01-07  John W. Eaton  <jwe@octave.org>
31637
31638         wctype: allow C++ use
31639         * lib/wctype.in.h: Add extern "C" block for C++.
31640
31641 2010-01-06  Eric Blake  <ebb9@byu.net>
31642
31643         maint.mk: detect incorrect GFDL usage
31644         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
31645
31646 2010-01-06  Jim Meyering  <meyering@redhat.com>
31647         and Eric Blake  <ebb9@byu.net>
31648
31649         maint.mk: ignore multi-line copyright in NEWS
31650         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
31651
31652 2010-01-06  Eric Blake  <ebb9@byu.net>
31653
31654         select: add missing dependency
31655         * modules/select-tests (Depends-on): Move sockets dependency...
31656         * modules/select (Depends-on): ...here.
31657         Reported by Ian Beckwith.
31658
31659         doc: regenerate INSTALL
31660         * doc/INSTALL: Reflect recent autoconf update.
31661         * doc/INSTALL.ISO: Likewise.
31662         * doc/INSTALL.UTF-8: Likewise.
31663
31664         pread: fix compilation on glibc
31665         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
31666         Reported by Ralf Wildenhues.
31667
31668         dirent: fix test failure
31669         * lib/dirent.in.h (includes): Guarantee ino_t.
31670         Reported by Ralf Wildenhues.
31671
31672 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
31673
31674         linkat, renameat: avoid bad free
31675         * lib/at-func2.c (at_func2): Fix typo.
31676         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
31677
31678 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31679
31680         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
31681         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
31682         to avoid failure of symlink test later.
31683
31684 2010-01-06  Eric Blake  <ebb9@byu.net>
31685
31686         stdio, unistd: guarantee ssize_t
31687         * lib/unistd.in.h (includes): Ensure that types required by POSIX
31688         2008 are exposed when needed.
31689         * lib/stdio.in.h (includes): Likewise.
31690         Reported by Ralf Wildenhues.
31691
31692 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
31693
31694         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
31695         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
31696         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
31697
31698 2010-01-06  Jim Meyering  <meyering@redhat.com>
31699
31700         readtokens: this module *does* require xalloc.h
31701         It uses only functions that were omitted by the old syntax-check rule.
31702         * lib/readtokens.c: Include "xalloc.h" once again.
31703         * modules/readtokens (Depends-on): Add xalloc.
31704         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
31705
31706 2010-01-05  Eric Blake  <ebb9@byu.net>
31707
31708         maint: support 'make announcement' from a VPATH build
31709         * top/maint.mk (announcement): Look for correct NEWS file.
31710
31711 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
31712
31713         utimens (fdutimens): ignore a negative FD, per contract
31714         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
31715         when we have a valid file descriptor.  Otherwise, using a brand
31716         new glibc (with just-patched futimens that now fails with EBADF)
31717         would cause this function to fail with ENOSYS.
31718         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
31719         See also http://bugzilla.redhat.com/552320.
31720
31721 2010-01-05  Eric Blake  <ebb9@byu.net>
31722
31723         strcase: document what it provides
31724         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
31725         gnulib module.
31726         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
31727         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
31728
31729 2010-01-05  Jim Meyering  <meyering@redhat.com>
31730
31731         maint: remove useless inclusions of "xalloc.h"
31732         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
31733         * lib/readtokens.c: Likewise.
31734         * lib/same.c: Likewise.
31735         * modules/getloadavg (Depends-on): Remove xalloc.
31736         * modules/readtokens: Likewise.
31737         * modules/same: Likewise.
31738
31739         maint.mk: include 4 more function names in alloca.h-checking regexp
31740         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
31741         regexp.  Before, we would give a false-positive (saying alloca.h
31742         is included unnecessarily) when the only uses involved omitted symbols.
31743
31744         xalloc.h: use consistent formatting
31745         * lib/xalloc.h: Move declarations to start in the first column.
31746
31747 2010-01-05  Eric Blake  <ebb9@byu.net>
31748
31749         mkdir: avoid xalloc
31750         * lib/mkdir.c (includes): Drop unused header.
31751         Reported by John W. Eaton.
31752
31753 2010-01-04  Jim Meyering  <meyering@redhat.com>
31754
31755         nl_langinfo: avoid configure-time syntax error
31756         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
31757         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
31758         the empty string.  Don't let that provoke a shell syntax error.
31759
31760         regcomp, regexec, fnmatch: avoid array bounds read error
31761         * lib/regcomp.c (build_equiv_class): From glibc:
31762         Use only the low 24 bits of a findidx return value as an index
31763         into the weights array.  Patch by Ulrich Drepper:
31764         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
31765         * lib/regexec.c (check_node_accept_bytes): Likewise.
31766         * lib/fnmatch_loop.c (FCT): Likewise.
31767
31768         regcomp: skip collseq lookup when there are no rules
31769         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
31770         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
31771
31772         regcomp: recognize ill-formed { } expressions
31773         * lib/regcomp.c (parse_dup_op): From glibc:
31774         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
31775
31776         regcomp: fix typo in comment
31777         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
31778         s/satisfy/satisfies/.
31779
31780         regcomp: sync from glibc: remove dead store
31781         * lib/regcomp.c (duplicate_node_closure): Remove useless
31782         search_duplicated_node call and dead store.
31783
31784         regcomp: sync from glibc; always use nl_langinfo
31785         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
31786         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
31787         * modules/regex (Depends-on): Add nl_langinfo.
31788
31789 2010-01-04  Eric Blake  <ebb9@byu.net>
31790
31791         fdopendir: fix configure test
31792         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
31793
31794 2010-01-01  Bruno Haible  <bruno@clisp.org>
31795
31796         wchar: Remove unused configure check.
31797         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
31798
31799 2010-01-01  Eric Blake  <ebb9@byu.net>
31800
31801         headers: make check of system header explicit
31802         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
31803         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
31804         ourselves.
31805         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31806         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31807         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31808         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
31809         internals.
31810         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
31811         missing.
31812         Suggested by Bruno Haible.
31813
31814 2010-01-01  Jim Meyering  <meyering@redhat.com>
31815
31816         ChangeLog: tweak to eliminate unnecessary copyright line
31817         * ChangeLog: Remove a copyright line that was mistakenly updated
31818         by today's update-copyright run.  Reported by Eric Blake.
31819
31820         test-update-copyright: don't let envvar setting cause test failure
31821         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31822
31823 2010-01-01  Bruno Haible  <bruno@clisp.org>
31824
31825         localename: Avoid gcc warning.
31826         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
31827         function if it is not used.
31828
31829 2010-01-01  Jim Meyering  <meyering@redhat.com>
31830
31831         update nearly all FSF copyright year lists to include 2010
31832         Use the same procedure as for 2009, outlined in
31833         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
31834
31835         version-etc: set COPYRIGHT_YEAR to 2010
31836         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
31837
31838 2009-12-31  Eric Blake  <ebb9@byu.net>
31839
31840         doc: correct availability of cygwin 1.5.x getopt
31841         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
31842         variables.
31843         * doc/posix-functions/opterr.texi (opterr): Likewise.
31844         * doc/posix-functions/optind.texi (optind): Likewise.
31845         * doc/posix-functions/optopt.texi (optopt): Likewise.
31846         * doc/posix-functions/tzname.texi (tzname): Likewise.
31847
31848         openat: update maintainer
31849         * modules/openat (Maintainer): Add myself.
31850
31851         utimens: avoid shadowing warning
31852         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
31853         buffers into one, to avoid shadowing, as well as avoiding a
31854         redundant stat.
31855         Reported by Jim Meyering.
31856
31857         test-dup2: avoid compiler warning
31858         * tests/test-dup2.c (is_inheritable): Only define if used.
31859
31860 2010-01-01  Bruno Haible  <bruno@clisp.org>
31861
31862         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
31863         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
31864         defined, use wctomb instead of wcrtomb.
31865
31866 2010-01-01  Bruno Haible  <bruno@clisp.org>
31867
31868         iconv: Reject native Solaris iconv.
31869         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
31870         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
31871
31872 2009-12-31  Bruno Haible  <bruno@clisp.org>
31873
31874         * tests/test-signal.c (main): Remove test of 'SIG'.
31875
31876 2009-12-31  Bruno Haible  <bruno@clisp.org>
31877
31878         spawn: Fix incomplete fix.
31879         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31880         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31881         warnings for GNULIB_POSIXCHECK again.
31882         Reported by Eric Blake.
31883
31884 2009-12-31  Bruno Haible  <bruno@clisp.org>
31885
31886         Avoid namespace pollution on glibc systems.
31887         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
31888         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
31889         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
31890         glibc systems.
31891
31892 2009-12-31  Bruno Haible  <bruno@clisp.org>
31893
31894         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
31895         (gl_REPLACE_WCHAR_H): Turn into a no-op.
31896         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
31897         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
31898         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
31899         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
31900         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
31901
31902 2009-12-31  Bruno Haible  <bruno@clisp.org>
31903
31904         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31905         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
31906         afterwards.
31907
31908 2009-12-31  Bruno Haible  <bruno@clisp.org>
31909
31910         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
31911         SYS_UTSNAME_H.
31912
31913 2009-12-31  Bruno Haible  <bruno@clisp.org>
31914
31915         spawn: Fix misapplied patch.
31916         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31917         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31918         warnings for GNULIB_POSIXCHECK.
31919
31920 2009-12-31  Bruno Haible  <bruno@clisp.org>
31921
31922         times: Update after sys_times changed.
31923         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
31924         * modules/times (Files): Add it.
31925         (configure.ac): Invoke gl_FUNC_TIMES.
31926
31927 2009-12-31  Bruno Haible  <bruno@clisp.org>
31928
31929         Use AC_C_INLINE where necessary.
31930         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
31931         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31932         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
31933         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
31934         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31935         * m4/mbiter.m4 (gl_MBITER): Likewise.
31936         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31937         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31938         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
31939         * modules/u64 (configure.ac): Likewise.
31940
31941 2009-12-31  Bruno Haible  <bruno@clisp.org>
31942
31943         Use AC_C_INLINE instead of module 'inline' where possible.
31944         * modules/inline (Description): Clarify purpose.
31945         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
31946         * modules/count-one-bits (Depends-on): Remove inline.
31947         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
31948         * modules/openat (Depends-on): Remove inline.
31949         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
31950         instead of depending on module 'inline'.
31951         * modules/filevercmp (Depends-on, configure.ac): Likewise.
31952         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
31953         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
31954         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
31955         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
31956         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
31957         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
31958         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
31959         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
31960         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
31961         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
31962         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
31963         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
31964         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
31965         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
31966         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
31967         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
31968         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
31969         Likewise.
31970         * modules/unictype/property-ascii-hex-digit (Depends-on,
31971         configure.ac): Likewise.
31972         * modules/unictype/property-bidi-arabic-digit (Depends-on,
31973         configure.ac): Likewise.
31974         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
31975         configure.ac): Likewise.
31976         * modules/unictype/property-bidi-block-separator (Depends-on,
31977         configure.ac): Likewise.
31978         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
31979         configure.ac): Likewise.
31980         * modules/unictype/property-bidi-common-separator (Depends-on,
31981         configure.ac): Likewise.
31982         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
31983         Likewise.
31984         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
31985         configure.ac): Likewise.
31986         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
31987         configure.ac): Likewise.
31988         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
31989         configure.ac): Likewise.
31990         * modules/unictype/property-bidi-european-digit (Depends-on,
31991         configure.ac): Likewise.
31992         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
31993         configure.ac): Likewise.
31994         * modules/unictype/property-bidi-left-to-right (Depends-on,
31995         configure.ac): Likewise.
31996         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
31997         configure.ac): Likewise.
31998         * modules/unictype/property-bidi-other-neutral (Depends-on,
31999         configure.ac): Likewise.
32000         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
32001         Likewise.
32002         * modules/unictype/property-bidi-segment-separator (Depends-on,
32003         configure.ac): Likewise.
32004         * modules/unictype/property-bidi-whitespace (Depends-on,
32005         configure.ac): Likewise.
32006         * modules/unictype/property-combining (Depends-on, configure.ac):
32007         Likewise.
32008         * modules/unictype/property-composite (Depends-on, configure.ac):
32009         Likewise.
32010         * modules/unictype/property-currency-symbol (Depends-on,
32011         configure.ac): Likewise.
32012         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
32013         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
32014         Likewise.
32015         * modules/unictype/property-default-ignorable-code-point (Depends-on,
32016         configure.ac): Likewise.
32017         * modules/unictype/property-deprecated (Depends-on, configure.ac):
32018         Likewise.
32019         * modules/unictype/property-diacritic (Depends-on, configure.ac):
32020         Likewise.
32021         * modules/unictype/property-extender (Depends-on, configure.ac):
32022         Likewise.
32023         * modules/unictype/property-format-control (Depends-on, configure.ac):
32024         Likewise.
32025         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
32026         Likewise.
32027         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
32028         Likewise.
32029         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
32030         Likewise.
32031         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
32032         Likewise.
32033         * modules/unictype/property-hyphen (Depends-on, configure.ac):
32034         Likewise.
32035         * modules/unictype/property-id-continue (Depends-on, configure.ac):
32036         Likewise.
32037         * modules/unictype/property-id-start (Depends-on, configure.ac):
32038         Likewise.
32039         * modules/unictype/property-ideographic (Depends-on, configure.ac):
32040         Likewise.
32041         * modules/unictype/property-ids-binary-operator (Depends-on,
32042         configure.ac): Likewise.
32043         * modules/unictype/property-ids-trinary-operator (Depends-on,
32044         configure.ac): Likewise.
32045         * modules/unictype/property-ignorable-control (Depends-on,
32046         configure.ac): Likewise.
32047         * modules/unictype/property-iso-control (Depends-on, configure.ac):
32048         Likewise.
32049         * modules/unictype/property-join-control (Depends-on, configure.ac):
32050         Likewise.
32051         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
32052         Likewise.
32053         * modules/unictype/property-line-separator (Depends-on, configure.ac):
32054         Likewise.
32055         * modules/unictype/property-logical-order-exception (Depends-on,
32056         configure.ac): Likewise.
32057         * modules/unictype/property-lowercase (Depends-on, configure.ac):
32058         Likewise.
32059         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
32060         * modules/unictype/property-non-break (Depends-on, configure.ac):
32061         Likewise.
32062         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
32063         Likewise.
32064         * modules/unictype/property-numeric (Depends-on, configure.ac):
32065         Likewise.
32066         * modules/unictype/property-other-alphabetic (Depends-on,
32067         configure.ac): Likewise.
32068         * modules/unictype/property-other-default-ignorable-code-point
32069         (Depends-on, configure.ac): Likewise.
32070         * modules/unictype/property-other-grapheme-extend (Depends-on,
32071         configure.ac): Likewise.
32072         * modules/unictype/property-other-id-continue (Depends-on,
32073         configure.ac): Likewise.
32074         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
32075         Likewise.
32076         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
32077         Likewise.
32078         * modules/unictype/property-other-math (Depends-on, configure.ac):
32079         Likewise.
32080         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
32081         Likewise.
32082         * modules/unictype/property-paired-punctuation (Depends-on,
32083         configure.ac): Likewise.
32084         * modules/unictype/property-paragraph-separator (Depends-on,
32085         configure.ac): Likewise.
32086         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
32087         Likewise.
32088         * modules/unictype/property-pattern-white-space (Depends-on,
32089         configure.ac): Likewise.
32090         * modules/unictype/property-private-use (Depends-on, configure.ac):
32091         Likewise.
32092         * modules/unictype/property-punctuation (Depends-on, configure.ac):
32093         Likewise.
32094         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
32095         Likewise.
32096         * modules/unictype/property-radical (Depends-on, configure.ac):
32097         Likewise.
32098         * modules/unictype/property-sentence-terminal (Depends-on,
32099         configure.ac): Likewise.
32100         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
32101         Likewise.
32102         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
32103         * modules/unictype/property-terminal-punctuation (Depends-on,
32104         configure.ac): Likewise.
32105         * modules/unictype/property-titlecase (Depends-on, configure.ac):
32106         Likewise.
32107         * modules/unictype/property-unassigned-code-value (Depends-on,
32108         configure.ac): Likewise.
32109         * modules/unictype/property-unified-ideograph (Depends-on,
32110         configure.ac): Likewise.
32111         * modules/unictype/property-uppercase (Depends-on, configure.ac):
32112         Likewise.
32113         * modules/unictype/property-variation-selector (Depends-on,
32114         configure.ac): Likewise.
32115         * modules/unictype/property-white-space (Depends-on, configure.ac):
32116         Likewise.
32117         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
32118         Likewise.
32119         * modules/unictype/property-xid-start (Depends-on, configure.ac):
32120         Likewise.
32121         * modules/unictype/property-zero-width (Depends-on, configure.ac):
32122         Likewise.
32123         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
32124         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
32125         Likewise.
32126
32127 2009-12-31  Bruno Haible  <bruno@clisp.org>
32128
32129         Remove unnecessary AC_C_INLINE invocation.
32130         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
32131         since 2009-08-21.
32132
32133 2009-12-31  Jim Meyering  <meyering@redhat.com>
32134
32135         maint.mk: don't require explicit gpg_key_ID in cfg.mk
32136         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
32137         With this change, we can all remove the gpg_key_ID = ... definition
32138         from our respective cfg.mk files.
32139
32140         maint.mk: create announcement template in ~/, not in /tmp
32141         * top/maint.mk (emit_upload_commands): Adjust.
32142         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
32143         Remove temporary file, .ci-msg.
32144
32145 2009-12-31  Eric Blake  <ebb9@byu.net>
32146
32147         link-warning: always build headers with link warnings
32148         * modules/arpa_inet (Makefile.am): Always build replacement
32149         header.
32150         * modules/ctype (Makefile.am): Likewise.
32151         * modules/dirent (Makefile.am): Likewise.
32152         * modules/inttypes (Makefile.am): Likewise.
32153         * modules/langinfo (Makefile.am): Likewise.
32154         * modules/locale (Makefile.am): Likewise.
32155         * modules/spawn (Makefile.am): Likewise.
32156         * modules/sys_file (Makefile.am): Likewise.
32157         * modules/sys_ioctl (Makefile.am): Likewise.
32158         * modules/sys_select (Makefile.am): Likewise.
32159         * modules/sys_socket (Makefile.am): Likewise.
32160         * modules/sys_times (Makefile.am): Likewise.
32161         * modules/sys_utsname (Makefile.am): Likewise.
32162         * modules/sys_wait (Makefile.am): Likewise.
32163         * modules/wchar (Makefile.am): Likewise.
32164         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
32165         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
32166         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
32167         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
32168         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
32169         Likewise.
32170         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32171         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32172         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
32173         Likewise.
32174         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
32175         Likewise.
32176         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
32177         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
32178         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
32179         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32180         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32181         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32182         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32183         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
32184         (gl_WCHAR_H_DEFAULTS): Likewise.
32185
32186 2009-12-31  Eric Blake  <ebb9@byu.net>
32187
32188         signal, spawn: use link warnings
32189         * lib/signal.in.h (sigset_t): Make unconditional.
32190         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
32191         (sigpending, sigprocmask, sigaction): Add link warnings.
32192         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
32193         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
32194         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
32195         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
32196         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
32197         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
32198         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
32199         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
32200         (posix_spawn_file_actions_destroy)
32201         (posix_spawn_file_actions_addopen)
32202         (posix_spawn_file_actions_addclose)
32203         (posix_spawn_file_actions_adddup2): Likewise.
32204         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
32205         * tests/test-signal.c (main): Enhance test.
32206
32207         spawn: improve wrapper support
32208         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
32209         (gl_SPAWN_H_DEFAULTS): New defaults.
32210         * modules/spawn (Makefile.am): Substitute them.
32211         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
32212         Only declare if missing or broken.
32213
32214         sys_times, sys_utsname: use include_next
32215         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
32216         header.
32217         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
32218         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32219         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32220         * modules/sys_times (Depends-on): Add include_next.
32221         (Makefile.am): Substitute additional values.
32222         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32223         * lib/sys_times.in.h (includes): Include native header, if
32224         available.
32225         * lib/sys_utsname.in.h (includes): Likewise.
32226         * tests/test-sys_times.c (main): Enhance test.
32227
32228         fdutimensat: revert prior patch
32229         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
32230         utimens.h.
32231         Reported by Bruno Haible.
32232
32233 2009-12-30  Eric Blake  <ebb9@byu.net>
32234
32235         sys_wait: drop link-warning dependency
32236         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
32237         link-warning efforts.
32238         * lib/sys_wait.in.h: Likewise.
32239
32240         fdutimensat: remove bogus dependency
32241         * modules/fdutimensat (Depends-on): Drop inline.
32242
32243         unistd: fix typo
32244         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
32245
32246 2009-12-30  Bruno Haible  <bruno@clisp.org>
32247
32248         Fix compilation error with Solaris cc.
32249         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
32250         * lib/unicase/u16-is-invariant.c: Likewise.
32251         * lib/unicase/u32-is-invariant.c: Likewise.
32252         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
32253
32254 2009-12-30  Bruno Haible  <bruno@clisp.org>
32255
32256         Fix test crash.
32257         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
32258         locales.
32259         Reported by Simon Josefsson <simon@josefsson.org>.
32260
32261 2009-12-30  Bruno Haible  <bruno@clisp.org>
32262
32263         Fix compilation error on most platforms.
32264         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
32265         Reported by Simon Josefsson <simon@josefsson.org>
32266         and Nelson H. F. Beebe <beebe@math.utah.edu>.
32267
32268 2009-12-30  Eric Blake  <ebb9@byu.net>
32269
32270         futimens, utimensat: work around ntfs-3g bug
32271         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
32272         a ctime bug is present, and expand workaround to cover ntfs-3g.
32273         * lib/utimens.c (fdutimens, lutimens): Likewise.
32274         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
32275         (validate_timespec): Adjust return value.
32276         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
32277         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
32278         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
32279
32280 2009-12-29  Eric Blake  <ebb9@byu.net>
32281
32282         link-warning: make usage consistent
32283         * modules/ctype (Depends-on): Add link-warning.
32284         (Makefile.am): Update rules accordingly.
32285         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32286         * modules/locale (Depends-on, Makefile.am): Likewise.
32287         * modules/sys_file (Makefile.am): Likewise.
32288         * modules/getopt-posix (Makefile.am): Delete unused link warning
32289         efforts.
32290         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
32291         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
32292         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
32293         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
32294
32295         stdio: remove unused variables
32296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
32297         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
32298         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
32299
32300         tests: test more substitute headers
32301         * modules/ctype-tests: New file.
32302         * modules/dirent-tests: Likewise.
32303         * modules/spawn-tests: Likewise.
32304         * modules/sys_file-tests: Likewise.
32305         * modules/sys_ioctl-tests: Likewise.
32306         * modules/sys_wait-tests: Likewise.
32307         * tests/test-ctype.c: Likewise.
32308         * tests/test-dirent.c: Likewise.
32309         * tests/test-spawn.c: Likewise.
32310         * tests/test-sys_file.c: Likewise.
32311         * tests/test-sys_ioctl.c: Likewise.
32312         * tests/test-sys_wait.c: Likewise.
32313         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
32314         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
32315         whether or not flock is in use.
32316
32317         tests: remove License section from module
32318         * modules/arpa_inet-tests: Remove unneeded section.
32319         * modules/byteswap-tests: Likewise.
32320         * modules/ceilf-tests: Likewise.
32321         * modules/ceill-tests: Likewise.
32322         * modules/crypto/des-tests: Likewise.
32323         * modules/crypto/gc-arcfour-tests: Likewise.
32324         * modules/crypto/gc-arctwo-tests: Likewise.
32325         * modules/crypto/gc-des-tests: Likewise.
32326         * modules/crypto/gc-hmac-md5-tests: Likewise.
32327         * modules/crypto/gc-hmac-sha1-tests: Likewise.
32328         * modules/crypto/gc-md2-tests: Likewise.
32329         * modules/crypto/gc-md4-tests: Likewise.
32330         * modules/crypto/gc-md5-tests: Likewise.
32331         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
32332         * modules/crypto/gc-rijndael-tests: Likewise.
32333         * modules/crypto/gc-sha1-tests: Likewise.
32334         * modules/crypto/gc-tests: Likewise.
32335         * modules/crypto/md2-tests: Likewise.
32336         * modules/crypto/md4-tests: Likewise.
32337         * modules/fcntl-h-tests: Likewise.
32338         * modules/floorf-tests: Likewise.
32339         * modules/floorl-tests: Likewise.
32340         * modules/frexp-nolibm-tests: Likewise.
32341         * modules/frexp-tests: Likewise.
32342         * modules/frexpl-nolibm-tests: Likewise.
32343         * modules/frexpl-tests: Likewise.
32344         * modules/getaddrinfo-tests: Likewise.
32345         * modules/inttypes-tests: Likewise.
32346         * modules/isfinite-tests: Likewise.
32347         * modules/isinf-tests: Likewise.
32348         * modules/ldexpl-tests: Likewise.
32349         * modules/locale-tests: Likewise.
32350         * modules/math-tests: Likewise.
32351         * modules/netdb-tests: Likewise.
32352         * modules/netinet_in-tests: Likewise.
32353         * modules/printf-frexp-tests: Likewise.
32354         * modules/printf-frexpl-tests: Likewise.
32355         * modules/priv-set-tests: Likewise.
32356         * modules/random_r-tests: Likewise.
32357         * modules/round-tests: Likewise.
32358         * modules/roundf-tests: Likewise.
32359         * modules/roundl-tests: Likewise.
32360         * modules/search-tests: Likewise.
32361         * modules/select-tests: Likewise.
32362         * modules/signal-tests: Likewise.
32363         * modules/stdbool-tests: Likewise.
32364         * modules/stddef-tests: Likewise.
32365         * modules/stdint-tests: Likewise.
32366         * modules/stdio-tests: Likewise.
32367         * modules/stdlib-tests: Likewise.
32368         * modules/string-tests: Likewise.
32369         * modules/strings-tests: Likewise.
32370         * modules/sys_select-tests: Likewise.
32371         * modules/sys_socket-tests: Likewise.
32372         * modules/sys_stat-tests: Likewise.
32373         * modules/sys_time-tests: Likewise.
32374         * modules/sys_utsname-tests: Likewise.
32375         * modules/sysexits-tests: Likewise.
32376         * modules/time-tests: Likewise.
32377         * modules/trunc-tests: Likewise.
32378         * modules/truncf-tests: Likewise.
32379         * modules/truncl-tests: Likewise.
32380         * modules/tsearch-tests: Likewise.
32381         * modules/unistd-tests: Likewise.
32382         * modules/wchar-tests: Likewise.
32383         * modules/wctype-tests: Likewise.
32384
32385         tests: fix license on several tests
32386         * tests/test-des.c: Update to GPLv3+.
32387         * tests/test-flock.c: Likewise.
32388         * tests/test-fsync.c: Likewise.
32389         * tests/test-futimens.h: Likewise.
32390         * tests/test-gc-arcfour.c: Likewise.
32391         * tests/test-gc-arctwo.c: Likewise.
32392         * tests/test-gc-des.c: Likewise.
32393         * tests/test-gc-hmac-md5.c: Likewise.
32394         * tests/test-gc-hmac-sha1.c: Likewise.
32395         * tests/test-gc-md2.c: Likewise.
32396         * tests/test-gc-md4.c: Likewise.
32397         * tests/test-gc-md5.c: Likewise.
32398         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32399         * tests/test-gc-rijndael.c: Likewise.
32400         * tests/test-gc-sha1.c: Likewise.
32401         * tests/test-gc.c: Likewise.
32402         * tests/test-getcwd.c: Likewise.
32403         * tests/test-link.c: Likewise.
32404         * tests/test-link.h: Likewise.
32405         * tests/test-lutimens.h: Likewise.
32406         * tests/test-md2.c: Likewise.
32407         * tests/test-md4.c: Likewise.
32408         * tests/test-mkdir.h: Likewise.
32409         * tests/test-rename.c: Likewise.
32410         * tests/test-rename.h: Likewise.
32411         * tests/test-safe-alloc.c: Likewise.
32412         * tests/test-utimens-common.h: Likewise.
32413         * tests/test-utimens.h: Likewise.
32414
32415         maint: sync license texts
32416         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
32417         * doc/gpl-3.0.texi: Revert copyright year update.
32418         * doc/lgpl-3.0.texi: Likewise.
32419
32420 2009-12-29  Jim Meyering  <meyering@redhat.com>
32421
32422         update nearly all FSF copyright year lists to include 2009
32423         The files named by the following are exempted:
32424             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
32425               test -f "$dst" && { echo "$dst"; continue; }
32426               test -d "$dst" || continue
32427               echo "$dst"/$(basename "$src")
32428             done > exempt
32429             git ls-files tests/unictype >> exempt
32430         In the remaining files, convert to all-interval notation if
32431         - there is already at least one year interval like 2000-2003
32432         - the file is maintained by me
32433         - the file is in lib/uni*/, where that style already prevails
32434         Otherwise, use update-copyright's default.
32435
32436 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32437         and Eric Blake  <ebb9@byu.net>
32438
32439         tests: don't require debug system() to pass
32440         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
32441         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32442         * tests/test-unlink.h (test_unlink_func): Likewise.
32443         * tests/test-fstatat.c (main): ...into callers.
32444         * tests/test-lstat.c (main): Likewise.
32445         * tests/test-rmdir.c (main): Likewise.
32446         * tests/test-unlink.c (main): Likewise.
32447         * tests/test-unlinkat.c (main): Likewise.
32448         * tests/test-areadlink-with-size.c (main): Don't require a
32449         debug-only system call to pass, aiding cross-testing to mingw.
32450         * tests/test-areadlink.c (main): Likewise.
32451         * tests/test-areadlinkat-with-size.c (main): Likewise.
32452         * tests/test-areadlinkat.c (main): Likewise.
32453         * tests/test-canonicalize-lgpl.c (main): Likewise.
32454         * tests/test-canonicalize.c (main): Likewise.
32455         * tests/test-chown.c (main): Likewise.
32456         * tests/test-fchownat.c (main): Likewise.
32457         * tests/test-lchown.c (main): Likewise.
32458         * tests/test-fdutimensat.c (main): Likewise.
32459         * tests/test-futimens.c (main): Likewise.
32460         * tests/test-link.c (main): Likewise.
32461         * tests/test-linkat.c (main): Likewise.
32462         * tests/test-mkdir.c (main): Likewise.
32463         * tests/test-mkdirat.c (main): Likewise.
32464         * tests/test-mkfifo.c (main): Likewise.
32465         * tests/test-mkfifoat.c (main): Likewise.
32466         * tests/test-mknod.c (main): Likewise.
32467         * tests/test-readlink.c (main): Likewise.
32468         * tests/test-remove.c (main): Likewise.
32469         * tests/test-rename.c (main): Likewise.
32470         * tests/test-renameat.c (main): Likewise.
32471         * tests/test-symlink.c (main): Likewise.
32472         * tests/test-symlinkat.c (main): Likewise.
32473         * tests/test-utimens.c (main): Likewise.
32474         * tests/test-utimensat.c (main): Likewise.
32475
32476 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32477
32478         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
32479         on $(UNUSED_PARAMETER_H) to avoid build failure.
32480
32481 2009-12-28  Jim Meyering  <meyering@redhat.com>
32482
32483         update-copyright: you may specify a max. line length other than 72
32484         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32485
32486         maint: use consistent FSF copyright line syntax
32487         * lib/posixtm.c: Add missing comma in FSF copyright line.
32488         * lib/posixtm.h: Likewise.
32489         * lib/getugroups.c: Add missing ", Inc.".
32490
32491         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
32492         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
32493         FSF copyright line.  Remove trailing blanks.
32494
32495 2009-12-28  Eric Blake  <ebb9@byu.net>
32496
32497         test-dup2: reduce dependencies
32498         * modules/cloexec (Configure.ac): Set witness.
32499         * modules/dup2-tests (Depends-on): Drop cloexec.
32500         * tests/test-dup2.c (main): Skip portion of test if cloexec module
32501         not present.
32502         Suggested by Bruno Haible.
32503
32504 2009-12-26  Bruno Haible  <bruno@clisp.org>
32505
32506         Remove an unneeded dependency.
32507         * modules/fseterr (Depends-on): Remove dup2.
32508
32509 2009-12-26  Eric Blake  <ebb9@byu.net>
32510
32511         tests: use macros.h in more places
32512         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
32513         (ASSERT_STREAM): Provide default of stderr.
32514         * tests/test-dirent-safer.c: Include macros.h, using alternate
32515         stream for assertions.
32516         * tests/test-dup-safer.c: Likewise.
32517         * tests/test-freopen-safer.c: Likewise.
32518         * tests/test-getopt.c: Likewise.
32519         * tests/test-openat-safer.c: Likewise.
32520         * tests/test-pipe.c: Likewise.
32521         * tests/test-popen-safer.c: Likewise.
32522         * modules/dirent-safer-tests (Files): Include macros.h.
32523         * modules/unistd-safer-tests (Files): Likewise.
32524         * modules/freopen-safer-tests (Files): Likewise.
32525         * modules/getopt-posix-tests (Files): Likewise.
32526         * modules/openat-safer-tests (Files): Likewise.
32527         * modules/pipe-tests (Files): Likewise.
32528
32529 2009-12-26  Bruno Haible  <bruno@clisp.org>
32530
32531         javacomp: Portability fix.
32532         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
32533         that it also works on Solaris.
32534
32535 2009-12-26  Bruno Haible  <bruno@clisp.org>
32536
32537         localename: Fix storage allocation of gl_locale_name_thread's result.
32538         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
32539         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
32540         all platforms that have 'uselocale'.
32541         (gl_locale_name_thread_unsafe): New function, extracted from
32542         gl_locale_name_thread.
32543         (gl_locale_name_thread): Call struniq on all platforms that have
32544         'uselocale'.
32545         * tests/test-localename.c (test_locale_name_thread): Check that the
32546         resulting strings are permanently allocated.
32547         * modules/localename-tests (Depends-on): Add strdup.
32548
32549 2009-12-26  Bruno Haible  <bruno@clisp.org>
32550
32551         * tests/test-localename.c (categories): Fill in the strings.
32552
32553 2009-12-26  Jim Meyering  <meyering@redhat.com>
32554
32555         isdir: complete the removal of m4/isdir.m4
32556         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
32557
32558         isdir: clean up, since at least grep still uses it
32559         * lib/isdir.c: Include "isdir.h".
32560         (S_ISDIR): Remove now-unneeded definition.
32561         * modules/isdir (Files): Add lib/isdir.h.
32562         * lib/isdir.h: New file, with declaration.
32563         * m4/isdir.m4: Remove file -- unneeded.
32564
32565 2009-12-25  Bruno Haible  <bruno@clisp.org>
32566
32567         selinux-h: Make generated .h files standalone.
32568         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
32569         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
32570         * lib/se-selinux.in.h: Likewise.
32571         * modules/selinux-h (Depends-on): Add unused-parameter.
32572         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
32573         selinux/selinux.h and selinux/context.h.
32574         Suggested by Eric Blake.
32575
32576 2009-12-25  Bruno Haible  <bruno@clisp.org>
32577
32578         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
32579         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
32580         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
32581         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
32582         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
32583
32584 2009-12-24  Bruno Haible  <bruno@clisp.org>
32585
32586         openat: Fix warning.
32587         * lib/openat-proc.c: Include <unistd.h>.
32588
32589 2009-12-24  Bruno Haible  <bruno@clisp.org>
32590
32591         New module 'unused-parameter'.
32592         * build-aux/unused-parameter.h: New file, extracted from earlier
32593         gnulib-common.m4.
32594         * modules/unused-parameter: New file.
32595         * lib/unistr.h: Include unused-parameter.h.
32596         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
32597         _GL_UNUSED.
32598         * modules/unistr/base (Depends-on): Add unused-parameter.
32599
32600 2009-12-24  Bruno Haible  <bruno@clisp.org>
32601
32602         Add missing dependencies to 'extensions' module.
32603         * m4/extensions.m4: Add comment.
32604         * modules/accept4 (Depends-on): Add extensions.
32605         * modules/dup3 (Depends-on): Likewise.
32606         * modules/fcntl (Depends-on): Likewise.
32607         * modules/futimens (Depends-on): Likewise.
32608         * modules/mknod (Depends-on): Likewise.
32609         * modules/pipe2 (Depends-on): Likewise.
32610         * modules/stat-time (Depends-on): Likewise.
32611         * modules/strcasestr-simple (Depends-on): Likewise.
32612         * modules/strsignal (Depends-on): Likewise.
32613         * modules/utimensat (Depends-on): Likewise.
32614         * modules/localcharset (Depends-on): Likewise. Needed because of
32615         gl_FCNTL_O_FLAGS.
32616         * modules/wcrtomb (Depends-on): Likewise. Needed because of
32617         AC_TYPE_MBSTATE_T.
32618         * modules/wcsnrtombs (Depends-on): Likewise.
32619         * modules/wcsrtombs (Depends-on): Likewise.
32620
32621 2009-12-24  Bruno Haible  <bruno@clisp.org>
32622
32623         binary-io: Avoid gcc warning due to SET_BINARY.
32624         * lib/binary-io.h (SET_BINARY): Cast the result to void.
32625         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
32626
32627 2009-12-24  Bruno Haible  <bruno@clisp.org>
32628
32629         Avoid future namespace pollution on glibc systems.
32630         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
32631         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
32632         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
32633         glibc systems.
32634
32635 2009-12-24  Bruno Haible  <bruno@clisp.org>
32636
32637         Refactor common macros used in tests.
32638         * tests/macros.h: New file.
32639         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
32640         and/or <stdlib.h>, if appropriate.
32641         (ASSERT, SIZEOF): Remove macros.
32642         * tests/test-areadlink-with-size.c: Likewise.
32643         * tests/test-areadlinkat.c: Likewise.
32644         * tests/test-areadlinkat-with-size.c: Likewise.
32645         * tests/test-argmatch.c: Likewise.
32646         * tests/test-argv-iter.c: Likewise.
32647         * tests/test-array-mergesort.c: Likewise.
32648         * tests/test-array_list.c: Likewise.
32649         * tests/test-array_oset.c: Likewise.
32650         * tests/test-avltree_list.c: Likewise.
32651         * tests/test-avltree_oset.c: Likewise.
32652         * tests/test-avltreehash_list.c: Likewise.
32653         * tests/test-base64.c: Likewise.
32654         * tests/test-binary-io.c: Likewise.
32655         * tests/test-bitrotate.c: Likewise.
32656         * tests/test-btowc.c: Likewise.
32657         * tests/test-byteswap.c: Likewise.
32658         * tests/test-c-ctype.c: Likewise.
32659         * tests/test-c-stack.c: Likewise.
32660         * tests/test-c-strcasecmp.c: Likewise.
32661         * tests/test-c-strcasestr.c: Likewise.
32662         * tests/test-c-strncasecmp.c: Likewise.
32663         * tests/test-c-strstr.c: Likewise.
32664         * tests/test-canonicalize-lgpl.c: Likewise.
32665         * tests/test-canonicalize.c: Likewise.
32666         * tests/test-carray_list.c: Likewise.
32667         * tests/test-ceilf1.c: Likewise.
32668         * tests/test-ceilf2.c: Likewise.
32669         * tests/test-ceill.c: Likewise.
32670         * tests/test-chown.c: Likewise.
32671         * tests/test-cloexec.c: Likewise.
32672         * tests/test-copy-acl.c: Likewise.
32673         * tests/test-copy-file.c: Likewise.
32674         * tests/test-count-one-bits.c: Likewise.
32675         * tests/test-dprintf-posix.c: Likewise.
32676         * tests/test-dup2.c: Likewise.
32677         * tests/test-dup3.c: Likewise.
32678         * tests/test-duplocale.c: Likewise.
32679         * tests/test-fbufmode.c: Likewise.
32680         * tests/test-fchdir.c: Likewise.
32681         * tests/test-fchownat.c: Likewise.
32682         * tests/test-fcntl-safer.c: Likewise.
32683         * tests/test-fcntl.c: Likewise.
32684         * tests/test-fdopendir.c: Likewise.
32685         * tests/test-fdutimensat.c: Likewise.
32686         * tests/test-fflush2.c: Likewise.
32687         * tests/test-file-has-acl.c: Likewise.
32688         * tests/test-filevercmp.c: Likewise.
32689         * tests/test-flock.c: Likewise.
32690         * tests/test-floorf1.c: Likewise.
32691         * tests/test-floorf2.c: Likewise.
32692         * tests/test-floorl.c: Likewise.
32693         * tests/test-fnmatch.c: Likewise.
32694         * tests/test-fopen.h: Likewise.
32695         * tests/test-fpending.c: Likewise.
32696         * tests/test-fprintf-posix.c: Likewise.
32697         * tests/test-fpurge.c: Likewise.
32698         * tests/test-freadable.c: Likewise.
32699         * tests/test-freadahead.c: Likewise.
32700         * tests/test-freading.c: Likewise.
32701         * tests/test-freadptr.c: Likewise.
32702         * tests/test-freadptr2.c: Likewise.
32703         * tests/test-freadseek.c: Likewise.
32704         * tests/test-freopen.c: Likewise.
32705         * tests/test-frexp.c: Likewise.
32706         * tests/test-frexpl.c: Likewise.
32707         * tests/test-fseek.c: Likewise.
32708         * tests/test-fseeko.c: Likewise.
32709         * tests/test-fstatat.c: Likewise.
32710         * tests/test-fstrcmp.c: Likewise.
32711         * tests/test-fsync.c: Likewise.
32712         * tests/test-ftell.c: Likewise.
32713         * tests/test-ftello.c: Likewise.
32714         * tests/test-func.c: Likewise.
32715         * tests/test-futimens.c: Likewise.
32716         * tests/test-fwritable.c: Likewise.
32717         * tests/test-fwriting.c: Likewise.
32718         * tests/test-getcwd.c: Likewise.
32719         * tests/test-getdate.c: Likewise.
32720         * tests/test-getdelim.c: Likewise.
32721         * tests/test-getdtablesize.c: Likewise.
32722         * tests/test-getgroups.c: Likewise.
32723         * tests/test-getline.c: Likewise.
32724         * tests/test-getndelim2.c: Likewise.
32725         * tests/test-glob.c: Likewise.
32726         * tests/test-hash.c: Likewise.
32727         * tests/test-i-ring.c: Likewise.
32728         * tests/test-iconv-utf.c: Likewise.
32729         * tests/test-iconv.c: Likewise.
32730         * tests/test-idpriv-drop.c: Likewise.
32731         * tests/test-idpriv-droptemp.c: Likewise.
32732         * tests/test-inet_ntop.c: Likewise.
32733         * tests/test-inet_pton.c: Likewise.
32734         * tests/test-isblank.c: Likewise.
32735         * tests/test-isfinite.c: Likewise.
32736         * tests/test-isinf.c: Likewise.
32737         * tests/test-isnan.c: Likewise.
32738         * tests/test-isnand.h: Likewise.
32739         * tests/test-isnanf.h: Likewise.
32740         * tests/test-isnanl.h: Likewise.
32741         * tests/test-lchown.c: Likewise.
32742         * tests/test-ldexpl.c: Likewise.
32743         * tests/test-link.c: Likewise.
32744         * tests/test-linkat.c: Likewise.
32745         * tests/test-linked_list.c: Likewise.
32746         * tests/test-linkedhash_list.c: Likewise.
32747         * tests/test-localename.c: Likewise.
32748         * tests/test-lseek.c: Likewise.
32749         * tests/test-lstat.c: Likewise.
32750         * tests/test-mbmemcasecmp.c: Likewise.
32751         * tests/test-mbmemcasecoll.c: Likewise.
32752         * tests/test-mbrtowc.c: Likewise.
32753         * tests/test-mbscasecmp.c: Likewise.
32754         * tests/test-mbscasestr1.c: Likewise.
32755         * tests/test-mbscasestr2.c: Likewise.
32756         * tests/test-mbscasestr3.c: Likewise.
32757         * tests/test-mbscasestr4.c: Likewise.
32758         * tests/test-mbschr.c: Likewise.
32759         * tests/test-mbscspn.c: Likewise.
32760         * tests/test-mbsinit.c: Likewise.
32761         * tests/test-mbsncasecmp.c: Likewise.
32762         * tests/test-mbsnrtowcs.c: Likewise.
32763         * tests/test-mbspbrk.c: Likewise.
32764         * tests/test-mbspcasecmp.c: Likewise.
32765         * tests/test-mbsrchr.c: Likewise.
32766         * tests/test-mbsrtowcs.c: Likewise.
32767         * tests/test-mbsspn.c: Likewise.
32768         * tests/test-mbsstr1.c: Likewise.
32769         * tests/test-mbsstr2.c: Likewise.
32770         * tests/test-mbsstr3.c: Likewise.
32771         * tests/test-memchr.c: Likewise.
32772         * tests/test-memchr2.c: Likewise.
32773         * tests/test-memcmp.c: Likewise.
32774         * tests/test-memmem.c: Likewise.
32775         * tests/test-memrchr.c: Likewise.
32776         * tests/test-mkdir.c: Likewise.
32777         * tests/test-mkdirat.c: Likewise.
32778         * tests/test-mkfifo.c: Likewise.
32779         * tests/test-mkfifoat.c: Likewise.
32780         * tests/test-mknod.c: Likewise.
32781         * tests/test-nanosleep.c: Likewise.
32782         * tests/test-nl_langinfo.c: Likewise.
32783         * tests/test-obstack-printf.c: Likewise.
32784         * tests/test-open.c: Likewise.
32785         * tests/test-openat.c: Likewise.
32786         * tests/test-pipe-filter-gi1.c: Likewise.
32787         * tests/test-pipe-filter-gi2-main.c: Likewise.
32788         * tests/test-pipe-filter-ii1.c: Likewise.
32789         * tests/test-pipe-filter-ii2-main.c: Likewise.
32790         * tests/test-pipe2.c: Likewise.
32791         * tests/test-popen.h: Likewise.
32792         * tests/test-posixtm.c: Likewise.
32793         * tests/test-pread.c: Likewise.
32794         * tests/test-printf-frexp.c: Likewise.
32795         * tests/test-printf-frexpl.c: Likewise.
32796         * tests/test-printf-posix.c: Likewise.
32797         * tests/test-priv-set.c: Likewise.
32798         * tests/test-quotearg.c: Likewise.
32799         * tests/test-random_r.c: Likewise.
32800         * tests/test-rawmemchr.c: Likewise.
32801         * tests/test-rbtree_list.c: Likewise.
32802         * tests/test-rbtree_oset.c: Likewise.
32803         * tests/test-rbtreehash_list.c: Likewise.
32804         * tests/test-readlink.c: Likewise.
32805         * tests/test-remove.c: Likewise.
32806         * tests/test-rename.c: Likewise.
32807         * tests/test-renameat.c: Likewise.
32808         * tests/test-rmdir.c: Likewise.
32809         * tests/test-round1.c: Likewise.
32810         * tests/test-roundf1.c: Likewise.
32811         * tests/test-roundl.c: Likewise.
32812         * tests/test-safe-alloc.c: Likewise.
32813         * tests/test-sameacls.c: Likewise.
32814         * tests/test-set-mode-acl.c: Likewise.
32815         * tests/test-setenv.c: Likewise.
32816         * tests/test-sigaction.c: Likewise.
32817         * tests/test-signbit.c: Likewise.
32818         * tests/test-sleep.c: Likewise.
32819         * tests/test-snprintf-posix.c: Likewise.
32820         * tests/test-snprintf.c: Likewise.
32821         * tests/test-sprintf-posix.c: Likewise.
32822         * tests/test-stat-time.c: Likewise.
32823         * tests/test-stat.c: Likewise.
32824         * tests/test-strcasestr.c: Likewise.
32825         * tests/test-strchrnul.c: Likewise.
32826         * tests/test-strerror.c: Likewise.
32827         * tests/test-striconv.c: Likewise.
32828         * tests/test-striconveh.c: Likewise.
32829         * tests/test-striconveha.c: Likewise.
32830         * tests/test-strsignal.c: Likewise.
32831         * tests/test-strstr.c: Likewise.
32832         * tests/test-strtod.c: Likewise.
32833         * tests/test-strverscmp.c: Likewise.
32834         * tests/test-symlink.c: Likewise.
32835         * tests/test-symlinkat.c: Likewise.
32836         * tests/test-trunc1.c: Likewise.
32837         * tests/test-trunc2.c: Likewise.
32838         * tests/test-truncf1.c: Likewise.
32839         * tests/test-truncf2.c: Likewise.
32840         * tests/test-truncl.c: Likewise.
32841         * tests/test-uname.c: Likewise.
32842         * tests/test-unlink.c: Likewise.
32843         * tests/test-unlinkat.c: Likewise.
32844         * tests/test-unsetenv.c: Likewise.
32845         * tests/test-usleep.c: Likewise.
32846         * tests/test-utimens.c: Likewise.
32847         * tests/test-utimensat.c: Likewise.
32848         * tests/test-vasnprintf-posix.c: Likewise.
32849         * tests/test-vasnprintf-posix2.c: Likewise.
32850         * tests/test-vasnprintf.c: Likewise.
32851         * tests/test-vasprintf-posix.c: Likewise.
32852         * tests/test-vasprintf.c: Likewise.
32853         * tests/test-vdprintf-posix.c: Likewise.
32854         * tests/test-vfprintf-posix.c: Likewise.
32855         * tests/test-vprintf-posix.c: Likewise.
32856         * tests/test-vsnprintf-posix.c: Likewise.
32857         * tests/test-vsnprintf.c: Likewise.
32858         * tests/test-vsprintf-posix.c: Likewise.
32859         * tests/test-wcrtomb.c: Likewise.
32860         * tests/test-wcsnrtombs.c: Likewise.
32861         * tests/test-wcsrtombs.c: Likewise.
32862         * tests/test-wctype.c: Likewise.
32863         * tests/test-wcwidth.c: Likewise.
32864         * tests/test-xfprintf-posix.c: Likewise.
32865         * tests/test-xmemdup0.c: Likewise.
32866         * tests/test-xprintf-posix.c: Likewise.
32867         * tests/test-xvasprintf.c: Likewise.
32868         * tests/unicase/test-locale-language.c: Likewise.
32869         * tests/unicase/test-mapping-part1.h: Likewise.
32870         * tests/unicase/test-predicate-part1.h: Likewise.
32871         * tests/unicase/test-u8-casecmp.c: Likewise.
32872         * tests/unicase/test-u8-casecoll.c: Likewise.
32873         * tests/unicase/test-u8-casefold.c: Likewise.
32874         * tests/unicase/test-u8-is-cased.c: Likewise.
32875         * tests/unicase/test-u8-is-casefolded.c: Likewise.
32876         * tests/unicase/test-u8-is-lowercase.c: Likewise.
32877         * tests/unicase/test-u8-is-titlecase.c: Likewise.
32878         * tests/unicase/test-u8-is-uppercase.c: Likewise.
32879         * tests/unicase/test-u8-tolower.c: Likewise.
32880         * tests/unicase/test-u8-totitle.c: Likewise.
32881         * tests/unicase/test-u8-toupper.c: Likewise.
32882         * tests/unicase/test-u16-casecmp.c: Likewise.
32883         * tests/unicase/test-u16-casecoll.c: Likewise.
32884         * tests/unicase/test-u16-casefold.c: Likewise.
32885         * tests/unicase/test-u16-is-cased.c: Likewise.
32886         * tests/unicase/test-u16-is-casefolded.c: Likewise.
32887         * tests/unicase/test-u16-is-lowercase.c: Likewise.
32888         * tests/unicase/test-u16-is-titlecase.c: Likewise.
32889         * tests/unicase/test-u16-is-uppercase.c: Likewise.
32890         * tests/unicase/test-u16-tolower.c: Likewise.
32891         * tests/unicase/test-u16-totitle.c: Likewise.
32892         * tests/unicase/test-u16-toupper.c: Likewise.
32893         * tests/unicase/test-u32-casecmp.c: Likewise.
32894         * tests/unicase/test-u32-casecoll.c: Likewise.
32895         * tests/unicase/test-u32-casefold.c: Likewise.
32896         * tests/unicase/test-u32-is-cased.c: Likewise.
32897         * tests/unicase/test-u32-is-casefolded.c: Likewise.
32898         * tests/unicase/test-u32-is-lowercase.c: Likewise.
32899         * tests/unicase/test-u32-is-titlecase.c: Likewise.
32900         * tests/unicase/test-u32-is-uppercase.c: Likewise.
32901         * tests/unicase/test-u32-tolower.c: Likewise.
32902         * tests/unicase/test-u32-totitle.c: Likewise.
32903         * tests/unicase/test-u32-toupper.c: Likewise.
32904         * tests/unicase/test-ulc-casecmp.c: Likewise.
32905         * tests/unicase/test-ulc-casecoll.c: Likewise.
32906         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32907         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32908         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32909         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32910         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32911         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32912         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32913         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32914         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32915         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32916         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32917         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32918         * tests/unictype/test-bidi_byname.c: Likewise.
32919         * tests/unictype/test-bidi_name.c: Likewise.
32920         * tests/unictype/test-bidi_of.c: Likewise.
32921         * tests/unictype/test-bidi_test.c: Likewise.
32922         * tests/unictype/test-block_list.c: Likewise.
32923         * tests/unictype/test-block_of.c: Likewise.
32924         * tests/unictype/test-block_test.c: Likewise.
32925         * tests/unictype/test-categ_and.c: Likewise.
32926         * tests/unictype/test-categ_and_not.c: Likewise.
32927         * tests/unictype/test-categ_byname.c: Likewise.
32928         * tests/unictype/test-categ_name.c: Likewise.
32929         * tests/unictype/test-categ_none.c: Likewise.
32930         * tests/unictype/test-categ_of.c: Likewise.
32931         * tests/unictype/test-categ_or.c: Likewise.
32932         * tests/unictype/test-categ_test_withtable.c: Likewise.
32933         * tests/unictype/test-combining.c: Likewise.
32934         * tests/unictype/test-decdigit.c: Likewise.
32935         * tests/unictype/test-digit.c: Likewise.
32936         * tests/unictype/test-mirror.c: Likewise.
32937         * tests/unictype/test-numeric.c: Likewise.
32938         * tests/unictype/test-pr_byname.c: Likewise.
32939         * tests/unictype/test-pr_test.c: Likewise.
32940         * tests/unictype/test-predicate-part1.h: Likewise.
32941         * tests/unictype/test-scripts.c: Likewise.
32942         * tests/unictype/test-sy_c_ident.c: Likewise.
32943         * tests/unictype/test-sy_java_ident.c: Likewise.
32944         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
32945         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
32946         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
32947         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
32948         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
32949         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
32950         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
32951         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
32952         * tests/uninorm/test-canonical-decomposition.c: Likewise.
32953         * tests/uninorm/test-compat-decomposition.c: Likewise.
32954         * tests/uninorm/test-composition.c: Likewise.
32955         * tests/uninorm/test-decomposing-form.c: Likewise.
32956         * tests/uninorm/test-decomposition.c: Likewise.
32957         * tests/uninorm/test-u8-nfc.c: Likewise.
32958         * tests/uninorm/test-u8-nfd.c: Likewise.
32959         * tests/uninorm/test-u8-nfkc.c: Likewise.
32960         * tests/uninorm/test-u8-nfkd.c: Likewise.
32961         * tests/uninorm/test-u8-normcmp.c: Likewise.
32962         * tests/uninorm/test-u8-normcoll.c: Likewise.
32963         * tests/uninorm/test-u16-nfc.c: Likewise.
32964         * tests/uninorm/test-u16-nfd.c: Likewise.
32965         * tests/uninorm/test-u16-nfkc.c: Likewise.
32966         * tests/uninorm/test-u16-nfkd.c: Likewise.
32967         * tests/uninorm/test-u16-normcmp.c: Likewise.
32968         * tests/uninorm/test-u16-normcoll.c: Likewise.
32969         * tests/uninorm/test-u32-nfc.c: Likewise.
32970         * tests/uninorm/test-u32-nfd.c: Likewise.
32971         * tests/uninorm/test-u32-nfkc.c: Likewise.
32972         * tests/uninorm/test-u32-nfkd.c: Likewise.
32973         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32974         * tests/uninorm/test-u32-normcmp.c: Likewise.
32975         * tests/uninorm/test-u32-normcoll.c: Likewise.
32976         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
32977         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32978         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32979         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32980         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32981         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32982         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32983         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32984         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32985         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32986         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32987         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32988         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32989         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32990         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32991         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32992         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32993         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32994         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32995         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32996         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32997         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32998         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32999         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
33000         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
33001         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
33002         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
33003         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33004         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33005         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
33006         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
33007         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
33008         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
33009         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33010         * tests/uniwidth/test-u8-width.c: Likewise.
33011         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33012         * tests/uniwidth/test-u16-width.c: Likewise.
33013         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33014         * tests/uniwidth/test-u32-width.c: Likewise.
33015         * tests/uniwidth/test-uc_width.c: Likewise.
33016         * tests/uniwidth/test-uc_width2.c: Likewise.
33017         * modules/acl-tests (Files): Add tests/macros.h.
33018         * modules/areadlink-tests (Files): Likewise.
33019         * modules/areadlink-with-size-tests (Files): Likewise.
33020         * modules/areadlinkat-tests (Files): Likewise.
33021         * modules/areadlinkat-with-size-tests (Files): Likewise.
33022         * modules/argmatch-tests (Files): Likewise.
33023         * modules/argv-iter-tests (Files): Likewise.
33024         * modules/array-list-tests (Files): Likewise.
33025         * modules/array-mergesort-tests (Files): Likewise.
33026         * modules/array-oset-tests (Files): Likewise.
33027         * modules/avltree-list-tests (Files): Likewise.
33028         * modules/avltree-oset-tests (Files): Likewise.
33029         * modules/avltreehash-list-tests (Files): Likewise.
33030         * modules/base64-tests (Files): Likewise.
33031         * modules/binary-io-tests (Files): Likewise.
33032         * modules/bitrotate-tests (Files): Likewise.
33033         * modules/btowc-tests (Files): Likewise.
33034         * modules/byteswap-tests (Files): Likewise.
33035         * modules/c-ctype-tests (Files): Likewise.
33036         * modules/c-stack-tests (Files): Likewise.
33037         * modules/c-strcase-tests (Files): Likewise.
33038         * modules/c-strcasestr-tests (Files): Likewise.
33039         * modules/c-strstr-tests (Files): Likewise.
33040         * modules/canonicalize-lgpl-tests (Files): Likewise.
33041         * modules/canonicalize-tests (Files): Likewise.
33042         * modules/carray-list-tests (Files): Likewise.
33043         * modules/ceilf-tests (Files): Likewise.
33044         * modules/ceill-tests (Files): Likewise.
33045         * modules/chown-tests (Files): Likewise.
33046         * modules/cloexec-tests (Files): Likewise.
33047         * modules/copy-file-tests (Files): Likewise.
33048         * modules/count-one-bits-tests (Files): Likewise.
33049         * modules/dprintf-posix-tests (Files): Likewise.
33050         * modules/dup2-tests (Files): Likewise.
33051         * modules/dup3-tests (Files): Likewise.
33052         * modules/duplocale-tests (Files): Likewise.
33053         * modules/fbufmode-tests (Files): Likewise.
33054         * modules/fchdir-tests (Files): Likewise.
33055         * modules/fcntl-safer-tests (Files): Likewise.
33056         * modules/fcntl-tests (Files): Likewise.
33057         * modules/fdopendir-tests (Files): Likewise.
33058         * modules/fdutimensat-tests (Files): Likewise.
33059         * modules/fflush-tests (Files): Likewise.
33060         * modules/filevercmp-tests (Files): Likewise.
33061         * modules/flock-tests (Files): Likewise.
33062         * modules/floorf-tests (Files): Likewise.
33063         * modules/floorl-tests (Files): Likewise.
33064         * modules/fnmatch-tests (Files): Likewise.
33065         * modules/fopen-safer-tests (Files): Likewise.
33066         * modules/fopen-tests (Files): Likewise.
33067         * modules/fpending-tests (Files): Likewise.
33068         * modules/fprintf-posix-tests (Files): Likewise.
33069         * modules/fpurge-tests (Files): Likewise.
33070         * modules/freadable-tests (Files): Likewise.
33071         * modules/freadahead-tests (Files): Likewise.
33072         * modules/freading-tests (Files): Likewise.
33073         * modules/freadptr-tests (Files): Likewise.
33074         * modules/freadseek-tests (Files): Likewise.
33075         * modules/freopen-tests (Files): Likewise.
33076         * modules/frexp-nolibm-tests (Files): Likewise.
33077         * modules/frexp-tests (Files): Likewise.
33078         * modules/frexpl-nolibm-tests (Files): Likewise.
33079         * modules/frexpl-tests (Files): Likewise.
33080         * modules/fseek-tests (Files): Likewise.
33081         * modules/fseeko-tests (Files): Likewise.
33082         * modules/fstrcmp-tests (Files): Likewise.
33083         * modules/fsync-tests (Files): Likewise.
33084         * modules/ftell-tests (Files): Likewise.
33085         * modules/ftello-tests (Files): Likewise.
33086         * modules/func-tests (Files): Likewise.
33087         * modules/futimens-tests (Files): Likewise.
33088         * modules/fwritable-tests (Files): Likewise.
33089         * modules/fwriting-tests (Files): Likewise.
33090         * modules/getcwd-tests (Files): Likewise.
33091         * modules/getdate-tests (Files): Likewise.
33092         * modules/getdelim-tests (Files): Likewise.
33093         * modules/getdtablesize-tests (Files): Likewise.
33094         * modules/getgroups-tests (Files): Likewise.
33095         * modules/getline-tests (Files): Likewise.
33096         * modules/getndelim2-tests (Files): Likewise.
33097         * modules/glob-tests (Files): Likewise.
33098         * modules/hash-tests (Files): Likewise.
33099         * modules/i-ring-tests (Files): Likewise.
33100         * modules/iconv-tests (Files): Likewise.
33101         * modules/iconv_open-utf-tests (Files): Likewise.
33102         * modules/idpriv-drop-tests (Files): Likewise.
33103         * modules/idpriv-droptemp-tests (Files): Likewise.
33104         * modules/inet_ntop-tests (Files): Likewise.
33105         * modules/inet_pton-tests (Files): Likewise.
33106         * modules/isblank-tests (Files): Likewise.
33107         * modules/isfinite-tests (Files): Likewise.
33108         * modules/isinf-tests (Files): Likewise.
33109         * modules/isnan-tests (Files): Likewise.
33110         * modules/isnand-nolibm-tests (Files): Likewise.
33111         * modules/isnand-tests (Files): Likewise.
33112         * modules/isnanf-nolibm-tests (Files): Likewise.
33113         * modules/isnanf-tests (Files): Likewise.
33114         * modules/isnanl-nolibm-tests (Files): Likewise.
33115         * modules/isnanl-tests (Files): Likewise.
33116         * modules/lchown-tests (Files): Likewise.
33117         * modules/ldexpl-tests (Files): Likewise.
33118         * modules/link-tests (Files): Likewise.
33119         * modules/linkat-tests (Files): Likewise.
33120         * modules/linked-list-tests (Files): Likewise.
33121         * modules/linkedhash-list-tests (Files): Likewise.
33122         * modules/localename-tests (Files): Likewise.
33123         * modules/lseek-tests (Files): Likewise.
33124         * modules/lstat-tests (Files): Likewise.
33125         * modules/mbmemcasecmp-tests (Files): Likewise.
33126         * modules/mbmemcasecoll-tests (Files): Likewise.
33127         * modules/mbrtowc-tests (Files): Likewise.
33128         * modules/mbscasecmp-tests (Files): Likewise.
33129         * modules/mbscasestr-tests (Files): Likewise.
33130         * modules/mbschr-tests (Files): Likewise.
33131         * modules/mbscspn-tests (Files): Likewise.
33132         * modules/mbsinit-tests (Files): Likewise.
33133         * modules/mbsncasecmp-tests (Files): Likewise.
33134         * modules/mbsnrtowcs-tests (Files): Likewise.
33135         * modules/mbspbrk-tests (Files): Likewise.
33136         * modules/mbspcasecmp-tests (Files): Likewise.
33137         * modules/mbsrchr-tests (Files): Likewise.
33138         * modules/mbsrtowcs-tests (Files): Likewise.
33139         * modules/mbsspn-tests (Files): Likewise.
33140         * modules/mbsstr-tests (Files): Likewise.
33141         * modules/memchr-tests (Files): Likewise.
33142         * modules/memchr2-tests (Files): Likewise.
33143         * modules/memcmp-tests (Files): Likewise.
33144         * modules/memmem-tests (Files): Likewise.
33145         * modules/memrchr-tests (Files): Likewise.
33146         * modules/mkdir-tests (Files): Likewise.
33147         * modules/mkfifo-tests (Files): Likewise.
33148         * modules/mkfifoat-tests (Files): Likewise.
33149         * modules/mknod-tests (Files): Likewise.
33150         * modules/nanosleep-tests (Files): Likewise.
33151         * modules/nl_langinfo-tests (Files): Likewise.
33152         * modules/obstack-printf-tests (Files): Likewise.
33153         * modules/open-tests (Files): Likewise.
33154         * modules/openat-tests (Files): Likewise.
33155         * modules/pipe-filter-gi-tests (Files): Likewise.
33156         * modules/pipe-filter-ii-tests (Files): Likewise.
33157         * modules/pipe2-tests (Files): Likewise.
33158         * modules/popen-safer-tests (Files): Likewise.
33159         * modules/popen-tests (Files): Likewise.
33160         * modules/posixtm-tests (Files): Likewise.
33161         * modules/pread-tests (Files): Likewise.
33162         * modules/printf-frexp-tests (Files): Likewise.
33163         * modules/printf-frexpl-tests (Files): Likewise.
33164         * modules/printf-posix-tests (Files): Likewise.
33165         * modules/priv-set-tests (Files): Likewise.
33166         * modules/quotearg-tests (Files): Likewise.
33167         * modules/random_r-tests (Files): Likewise.
33168         * modules/rawmemchr-tests (Files): Likewise.
33169         * modules/rbtree-list-tests (Files): Likewise.
33170         * modules/rbtree-oset-tests (Files): Likewise.
33171         * modules/rbtreehash-list-tests (Files): Likewise.
33172         * modules/readlink-tests (Files): Likewise.
33173         * modules/remove-tests (Files): Likewise.
33174         * modules/rename-tests (Files): Likewise.
33175         * modules/renameat-tests (Files): Likewise.
33176         * modules/rmdir-tests (Files): Likewise.
33177         * modules/round-tests (Files): Likewise.
33178         * modules/roundf-tests (Files): Likewise.
33179         * modules/roundl-tests (Files): Likewise.
33180         * modules/safe-alloc-tests (Files): Likewise.
33181         * modules/setenv-tests (Files): Likewise.
33182         * modules/sigaction-tests (Files): Likewise.
33183         * modules/signbit-tests (Files): Likewise.
33184         * modules/sleep-tests (Files): Likewise.
33185         * modules/snprintf-posix-tests (Files): Likewise.
33186         * modules/snprintf-tests (Files): Likewise.
33187         * modules/sprintf-posix-tests (Files): Likewise.
33188         * modules/stat-tests (Files): Likewise.
33189         * modules/stat-time-tests (Files): Likewise.
33190         * modules/strcasestr-tests (Files): Likewise.
33191         * modules/strchrnul-tests (Files): Likewise.
33192         * modules/strerror-tests (Files): Likewise.
33193         * modules/striconv-tests (Files): Likewise.
33194         * modules/striconveh-tests (Files): Likewise.
33195         * modules/striconveha-tests (Files): Likewise.
33196         * modules/strsignal-tests (Files): Likewise.
33197         * modules/strstr-tests (Files): Likewise.
33198         * modules/strtod-tests (Files): Likewise.
33199         * modules/strverscmp-tests (Files): Likewise.
33200         * modules/symlink-tests (Files): Likewise.
33201         * modules/symlinkat-tests (Files): Likewise.
33202         * modules/trunc-tests (Files): Likewise.
33203         * modules/truncf-tests (Files): Likewise.
33204         * modules/truncl-tests (Files): Likewise.
33205         * modules/uname-tests (Files): Likewise.
33206         * modules/unicase/cased-tests (Files): Likewise.
33207         * modules/unicase/ignorable-tests (Files): Likewise.
33208         * modules/unicase/locale-language-tests (Files): Likewise.
33209         * modules/unicase/tolower-tests (Files): Likewise.
33210         * modules/unicase/totitle-tests (Files): Likewise.
33211         * modules/unicase/toupper-tests (Files): Likewise.
33212         * modules/unicase/u8-casecmp-tests (Files): Likewise.
33213         * modules/unicase/u8-casecoll-tests (Files): Likewise.
33214         * modules/unicase/u8-casefold-tests (Files): Likewise.
33215         * modules/unicase/u8-is-cased-tests (Files): Likewise.
33216         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
33217         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
33218         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
33219         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
33220         * modules/unicase/u8-tolower-tests (Files): Likewise.
33221         * modules/unicase/u8-totitle-tests (Files): Likewise.
33222         * modules/unicase/u8-toupper-tests (Files): Likewise.
33223         * modules/unicase/u16-casecmp-tests (Files): Likewise.
33224         * modules/unicase/u16-casecoll-tests (Files): Likewise.
33225         * modules/unicase/u16-casefold-tests (Files): Likewise.
33226         * modules/unicase/u16-is-cased-tests (Files): Likewise.
33227         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
33228         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
33229         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
33230         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
33231         * modules/unicase/u16-tolower-tests (Files): Likewise.
33232         * modules/unicase/u16-totitle-tests (Files): Likewise.
33233         * modules/unicase/u16-toupper-tests (Files): Likewise.
33234         * modules/unicase/u32-casecmp-tests (Files): Likewise.
33235         * modules/unicase/u32-casecoll-tests (Files): Likewise.
33236         * modules/unicase/u32-casefold-tests (Files): Likewise.
33237         * modules/unicase/u32-is-cased-tests (Files): Likewise.
33238         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
33239         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
33240         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
33241         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
33242         * modules/unicase/u32-tolower-tests (Files): Likewise.
33243         * modules/unicase/u32-totitle-tests (Files): Likewise.
33244         * modules/unicase/u32-toupper-tests (Files): Likewise.
33245         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
33246         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
33247         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
33248         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
33249         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
33250         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
33251         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
33252         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
33253         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
33254         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
33255         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
33256         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
33257         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
33258         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
33259         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
33260         * modules/unictype/bidicategory-name-tests (Files): Likewise.
33261         * modules/unictype/bidicategory-of-tests (Files): Likewise.
33262         * modules/unictype/bidicategory-test-tests (Files): Likewise.
33263         * modules/unictype/block-list-tests (Files): Likewise.
33264         * modules/unictype/block-of-tests (Files): Likewise.
33265         * modules/unictype/block-test-tests (Files): Likewise.
33266         * modules/unictype/category-C-tests (Files): Likewise.
33267         * modules/unictype/category-Cc-tests (Files): Likewise.
33268         * modules/unictype/category-Cf-tests (Files): Likewise.
33269         * modules/unictype/category-Cn-tests (Files): Likewise.
33270         * modules/unictype/category-Co-tests (Files): Likewise.
33271         * modules/unictype/category-Cs-tests (Files): Likewise.
33272         * modules/unictype/category-L-tests (Files): Likewise.
33273         * modules/unictype/category-Ll-tests (Files): Likewise.
33274         * modules/unictype/category-Lm-tests (Files): Likewise.
33275         * modules/unictype/category-Lo-tests (Files): Likewise.
33276         * modules/unictype/category-Lt-tests (Files): Likewise.
33277         * modules/unictype/category-Lu-tests (Files): Likewise.
33278         * modules/unictype/category-M-tests (Files): Likewise.
33279         * modules/unictype/category-Mc-tests (Files): Likewise.
33280         * modules/unictype/category-Me-tests (Files): Likewise.
33281         * modules/unictype/category-Mn-tests (Files): Likewise.
33282         * modules/unictype/category-N-tests (Files): Likewise.
33283         * modules/unictype/category-Nd-tests (Files): Likewise.
33284         * modules/unictype/category-Nl-tests (Files): Likewise.
33285         * modules/unictype/category-No-tests (Files): Likewise.
33286         * modules/unictype/category-P-tests (Files): Likewise.
33287         * modules/unictype/category-Pc-tests (Files): Likewise.
33288         * modules/unictype/category-Pd-tests (Files): Likewise.
33289         * modules/unictype/category-Pe-tests (Files): Likewise.
33290         * modules/unictype/category-Pf-tests (Files): Likewise.
33291         * modules/unictype/category-Pi-tests (Files): Likewise.
33292         * modules/unictype/category-Po-tests (Files): Likewise.
33293         * modules/unictype/category-Ps-tests (Files): Likewise.
33294         * modules/unictype/category-S-tests (Files): Likewise.
33295         * modules/unictype/category-Sc-tests (Files): Likewise.
33296         * modules/unictype/category-Sk-tests (Files): Likewise.
33297         * modules/unictype/category-Sm-tests (Files): Likewise.
33298         * modules/unictype/category-So-tests (Files): Likewise.
33299         * modules/unictype/category-Z-tests (Files): Likewise.
33300         * modules/unictype/category-Zl-tests (Files): Likewise.
33301         * modules/unictype/category-Zp-tests (Files): Likewise.
33302         * modules/unictype/category-Zs-tests (Files): Likewise.
33303         * modules/unictype/category-and-not-tests (Files): Likewise.
33304         * modules/unictype/category-and-tests (Files): Likewise.
33305         * modules/unictype/category-byname-tests (Files): Likewise.
33306         * modules/unictype/category-name-tests (Files): Likewise.
33307         * modules/unictype/category-none-tests (Files): Likewise.
33308         * modules/unictype/category-of-tests (Files): Likewise.
33309         * modules/unictype/category-or-tests (Files): Likewise.
33310         * modules/unictype/category-test-withtable-tests (Files): Likewise.
33311         * modules/unictype/combining-class-tests (Files): Likewise.
33312         * modules/unictype/ctype-alnum-tests (Files): Likewise.
33313         * modules/unictype/ctype-alpha-tests (Files): Likewise.
33314         * modules/unictype/ctype-blank-tests (Files): Likewise.
33315         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
33316         * modules/unictype/ctype-digit-tests (Files): Likewise.
33317         * modules/unictype/ctype-graph-tests (Files): Likewise.
33318         * modules/unictype/ctype-lower-tests (Files): Likewise.
33319         * modules/unictype/ctype-print-tests (Files): Likewise.
33320         * modules/unictype/ctype-punct-tests (Files): Likewise.
33321         * modules/unictype/ctype-space-tests (Files): Likewise.
33322         * modules/unictype/ctype-upper-tests (Files): Likewise.
33323         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
33324         * modules/unictype/decimal-digit-tests (Files): Likewise.
33325         * modules/unictype/digit-tests (Files): Likewise.
33326         * modules/unictype/mirror-tests (Files): Likewise.
33327         * modules/unictype/numeric-tests (Files): Likewise.
33328         * modules/unictype/property-alphabetic-tests (Files): Likewise.
33329         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
33330         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
33331         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
33332         Likewise.
33333         * modules/unictype/property-bidi-block-separator-tests (Files):
33334         Likewise.
33335         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
33336         Likewise.
33337         * modules/unictype/property-bidi-common-separator-tests (Files):
33338         Likewise.
33339         * modules/unictype/property-bidi-control-tests (Files): Likewise.
33340         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
33341         Likewise.
33342         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
33343         Likewise.
33344         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
33345         Likewise.
33346         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
33347         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
33348         Likewise.
33349         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
33350         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
33351         Likewise.
33352         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
33353         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
33354         * modules/unictype/property-bidi-segment-separator-tests (Files):
33355         Likewise.
33356         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
33357         * modules/unictype/property-byname-tests (Files): Likewise.
33358         * modules/unictype/property-combining-tests (Files): Likewise.
33359         * modules/unictype/property-composite-tests (Files): Likewise.
33360         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
33361         * modules/unictype/property-dash-tests (Files): Likewise.
33362         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
33363         * modules/unictype/property-default-ignorable-code-point-tests (Files):
33364         Likewise.
33365         * modules/unictype/property-deprecated-tests (Files): Likewise.
33366         * modules/unictype/property-diacritic-tests (Files): Likewise.
33367         * modules/unictype/property-extender-tests (Files): Likewise.
33368         * modules/unictype/property-format-control-tests (Files): Likewise.
33369         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
33370         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
33371         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
33372         * modules/unictype/property-hex-digit-tests (Files): Likewise.
33373         * modules/unictype/property-hyphen-tests (Files): Likewise.
33374         * modules/unictype/property-id-continue-tests (Files): Likewise.
33375         * modules/unictype/property-id-start-tests (Files): Likewise.
33376         * modules/unictype/property-ideographic-tests (Files): Likewise.
33377         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
33378         * modules/unictype/property-ids-trinary-operator-tests (Files):
33379         Likewise.
33380         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
33381         * modules/unictype/property-iso-control-tests (Files): Likewise.
33382         * modules/unictype/property-join-control-tests (Files): Likewise.
33383         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
33384         * modules/unictype/property-line-separator-tests (Files): Likewise.
33385         * modules/unictype/property-logical-order-exception-tests (Files):
33386         Likewise.
33387         * modules/unictype/property-lowercase-tests (Files): Likewise.
33388         * modules/unictype/property-math-tests (Files): Likewise.
33389         * modules/unictype/property-non-break-tests (Files): Likewise.
33390         * modules/unictype/property-not-a-character-tests (Files): Likewise.
33391         * modules/unictype/property-numeric-tests (Files): Likewise.
33392         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
33393         * modules/unictype/property-other-default-ignorable-code-point-tests
33394         (Files): Likewise.
33395         * modules/unictype/property-other-grapheme-extend-tests (Files):
33396         Likewise.
33397         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
33398         * modules/unictype/property-other-id-start-tests (Files): Likewise.
33399         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
33400         * modules/unictype/property-other-math-tests (Files): Likewise.
33401         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
33402         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
33403         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
33404         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
33405         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
33406         * modules/unictype/property-private-use-tests (Files): Likewise.
33407         * modules/unictype/property-punctuation-tests (Files): Likewise.
33408         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
33409         * modules/unictype/property-radical-tests (Files): Likewise.
33410         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
33411         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
33412         * modules/unictype/property-space-tests (Files): Likewise.
33413         * modules/unictype/property-terminal-punctuation-tests (Files):
33414         Likewise.
33415         * modules/unictype/property-test-tests (Files): Likewise.
33416         * modules/unictype/property-titlecase-tests (Files): Likewise.
33417         * modules/unictype/property-unassigned-code-value-tests (Files):
33418         Likewise.
33419         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
33420         * modules/unictype/property-uppercase-tests (Files): Likewise.
33421         * modules/unictype/property-variation-selector-tests (Files): Likewise.
33422         * modules/unictype/property-white-space-tests (Files): Likewise.
33423         * modules/unictype/property-xid-continue-tests (Files): Likewise.
33424         * modules/unictype/property-xid-start-tests (Files): Likewise.
33425         * modules/unictype/property-zero-width-tests (Files): Likewise.
33426         * modules/unictype/scripts-tests (Files): Likewise.
33427         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
33428         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
33429         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
33430         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
33431         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
33432         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
33433         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
33434         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
33435         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
33436         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
33437         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
33438         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
33439         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
33440         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
33441         * modules/uninorm/composition-tests (Files): Likewise.
33442         * modules/uninorm/decomposing-form-tests (Files): Likewise.
33443         * modules/uninorm/decomposition-tests (Files): Likewise.
33444         * modules/uninorm/filter-tests (Files): Likewise.
33445         * modules/uninorm/nfc-tests (Files): Likewise.
33446         * modules/uninorm/nfd-tests (Files): Likewise.
33447         * modules/uninorm/nfkc-tests (Files): Likewise.
33448         * modules/uninorm/nfkd-tests (Files): Likewise.
33449         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
33450         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
33451         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
33452         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
33453         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
33454         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
33455         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
33456         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33457         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
33458         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
33459         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
33460         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
33461         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33462         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
33463         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
33464         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
33465         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
33466         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33467         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
33468         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
33469         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
33470         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
33471         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33472         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
33473         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
33474         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
33475         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
33476         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
33477         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
33478         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
33479         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
33480         * modules/uniwidth/u8-width-tests (Files): Likewise.
33481         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
33482         * modules/uniwidth/u16-width-tests (Files): Likewise.
33483         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
33484         * modules/uniwidth/u32-width-tests (Files): Likewise.
33485         * modules/uniwidth/width-tests (Files): Likewise.
33486         * modules/unlink-tests (Files): Likewise.
33487         * modules/unsetenv-tests (Files): Likewise.
33488         * modules/usleep-tests (Files): Likewise.
33489         * modules/utimens-tests (Files): Likewise.
33490         * modules/utimensat-tests (Files): Likewise.
33491         * modules/vasnprintf-posix-tests (Files): Likewise.
33492         * modules/vasnprintf-tests (Files): Likewise.
33493         * modules/vasprintf-posix-tests (Files): Likewise.
33494         * modules/vasprintf-tests (Files): Likewise.
33495         * modules/vdprintf-posix-tests (Files): Likewise.
33496         * modules/vfprintf-posix-tests (Files): Likewise.
33497         * modules/vprintf-posix-tests (Files): Likewise.
33498         * modules/vsnprintf-posix-tests (Files): Likewise.
33499         * modules/vsnprintf-tests (Files): Likewise.
33500         * modules/vsprintf-posix-tests (Files): Likewise.
33501         * modules/wcrtomb-tests (Files): Likewise.
33502         * modules/wcsnrtombs-tests (Files): Likewise.
33503         * modules/wcsrtombs-tests (Files): Likewise.
33504         * modules/wctype-tests (Files): Likewise.
33505         * modules/wcwidth-tests (Files): Likewise.
33506         * modules/xmemdup0-tests (Files): Likewise.
33507         * modules/xprintf-posix-tests (Files): Likewise.
33508         * modules/xvasprintf-tests (Files): Likewise.
33509
33510 2009-12-24  Eric Blake  <ebb9@byu.net>
33511
33512         test-nanosleep: fix typo
33513         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
33514         patch.
33515         Reported by Bruno Haible.
33516
33517 2009-12-24  Bruno Haible  <bruno@clisp.org>
33518
33519         Reduce namespace pollution on glibc systems.
33520         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
33521         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
33522         systems.
33523         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
33524         <getopt.h> on glibc systems.
33525         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
33526         systems.
33527         * lib/fcntl.c: Include <unistd.h> here instead.
33528
33529 2009-12-24  Bruno Haible  <bruno@clisp.org>
33530
33531         * lib/stdlib.in.h (includes): Fix typo in today's commit.
33532
33533 2009-12-24  Eric Blake  <ebb9@byu.net>
33534
33535         tests: add signature checks
33536         * tests/signature.h (SIGNATURE_CHECK): New file.
33537         * modules/atexit-tests (Files): Use it.
33538         * modules/btowc-tests (Files): Likewise.
33539         * modules/canonicalize-lgpl-tests (Files): Likewise.
33540         * modules/ceilf-tests (Files): Likewise.
33541         * modules/ceill-tests (Files): Likewise.
33542         * modules/chown-tests (Files): Likewise.
33543         * modules/dprintf-posix-tests (Files): Likewise.
33544         * modules/dup2-tests (Files): Likewise.
33545         * modules/dup3-tests (Files): Likewise.
33546         * modules/duplocale-tests (Files): Likewise.
33547         * modules/fchdir-tests (Files): Likewise.
33548         * modules/fcntl-tests (Files): Likewise.
33549         * modules/fdopendir-tests (Files): Likewise.
33550         * modules/fflush-tests (Files): Likewise.
33551         * modules/flock-tests (Files): Likewise.
33552         * modules/floorf-tests (Files): Likewise.
33553         * modules/floorl-tests (Files): Likewise.
33554         * modules/fnmatch-tests (Files): Likewise.
33555         * modules/fopen-tests (Files): Likewise.
33556         * modules/fprintf-posix-tests (Files): Likewise.
33557         * modules/freopen-tests (Files): Likewise.
33558         * modules/frexp-nolibm-tests (Files): Likewise.
33559         * modules/frexp-tests (Files): Likewise.
33560         * modules/frexpl-nolibm-tests (Files): Likewise.
33561         * modules/frexpl-tests (Files): Likewise.
33562         * modules/fseek-tests (Files): Likewise.
33563         * modules/fseeko-tests (Files): Likewise.
33564         * modules/fsync-tests (Files): Likewise.
33565         * modules/ftell-tests (Files): Likewise.
33566         * modules/ftello-tests (Files): Likewise.
33567         * modules/futimens-tests (Files): Likewise.
33568         * modules/getaddrinfo-tests (Files): Likewise.
33569         * modules/getcwd-tests (Files): Likewise.
33570         * modules/getdelim-tests (Files): Likewise.
33571         * modules/getdtablesize-tests (Files): Likewise.
33572         * modules/getgroups-tests (Files): Likewise.
33573         * modules/gethostname-tests (Files): Likewise.
33574         * modules/getline-tests (Files): Likewise.
33575         * modules/getopt-posix-tests (Files): Likewise.
33576         * modules/gettimeofday-tests (Files): Likewise.
33577         * modules/glob-tests (Files): Likewise.
33578         * modules/iconv-tests (Files): Likewise.
33579         * modules/inet_ntop-tests (Files): Likewise.
33580         * modules/inet_pton-tests (Files): Likewise.
33581         * modules/isblank-tests (Files): Likewise.
33582         * modules/lchown-tests (Files): Likewise.
33583         * modules/ldexpl-tests (Files): Likewise.
33584         * modules/link-tests (Files): Likewise.
33585         * modules/linkat-tests (Files): Likewise.
33586         * modules/lseek-tests (Files): Likewise.
33587         * modules/lstat-tests (Files): Likewise.
33588         * modules/mbrtowc-tests (Files): Likewise.
33589         * modules/mbsinit-tests (Files): Likewise.
33590         * modules/mbsnrtowcs-tests (Files): Likewise.
33591         * modules/mbsrtowcs-tests (Files): Likewise.
33592         * modules/memchr-tests (Files): Likewise.
33593         * modules/memcmp-tests (Files): Likewise.
33594         * modules/memmem-tests (Files): Likewise.
33595         * modules/memrchr-tests (Files): Likewise.
33596         * modules/mkdir-tests (Files): Likewise.
33597         * modules/mkfifo-tests (Files): Likewise.
33598         * modules/mkfifoat-tests (Files): Likewise.
33599         * modules/mknod-tests (Files): Likewise.
33600         * modules/nanosleep-tests (Files): Likewise.
33601         * modules/nl_langinfo-tests (Files): Likewise.
33602         * modules/obstack-printf-tests (Files): Likewise.
33603         * modules/open-tests (Files): Likewise.
33604         * modules/openat-tests (Files): Likewise.
33605         * modules/perror-tests (Files): Likewise.
33606         * modules/pipe2-tests (Files): Likewise.
33607         * modules/poll-tests (Files): Likewise.
33608         * modules/popen-tests (Files): Likewise.
33609         * modules/posix_spawn-tests (Files): Likewise.
33610         * modules/posix_spawnp-tests (Files): Likewise.
33611         * modules/pread-tests (Files): Likewise.
33612         * modules/printf-posix-tests (Files): Likewise.
33613         * modules/pty-tests (Files): Likewise.
33614         * modules/random_r-tests (Files): Likewise.
33615         * modules/rawmemchr-tests (Files): Likewise.
33616         * modules/readlink-tests (Files): Likewise.
33617         * modules/remove-tests (Files): Likewise.
33618         * modules/rename-tests (Files): Likewise.
33619         * modules/renameat-tests (Files): Likewise.
33620         * modules/rmdir-tests (Files): Likewise.
33621         * modules/round-tests (Files): Likewise.
33622         * modules/roundf-tests (Files): Likewise.
33623         * modules/roundl-tests (Files): Likewise.
33624         * modules/select-tests (Files): Likewise.
33625         * modules/setenv-tests (Files): Likewise.
33626         * modules/sigaction-tests (Files): Likewise.
33627         * modules/sleep-tests (Files): Likewise.
33628         * modules/snprintf-posix-tests (Files): Likewise.
33629         * modules/snprintf-tests (Files): Likewise.
33630         * modules/sprintf-posix-tests (Files): Likewise.
33631         * modules/stat-tests (Files): Likewise.
33632         * modules/strcasestr-tests (Files): Likewise.
33633         * modules/strchrnul-tests (Files): Likewise.
33634         * modules/strerror-tests (Files): Likewise.
33635         * modules/strsignal-tests (Files): Likewise.
33636         * modules/strstr-tests (Files): Likewise.
33637         * modules/strtod-tests (Files): Likewise.
33638         * modules/strverscmp-tests (Files): Likewise.
33639         * modules/symlink-tests (Files): Likewise.
33640         * modules/symlinkat-tests (Files): Likewise.
33641         * modules/times-tests (Files): Likewise.
33642         * modules/trunc-tests (Files): Likewise.
33643         * modules/truncf-tests (Files): Likewise.
33644         * modules/truncl-tests (Files): Likewise.
33645         * modules/tsearch-tests (Files): Likewise.
33646         * modules/uname-tests (Files): Likewise.
33647         * modules/unlink-tests (Files): Likewise.
33648         * modules/unsetenv-tests (Files): Likewise.
33649         * modules/usleep-tests (Files): Likewise.
33650         * modules/utimensat-tests (Files): Likewise.
33651         * modules/vasprintf-tests (Files): Likewise.
33652         * modules/vdprintf-posix-tests (Files): Likewise.
33653         * modules/vfprintf-posix-tests (Files): Likewise.
33654         * modules/vprintf-posix-tests (Files): Likewise.
33655         * modules/vsnprintf-posix-tests (Files): Likewise.
33656         * modules/vsnprintf-tests (Files): Likewise.
33657         * modules/vsprintf-posix-tests (Files): Likewise.
33658         * modules/wcrtomb-tests (Files): Likewise.
33659         * modules/wcsnrtombs-tests (Files): Likewise.
33660         * modules/wcsrtombs-tests (Files): Likewise.
33661         * modules/wcwidth-tests (Files): Likewise.
33662         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
33663         * tests/test-isinf.c (isinf): Likewise.
33664         * tests/test-isnan.c (isnan): Likewise.
33665         * tests/test-signbit.c (signbit): Likewise.
33666         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
33667         declaration, either as macro or with correct signature.
33668         (select): Ensure function under test is declared with correct
33669         signature in correct header.
33670         * tests/test-atexit.c (atexit): Likewise.
33671         * tests/test-btowc.c (btowc): Likewise.
33672         * tests/test-canonicalize-lgpl.c (realpath)
33673         (canonicalize_file_name): Likewise.
33674         * tests/test-ceilf1.c (ceilf): Likewise.
33675         * tests/test-ceill.c (ceill): Likewise.
33676         * tests/test-chown.c (chown): Likewise.
33677         * tests/test-dprintf-posix.c (dprintf): Likewise.
33678         * tests/test-dup2.c (dup2): Likewise.
33679         * tests/test-dup3.c (dup3): Likewise.
33680         * tests/test-duplocale.c (duplocale): Likewise.
33681         * tests/test-fchdir.c (fchdir): Likewise.
33682         * tests/test-fchownat.c (fchownat): Likewise.
33683         * tests/test-fcntl.c (fcntl): Likewise.
33684         * tests/test-fdopendir.c (fdopendir): Likewise.
33685         * tests/test-fflush.c (fflush): Likewise.
33686         * tests/test-flock.c (flock): Likewise.
33687         * tests/test-floorf1.c (floorf): Likewise.
33688         * tests/test-floorl.c (floorl): Likewise.
33689         * tests/test-fnmatch.c (fnmatch): Likewise.
33690         * tests/test-fopen.c (fopen): Likewise.
33691         * tests/test-fprintf-posix.c (fprintf): Likewise.
33692         * tests/test-freopen.c (freopen): Likewise.
33693         * tests/test-frexp.c (frexp): Likewise.
33694         * tests/test-frexpl.c (frexpl): Likewise.
33695         * tests/test-fseek.c (fseek): Likewise.
33696         * tests/test-fseeko.c (fseeko): Likewise.
33697         * tests/test-fstatat.c (fstatat): Likewise.
33698         * tests/test-fsync.c (fsync): Likewise.
33699         * tests/test-ftell.c (ftell): Likewise.
33700         * tests/test-ftello.c (ftello): Likewise.
33701         * tests/test-futimens.c (futimens): Likewise.
33702         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
33703         (gai_strerror): Likewise.
33704         * tests/test-getcwd.c (getcwd): Likewise.
33705         * tests/test-getdelim.c (getdelim): Likewise.
33706         * tests/test-getdtablesize.c (getdtablesize): Likewise.
33707         * tests/test-getgroups.c (getgroups): Likewise.
33708         * tests/test-gethostname.c (gethostname): Likewise.
33709         * tests/test-getline.c (getline): Likewise.
33710         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
33711         Likewise.
33712         * tests/test-gettimeofday.c (gettimeofday): Likewise.
33713         * tests/test-glob.c (glob, globfree): Likewise.
33714         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
33715         * tests/test-inet_ntop.c (inet_ntop): Likewise.
33716         * tests/test-inet_pton.c (inet_pton): Likewise.
33717         * tests/test-isblank.c (isblank): Likewise.
33718         * tests/test-lchown.c (lchown): Likewise.
33719         * tests/test-ldexpl.c (ldexpl): Likewise.
33720         * tests/test-link.c (link): Likewise.
33721         * tests/test-linkat.c (linkat): Likewise.
33722         * tests/test-lseek.c (lseek): Likewise.
33723         * tests/test-lstat.c (lstat): Likewise.
33724         * tests/test-mbrtowc.c (mbrtowc): Likewise.
33725         * tests/test-mbsinit.c (mbsinit): Likewise.
33726         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
33727         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
33728         * tests/test-memchr.c (memchr): Likewise.
33729         * tests/test-memcmp.c (memcmp): Likewise.
33730         * tests/test-memmem.c (memmem): Likewise.
33731         * tests/test-memrchr.c (memrchr): Likewise.
33732         * tests/test-mkdir.c (mkdir): Likewise.
33733         * tests/test-mkdirat.c (mkdirat): Likewise.
33734         * tests/test-mkfifo.c (mkfifo): Likewise.
33735         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
33736         * tests/test-mknod.c (mknod): Likewise.
33737         * tests/test-nanosleep.c (nanosleep): Likewise.
33738         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
33739         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
33740         Likewise.
33741         * tests/test-open.c (open): Likewise.
33742         * tests/test-openat.c (openat): Likewise.
33743         * tests/test-perror.c (perror): Likewise.
33744         * tests/test-pipe2.c (pipe2): Likewise.
33745         * tests/test-poll.c (poll): Likewise.
33746         * tests/test-popen.c (popen, pclose): Likewise.
33747         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
33748         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
33749         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
33750         (posix_spawn_file_actions_destroy)
33751         (posix_spawn_file_actions_addclose)
33752         (posix_spawn_file_actions_addopen)
33753         (posix_spawn_file_actions_adddup2): Likewise.
33754         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
33755         * tests/test-pread.c (pread): Likewise.
33756         * tests/test-printf-posix.c (printf): Likewise.
33757         * tests/test-pty.c (openpty, forkpty): Likewise.
33758         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
33759         (random_r): Likewise.
33760         * tests/test-rawmemchr.c (rawmemchr): Likewise.
33761         * tests/test-readlink.c (readlink): Likewise.
33762         * tests/test-remove.c (remove): Likewise.
33763         * tests/test-rename.c (rename): Likewise.
33764         * tests/test-renameat.c (renameat): Likewise.
33765         * tests/test-rmdir.c (rmdir): Likewise.
33766         * tests/test-round1.c (round): Likewise.
33767         * tests/test-roundf1.c (roundf): Likewise.
33768         * tests/test-roundl.c (roundl): Likewise.
33769         * tests/test-setenv.c (setenv): Likewise.
33770         * tests/test-sigaction.c (sigaction): Likewise.
33771         * tests/test-sleep.c (sleep): Likewise.
33772         * tests/test-snprintf.c (snprintf): Likewise.
33773         * tests/test-sprintf-posix.c (sprintf): Likewise.
33774         * tests/test-stat.c (stat): Likewise.
33775         * tests/test-stpncpy.c (stpncpy): Likewise.
33776         * tests/test-strcasestr.c (strcasestr): Likewise.
33777         * tests/test-strchrnul.c (strchrnul): Likewise.
33778         * tests/test-strerror.c (strerror): Likewise.
33779         * tests/test-strsignal.c (strsignal): Likewise.
33780         * tests/test-strstr.c (strstr): Likewise.
33781         * tests/test-strtod.c (strtod): Likewise.
33782         * tests/test-strverscmp.c (strverscmp): Likewise.
33783         * tests/test-symlink.c (symlink): Likewise.
33784         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
33785         * tests/test-times.c (times): Likewise.
33786         * tests/test-trunc1.c (trunc): Likewise.
33787         * tests/test-truncf1.c (truncf): Likewise.
33788         * tests/test-truncl.c (truncl): Likewise.
33789         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
33790         Likewise.
33791         * tests/test-uname.c (uname): Likewise.
33792         * tests/test-unlink.c (unlink): Likewise.
33793         * tests/test-unlinkat.c (unlinkat): Likewise.
33794         * tests/test-unsetenv.c (unsetenv): Likewise.
33795         * tests/test-usleep.c (usleep): Likewise.
33796         * tests/test-utimensat.c (utimensat): Likewise.
33797         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
33798         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
33799         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
33800         * tests/test-vprintf-posix.c (vprintf): Likewise.
33801         * tests/test-vsnprintf.c (vsnprintf): Likewise.
33802         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
33803         * tests/test-wcrtomb.c (wcrtomb): Likewise.
33804         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
33805         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
33806         * tests/test-wcwidth.c (wcwidth): Likewise.
33807
33808         build: pull in conditional headers during GNULIB_POSIXCHECK
33809         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
33810         definitions from any conditionally-included headers.
33811         * lib/stdlib.in.h (includes): Likewise.
33812         * lib/unistd.in.h (includes): Likewise.
33813
33814 2009-12-24  Bruno Haible  <bruno@clisp.org>
33815
33816         * tests/test-argv-iter.c: Include header file being tested immediately
33817         after config.h.
33818         * tests/test-base64.c: Likewise.
33819         * tests/test-flock.c: Likewise.
33820         * tests/test-fsync.c: Likewise.
33821         * tests/test-getdate.c: Likewise.
33822         * tests/test-getndelim2.c: Likewise.
33823         * tests/test-isfinite.c: Likewise.
33824         * tests/test-isinf.c: Likewise.
33825         * tests/test-strerror.c: Likewise.
33826         * tests/test-strsignal.c: Likewise.
33827
33828 2009-12-23  Eric Blake  <ebb9@byu.net>
33829
33830         unistd: work around cygwin bug
33831         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
33832         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
33833         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33834
33835 2009-12-23  Bruno Haible  <bruno@clisp.org>
33836
33837         localename: More tests.
33838         * tests/test-localename.c (SIZEOF): New macro.
33839         (categories): New variable.
33840         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
33841         test_locale_name_default): Add test w.r.t. thread locale.
33842         (test_locale_name_thread): New function.
33843         (main): Invoke it.
33844
33845         localename: Make aware of thread locale.
33846         * lib/localename.h (gl_locale_name_thread): New declaration.
33847         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
33848         behaviour with respect to thread locale.
33849         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
33850         <langinfo.h>, glthread/lock.h.
33851         (SIZE_BITS): New macro.
33852         (string_hash): New function.
33853         (struct hash_node): New type.
33854         (HASH_TABLE_SIZE): New macro.
33855         (struniq_hash_table, struniq_lock): New variables.
33856         (struniq): New function.
33857         (gl_locale_name_thread): New function.
33858         (gl_locale_name): Invoke it.
33859         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
33860         * modules/localename (Depends-on): Add lock.
33861         Reported by Mike Gran <spk121@yahoo.com>.
33862
33863 2009-12-23  Eric Blake  <ebb9@byu.net>
33864
33865         va-args: new module
33866         * modules/va-args: New file.
33867         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
33868         * MODULES.html.sh (Core language properties): Mention it.
33869
33870         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
33871         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
33872         named alias for __attribute__((__unused__)).
33873         * lib/chown.c: Update client.
33874         * lib/fchmodat.c: Likewise.
33875         * lib/fts.c: Likewise.
33876         * lib/getdate.y: Likewise.
33877         * lib/getgroups.c: Likewise.
33878         * lib/getopt.c: Likewise.
33879         * lib/getugroups.c: Likewise.
33880         * lib/mkdir.c: Likewise.
33881         * lib/mkfifo.c: Likewise.
33882         * lib/mkfifoat.c: Likewise.
33883         * lib/mknod.c: Likewise.
33884         * lib/mknodat.c: Likewise.
33885         * lib/readlink.c: Likewise.
33886         * lib/se-context.in.h: Likewise.
33887         * lib/se-selinux.in.h: Likewise.
33888         * lib/sockets.c: Likewise.
33889         * lib/symlink.c: Likewise.
33890         * lib/symlinkat.c: Likewise.
33891         * lib/unicodeio.c: Likewise.
33892         * lib/unistr.h: Likewise.
33893         * tests/test-areadlink.c: Likewise.
33894         * tests/test-areadlinkat.c: Likewise.
33895         * tests/test-filenamecat.c: Likewise.
33896         * tests/test-fseeko.c: Likewise.
33897         * tests/test-ftello.c: Likewise.
33898         * tests/test-getdate.c: Likewise.
33899         * tests/test-getgroups.c: Likewise.
33900         * tests/test-gethostname.c: Likewise.
33901         * tests/test-quotearg.c: Likewise.
33902         * tests/test-version-etc.c: Likewise.
33903         * tests/test-xalloc-die.c: Likewise.
33904         * tests/test-xfprintf-posix.c: Likewise.
33905         * tests/test-xprintf-posix.c: Likewise.
33906         * tests/test-xvasprintf.c: Likewise.
33907
33908         tests: avoid compiler warnings
33909         * tests/test-fcntl.c (main): Delete unused parameters.
33910         * tests/test-freopen-safer.c (main): Likewise.
33911         * tests/test-xalloc-die.c (main): Mark unused parameters.
33912         * tests/test-fseeko.c (main): Likewise.
33913         * tests/test-ftello.c (main): Likewise.
33914         * tests/test-nanosleep.c (main): Avoid declaration warning.
33915         * tests/test-sleep.c (main): Likewise.
33916         * tests/test-unsetenv.c (main): Silence warning about string
33917         literal.
33918         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
33919
33920 2009-12-23  Bruno Haible  <bruno@clisp.org>
33921
33922         * tests/test-localename.c (test_locale_name): New function, extracted
33923         from main. Also test mixed situations.
33924         (test_locale_name_posix, test_locale_name_environ,
33925         test_locale_name_default): New functions.
33926         (main): Invoke them all.
33927         * modules/localename-tests (configure.ac): Test for newlocale.
33928
33929 2009-12-23  Bruno Haible  <bruno@clisp.org>
33930
33931         unistd: Ensure getcwd gets declared before being overridden.
33932         * lib/unistd.in.h: Conditionally include <io.h>.
33933
33934 2009-12-22  Bruno Haible  <bruno@clisp.org>
33935
33936         wchar: Diagnose broken combination of glibc and gcc versions and flags.
33937         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
33938         (gl_WCHAR_H): Invoke it.
33939         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
33940         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
33941         Reported by Karl Berry <karl@freefriends.org>.
33942
33943 2009-12-22  Eric Blake  <ebb9@byu.net>
33944
33945         math, unistd: avoid redundant includes
33946         * lib/math.in.h (isnan): No need to re-include <math.h>.
33947         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
33948
33949         getsubopt: work around cygwin bug
33950         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
33951         avoid conflicting with system getsubopt.
33952         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
33953         bug.
33954
33955         getopt: synchronize from glibc
33956         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
33957         parameter order.  Adjust all callers.
33958         (_getopt_internal_r, main): Adjust quoting in error messages.
33959         Drop considerations for outdated POSIX 1003.2 error message.
33960         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
33961         callers.
33962         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
33963
33964         test-getopt: test stderr behavior
33965         * modules/getopt-posix-tests (Depends-on): Add dup2.
33966         * tests/test-getopt.c (ASSERT): Avoid stderr.
33967         (main): Move stderr to a temporary file.
33968         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
33969         Instead, add parameter to inform caller if output occurred.
33970         (test_getopt): Adjust all existing tests to expect silence, and
33971         add new tests of leading ":".
33972         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33973         glibc shortcomings with leading "-:" or "+:" in optstring.
33974         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33975         Likewise.
33976         * doc/posix-functions/getopt.texi (getopt): Likewise.
33977
33978         test-getopt: enhance test
33979         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
33980         supports optind=0.
33981         * tests/test-getopt.c (OPTIND_MIN): Move...
33982         * tests/test-getopt.h (OPTIND_MIN): ...here.
33983         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
33984         Require that optind=0 works, since modern BSD supports it in
33985         addition to optreset, and since coreutils expects it.
33986         (test_getopt_long_only): New test.
33987         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33988         glibc shortcomings with 'W;', and enforcement of optind=0.
33989         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33990         Likewise.
33991
33992 2009-12-21  Bruno Haible  <bruno@clisp.org>
33993
33994         localename: Improvements for MacOS X and Cygwin.
33995         * lib/localename.h (gl_locale_name_environ): New declaration.
33996         * lib/localename.c (gl_locale_name_environ): New function, extracted from
33997         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
33998         (gl_locale_name_posix): Invoke it.
33999         (gl_locale_name_default): Add comments. Use Windows native API also on
34000         Cygwin.
34001
34002 2009-12-21  Bruno Haible  <bruno@clisp.org>
34003
34004         Update list of Win32 locale ids.
34005         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
34006         (LANG_SAMI): Renamed from LANG_SAAMI.
34007         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
34008         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
34009         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
34010         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
34011         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
34012         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
34013         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
34014         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
34015         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
34016         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
34017         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
34018         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
34019         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
34020         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
34021         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
34022         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
34023         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
34024         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
34025         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
34026         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
34027         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
34028         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
34029         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
34030         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
34031         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
34032         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
34033         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
34034         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
34035         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
34036         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
34037         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
34038         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
34039         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
34040         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
34041         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
34042         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
34043         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
34044         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
34045         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
34046         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
34047         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
34048         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
34049         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
34050         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
34051         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
34052         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
34053         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
34054         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
34055         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
34056         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
34057         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
34058         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
34059         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
34060         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
34061         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
34062         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
34063         Add more languages and countries for Sami, Sorbian. Add more countries
34064         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
34065         for Pashto. Change country for Syriac, Tswana.
34066
34067 2009-12-21  Eric Blake  <ebb9@byu.net>
34068
34069         test-utimens: avoid spurious failure
34070         * tests/test-chown.h (nap): Factor...
34071         * tests/nap.h: ...into new file.
34072         * tests/test-lchown.h (nap): Avoid duplication.
34073         * tests/test-utimens-common.h (nap): Use shared implementation,
34074         necessary on file systems with 1-second resolution.
34075         * modules/chown-tests (Files): Include new file.
34076         * modules/fdutimensat-tests (Files): Likewise.
34077         * modules/futimens-tests (Files): Likewise.
34078         * modules/lchown-tests (Files): Likewise.
34079         * modules/openat-tests (Files): Likewise.
34080         * modules/utimens-tests (Files): Likewise.
34081         * modules/utimensat-tests (Files): Likewise.
34082
34083 2009-12-19  Eric Blake  <ebb9@byu.net>
34084
34085         futimens, utimensat: work around Linux bug
34086         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
34087         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34088         * lib/utimensat.c (rpl_utimensat): Work around it.
34089         * lib/futimens.c (rpl_futimens): Adjust comment.
34090
34091         utimens: work around Linux ctime bug
34092         * lib/utimens.c (detect_ctime_bug): New helper function.
34093         (update_timespec): Differentiate between workaround needed for
34094         this bug vs. what is needed for systems that lack utimensat.
34095         (fdutimens, lutimens): Work around bug.
34096
34097         utimens: check for ctime update
34098         * tests/test-utimens-common.h (check_ctime): Define.
34099         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
34100         * tests/test-futimens.h (test_futimens): Likewise.
34101         * tests/test-lutimens.h (test_lutimens): Likewise.
34102         * doc/posix-functions/futimens.texi (futimens): Document the bug.
34103         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34104
34105 2009-12-19  Bruno Haible  <bruno@clisp.org>
34106
34107         dprintf-posix: Check against memory leak fixed on 2009-12-15.
34108         * tests/test-dprintf-posix2.sh: New file.
34109         * tests/test-dprintf-posix2.c: New file.
34110         * modules/dprintf-posix-tests (Files): Add them.
34111         (configure.ac): Check for getrlimit and setrlimit.
34112         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34113
34114 2009-12-19  Bruno Haible  <bruno@clisp.org>
34115
34116         fprintf-posix: Check against memory leak fixed on 2009-12-15.
34117         * tests/test-fprintf-posix3.sh: New file.
34118         * tests/test-fprintf-posix3.c: New file.
34119         * modules/fprintf-posix-tests (Files): Add them.
34120         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34121
34122 2009-12-19  Eric Blake  <ebb9@byu.net>
34123
34124         dirfd: fix prototype
34125         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
34126         * lib/dirfd.c (dirfd): Likewise.
34127
34128         canonicalize: reduce memory usage
34129         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
34130         allocation to size.
34131         Reported by Solar Designer <solar@openwall.com>.
34132
34133 2009-12-19  Bruno Haible  <bruno@clisp.org>
34134
34135         New module attribute 'Applicability'.
34136         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
34137         * gnulib-tool: New option --extract-applicability.
34138         (func_usage): Document it.
34139         (sed_extract_prog): Recognize it.
34140         (func_get_applicability): New function.
34141         (func_import): Generalize handling of 'link-warning' module.
34142         * modules/link-warning (Applicability): New section.
34143         * modules/arg-nonnull (Applicability): New section.
34144         Repoted by Simon Josefsson <simon@josefsson.org>.
34145
34146 2009-12-19  Bruno Haible  <bruno@clisp.org>
34147
34148         fflush: tweak
34149         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
34150         * lib/fseeko.c (rpl_fseeko): Likewise.
34151
34152 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
34153
34154         * lib/gl_list.h: Fix typo in comment.
34155
34156 2009-12-16  Eric Blake  <ebb9@byu.net>
34157
34158         fcntl: use to simplify other modules
34159         * modules/cloexec (Depends-on): Add fcntl.
34160         * modules/fchdir (Depends-on): Likewise.
34161         * modules/fd-safer-flag (Depends-on): Likewise.
34162         * modules/unistd-safer (Depends-on): Likewise.
34163         * modules/dup3 (configure.ac): Set module indicator.
34164         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
34165         missing.
34166         * lib/fchdir.c (_gl_register_dup): Fix comment.
34167         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
34168         * lib/dup-safer.c (dup_safer): Likewise.
34169         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
34170         * lib/dup3.c (dup3): Likewise.
34171         * tests/test-fchdir.c (main): Enhance test.
34172         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
34173
34174         fcntl: port portions of fcntl to mingw
34175         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
34176         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
34177         replacement for mingw.
34178         * modules/fcntl (Description): Update.
34179         (Depends-on): Add dup2.
34180         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
34181         * modules/fcntl-h (Makefile.am): Substitute it.
34182         * lib/fcntl.in.h (fcntl): Update declaration.
34183         (F_DUPFD, F_GETFD): New macros, when needed.
34184         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34185         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
34186         * tests/test-fcntl.c (check_flags, main): Enhance test for items
34187         we now guarantee.
34188
34189         fcntl: work around cygwin bug in F_DUPFD
34190         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
34191         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
34192         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
34193         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
34194         * doc/posix-functions/fcntl.texi (fcntl): Document it.
34195
34196         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
34197         * modules/fcntl (Files): List new files.
34198         (configure.ac): Run a test.
34199         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
34200         * lib/fcntl.c (rpl_fcntl): Likewise.
34201         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
34202         (gl_FCNTL_H): Always replace fcntl.h.
34203         * modules/fcntl-h (Makefile.am): Substitute witnesses.
34204         * lib/fcntl.in.h (fcntl): Declare replacement.
34205         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
34206         needed, plus a witness.
34207         * doc/posix-functions/fcntl.texi (fcntl): Document this.
34208         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
34209         * tests/test-fcntl.c: New file.
34210         * modules/fcntl-tests: Likewise.
34211
34212         binary-io: avoid potential compilation warning
34213         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
34214         directives.
34215
34216         fflush: avoid compilation error on NetBSD
34217         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
34218         between off_t and fpos_t, since the latter is sometimes a struct.
34219         * lib/fseeko.c (rpl_fseeko): Likewise.
34220         Reported by Alexander Nasonov <alnsn@yandex.ru>.
34221
34222 2009-12-15  Eric Blake  <ebb9@byu.net>
34223
34224         fcntl-h, stdio, sys_ioctl: fix declarations
34225         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
34226         function must not take arguments.
34227         * lib/sys_ioctl.in.h (ioctl): Likewise.
34228         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
34229         (open): Add a link warning.
34230
34231 2009-12-15  Jim Meyering  <meyering@redhat.com>
34232
34233         areadlink, areadlink-with-size: relax license to LGPLv2+
34234         * modules/areadlink (License): Relax to LGPLv2+.
34235         * modules/areadlink-with-size (License): Likewise.
34236
34237 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
34238             Bruno Haible  <bruno@clisp.org>
34239
34240         *printf: Fix memory leak.
34241         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
34242         * lib/vfprintf.c (vfprintf): Likewise.
34243         * lib/dprintf.c (dprintf): Likewise.
34244         * lib/vdprintf.c (vdprintf): Likewise.
34245
34246 2009-12-14  Eric Blake  <ebb9@byu.net>
34247
34248         accept4: adjust module dependencies
34249         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
34250
34251         utimens: one more try at avoiding compiler warning
34252         * lib/utimens.c (lutimens): Lower scope of result.
34253
34254 2009-12-13  Bruno Haible  <bruno@clisp.org>
34255
34256         Move the malloc checking from module 'list' to new module 'xlist'.
34257         * modules/xlist: New file.
34258         * lib/gl_xlist.h: New file.
34259         * lib/gl_xlist.c: New file.
34260         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
34261         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
34262         gl_list_add_last, gl_list_add_before, gl_list_add_after,
34263         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
34264         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
34265         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
34266         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
34267         gl_sortedlist_nx_add): New declarations.
34268         (struct gl_list_implementation): Rename and change methods accordingly.
34269         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
34270         (gl_list_nx_create): Renamed from gl_list_create.
34271         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34272         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34273         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34274         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34275         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34276         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34277         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34278         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34279         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
34280         gl_list_create_empty.
34281         (gl_list_nx_create): Renamed from gl_list_create.
34282         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34283         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34284         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34285         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34286         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34287         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34288         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34289         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34290         * lib/gl_array_list.c: Don't include xalloc.h.
34291         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
34292         NULL upon out-of-memory.
34293         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
34294         out-of-memory.
34295         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
34296         Change return type to 'int'.
34297         (gl_array_nx_set_at): Renamed from gl_array_set_at.
34298         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34299         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
34300         upon out-of-memory.
34301         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
34302         upon out-of-memory.
34303         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
34304         upon out-of-memory.
34305         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
34306         upon out-of-memory.
34307         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
34308         out-of-memory.
34309         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
34310         Update.
34311         (gl_array_list_implementation): Update.
34312         * lib/gl_carray_list.c: Don't include xalloc.h.
34313         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
34314         Return NULL upon out-of-memory.
34315         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
34316         out-of-memory.
34317         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
34318         Change return type to 'int'.
34319         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
34320         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34321         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
34322         upon out-of-memory.
34323         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
34324         upon out-of-memory.
34325         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
34326         out-of-memory.
34327         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
34328         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
34329         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
34330         Update.
34331         (gl_carray_list_implementation): Update.
34332         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
34333         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
34334         gl_linked_create_empty. Return NULL upon out-of-memory.
34335         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
34336         out-of-memory.
34337         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
34338         Change return type to 'int'. Return -1 upon out-of-memory.
34339         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
34340         out-of-memory.
34341         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
34342         upon out-of-memory.
34343         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
34344         upon out-of-memory.
34345         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
34346         NULL upon out-of-memory.
34347         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
34348         upon out-of-memory.
34349         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
34350         out-of-memory.
34351         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
34352         Update.
34353         * lib/gl_linked_list.c: Don't include xalloc.h.
34354         (gl_linked_list_implementation): Update.
34355         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
34356         (add_to_bucket): Change return type to 'int'.
34357         (gl_linkedhash_list_implementation): Update.
34358         * lib/gl_anytree_list1.h (free_subtree): New function.
34359         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
34360         gl_tree_create_empty. Return NULL upon out-of-memory.
34361         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
34362         Change return type to 'int'. Return -1 upon out-of-memory.
34363         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
34364         out-of-memory.
34365         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
34366         (gl_tree_remove_node): New function, moved here from
34367         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
34368         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
34369         Update.
34370         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
34371         malloc, not xmalloc. Return NULL upon out-of-memory.
34372         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34373         out-of-memory.
34374         (gl_tree_remove_node_from_tree): New function, extracted from
34375         gl_tree_remove_node.
34376         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34377         upon out-of-memory.
34378         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34379         out-of-memory.
34380         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34381         upon out-of-memory.
34382         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34383         upon out-of-memory.
34384         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34385         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
34386         not xmalloc. Return NULL upon out-of-memory.
34387         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34388         out-of-memory.
34389         (gl_tree_remove_node_from_tree): New function, extracted from
34390         gl_tree_remove_node.
34391         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34392         upon out-of-memory.
34393         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34394         out-of-memory.
34395         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34396         upon out-of-memory.
34397         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34398         upon out-of-memory.
34399         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34400         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
34401         gl_anytree_list1.h before gl_anyavltree_list2.h.
34402         (gl_avltree_list_implementation): Update.
34403         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
34404         gl_anytree_list1.h before gl_anyavltree_list2.h.
34405         (gl_rbtree_list_implementation): Update.
34406         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
34407         Change return type to 'int'. Return -1 upon out-of-memory. Use
34408         __builtin_expect.
34409         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
34410         (gl_avltreehash_list_implementation): Update.
34411         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
34412         (gl_rbtreehash_list_implementation): Update.
34413         * modules/array-list (Depends-on): Remove xalloc.
34414         * modules/carray-list (Depends-on): Likewise.
34415         * modules/linked-list (Depends-on): Likewise.
34416         * modules/linkedhash-list (Depends-on): Likewise.
34417         * modules/avltree-list (Depends-on): Likewise.
34418         * modules/rbtree-list (Depends-on): Likewise.
34419         * modules/avltreehash-list (Depends-on): Likewise.
34420         * modules/rbtreehash-list (Depends-on): Likewise.
34421
34422         * modules/xsublist: New file.
34423         * lib/gl_xsublist.h: New file.
34424         * lib/gl_xsublist.c: New file.
34425         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
34426         (gl_sublist_nx_create): New declaration.
34427         * lib/gl_sublist.c: Don't include xalloc.h.
34428         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
34429         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
34430         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
34431         Change return type to 'int'. Return -1 upon out-of-memory.
34432         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
34433         upon out-of-memory.
34434         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
34435         NULL upon out-of-memory.
34436         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
34437         upon out-of-memory.
34438         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
34439         NULL upon out-of-memory.
34440         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
34441         NULL upon out-of-memory.
34442         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
34443         upon out-of-memory.
34444         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
34445         (gl_sublist_list_implementation): Update.
34446         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
34447         upon out-of-memory.
34448         * modules/sublist (Depends-on): Remove xalloc.
34449
34450         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
34451         * tests/test-carray_list.c: Likewise.
34452         * tests/test-linked_list.c: Likewise.
34453         * tests/test-linkedhash_list.c: Likewise.
34454         * tests/test-avltree_list.c: Likewise.
34455         * tests/test-rbtree_list.c: Likewise.
34456         * tests/test-avltreehash_list.c: Likewise.
34457         * tests/test-rbtreehash_list.c: Likewise.
34458         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
34459         * modules/carray-list-tests (Makefile.am): Likewise.
34460         * modules/linked-list-tests (Makefile.am): Likewise.
34461         * modules/linkedhash-list-tests (Makefile.am): Likewise.
34462         * modules/avltree-list-tests (Makefile.am): Likewise.
34463         * modules/rbtree-list-tests (Makefile.am): Likewise.
34464         * modules/avltreehash-list-tests (Makefile.am): Likewise.
34465         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
34466
34467         * NEWS: Mention the changes.
34468
34469         * lib/clean-temp.c: Include gl_xlist.h.
34470         * modules/clean-temp (Depends-on): Add xlist.
34471
34472         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
34473         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
34474
34475         * tests/test-array_oset.c: Include gl_xlist.h.
34476         * modules/array-oset-tests (Depends-on): Add xlist.
34477
34478         Reported by José E. Marchesi <jemarch@gnu.org>.
34479
34480 2009-12-13  Bruno Haible  <bruno@clisp.org>
34481
34482         Move the malloc checking from module 'oset' to new module 'xoset'.
34483         * modules/xoset: New file.
34484         * lib/gl_xoset.h: New file.
34485         * lib/gl_xoset.c: New file.
34486         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
34487         declarations.
34488         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
34489         (struct gl_oset_implementation): Rename and change methods accordingly.
34490         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
34491         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34492         'int'. Mark as __warn_unused_result__.
34493         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
34494         gl_oset_create_empty.
34495         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34496         'int'.
34497         * lib/gl_array_oset.c: Don't include xalloc.h.
34498         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
34499         malloc, not xmalloc.
34500         (grow): Change return type to 'int'. Don't call xalloc_die.
34501         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
34502         to 'int'.
34503         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
34504         'int'.
34505         (gl_array_oset_implementation): Update.
34506         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
34507         gl_tree_create_empty.
34508         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
34509         'int'.
34510         * lib/gl_avltree_oset.c: Don't include xalloc.h.
34511         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34512         xmalloc.
34513         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34514         not xmalloc.
34515         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34516         xmalloc.
34517         (gl_avltree_oset_implementation): Update.
34518         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
34519         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34520         xmalloc.
34521         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34522         not xmalloc.
34523         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34524         xmalloc.
34525         (gl_rbtree_oset_implementation): Update.
34526         * modules/array-oset (Depends-on): Remove xalloc.
34527         * modules/avltree-oset (Depends-on): Likewise.
34528         * modules/rbtree-oset (Depends-on): Likewise.
34529         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
34530         * tests/test-avltree_oset.c: Likewise.
34531         * tests/test-rbtree_oset.c: Likewise.
34532         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
34533         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
34534         * modules/rbtree-oset-tests (Makefile.am): Likewise.
34535         * NEWS: Mention the change.
34536
34537 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
34538
34539         maint.mk: allow a project to override release-prep commands
34540         * top/maint.mk (alpha, beta, stable): Move release-preparatory
34541         commands into a new rule.
34542         (release-prep): New rule.
34543         (release-prep-hook): New overridable variable.
34544
34545 2009-12-13  Bruno Haible  <bruno@clisp.org>
34546
34547         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
34548
34549 2009-12-13  Jim Meyering  <meyering@redhat.com>
34550
34551         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
34552         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
34553
34554 2009-12-12  Bruno Haible  <bruno@clisp.org>
34555
34556         duplocale: Tweak.
34557         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
34558
34559 2009-12-12  Karl Berry  <karl@gnu.org>
34560
34561         * config/srclist.txt (strtoll.c): tab changes, no more sync.
34562
34563 2009-12-12  Bruno Haible  <bruno@clisp.org>
34564
34565         * m4/po.m4: Undo incorrect untabification.
34566
34567 2009-12-12  Bruno Haible  <bruno@clisp.org>
34568
34569         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
34570         * modules/c-strtod (Depends-on): Add locale.
34571         * modules/c-strtold (Depends-on): Likewise.
34572
34573 2009-12-12  Bruno Haible  <bruno@clisp.org>
34574
34575         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
34576
34577 2009-12-11  Eric Blake  <ebb9@byu.net>
34578
34579         setenv: relax requirement in light of POSIX ruling
34580         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
34581         not NULL.
34582         * tests/test-setenv.c (main): Relax test.
34583         * tests/test-unsetenv.c (main): Likewise.
34584         * doc/posix-functions/setenv.texi (setenv): Document this.
34585         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34586
34587 2009-12-11  Bruno Haible  <bruno@clisp.org>
34588
34589         New module 'fd-safer-flag'.
34590         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
34591         * lib/dup-safer.c (dup_safer_flag): Remove function.
34592         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
34593         * lib/fd-safer.c (fd_safer_flag): Remove function.
34594         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
34595         * modules/cloexec (configure.ac): Drop indicator macro.
34596         * modules/fd-safer-flag: New file.
34597         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
34598         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
34599         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
34600
34601 2009-12-11  Bruno Haible  <bruno@clisp.org>
34602
34603         Tests for module 'nl_langinfo'.
34604         * modules/nl_langinfo-tests: New file.
34605         * tests/test-nl_langinfo.sh: New file.
34606         * tests/test-nl_langinfo.c: New file.
34607
34608         New module 'nl_langinfo'.
34609         * lib/nl_langinfo.c: New file.
34610         * m4/nl_langinfo.m4: New file.
34611         * modules/nl_langinfo: New file.
34612         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
34613
34614 2009-12-11  Bruno Haible  <bruno@clisp.org>
34615
34616         Tests for module 'langinfo'.
34617         * modules/langinfo-tests: New file.
34618         * tests/test-langinfo.c: New file.
34619
34620         New module 'langinfo'.
34621         * lib/langinfo.in.h: New file.
34622         * m4/langinfo_h.m4: New file.
34623         * modules/langinfo: New file.
34624         * doc/posix-headers/langinfo.texi: Mention the new module.
34625
34626 2009-12-11  Bruno Haible  <bruno@clisp.org>
34627
34628         * lib/config.charset: Untabify.
34629
34630 2009-12-11  Bruno Haible  <bruno@clisp.org>
34631
34632         * modules/unistd-safer (configure.ac): Drop indicator macro.
34633
34634 2009-12-11  Bruno Haible  <bruno@clisp.org>
34635
34636         Move pipe2-safer code to its own file.
34637         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
34638         * lib/pipe-safer.c (pipe2_safer): Remove function.
34639         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
34640         (Makefile.am): Add it to lib_SOURCES.
34641
34642 2009-12-10  Bruno Haible  <bruno@clisp.org>
34643
34644         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
34645
34646 2009-12-10  Bruno Haible  <bruno@clisp.org>
34647
34648         Declare which arguments expect non-NULL values, for GCC and clang.
34649         * build-aux/arg-nonnull.h: New file.
34650         * modules/arg-nonnull: New file.
34651         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
34652         (inet_ntop, inet_pton): Use it.
34653         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
34654         (closedir, dirfd, opendir, scandir, alphasort): Use it.
34655         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
34656         (open, openat): Use it.
34657         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
34658         (fnmatch): Use it.
34659         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
34660         (getopt, getopt_long, getopt_long_only): Use it.
34661         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
34662         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
34663         Use it.
34664         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
34665         (iconv_open): Use it.
34666         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
34667         (strtoimax, strtoumax): Use it.
34668         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
34669         (duplocale): Use it.
34670         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
34671         (frexp, frexpl): Use it.
34672         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
34673         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
34674         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
34675         (tsearch, tfind, tdelete, twalk): Use it.
34676         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
34677         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34678         sigpending): Use it.
34679         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
34680         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34681         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34682         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34683         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34684         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34685         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34686         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34687         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34688         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34689         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34690         Use it.
34691         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
34692         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
34693         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
34694         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
34695         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
34696         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
34697         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
34698         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
34699         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
34700         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
34701         strtoull, unsetenv): Use it.
34702         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
34703         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34704         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34705         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34706         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34707         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
34708         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
34709         (strcasecmp, strncasecmp): Use it.
34710         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
34711         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
34712         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
34713         rpl_setsockopt): Use it.
34714         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
34715         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
34716         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
34717         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
34718         (gettimeofday): Use it.
34719         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
34720         (times): Use it.
34721         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
34722         (uname): Use it.
34723         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
34724         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
34725         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
34726         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
34727         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
34728         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
34729         unlinkat, write): Use it.
34730         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
34731         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
34732         * lib/argv-iter.h: Include arg-nonnull.h.
34733         (_ATTRIBUTE_NONNULL_): Remove macro.
34734         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
34735         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
34736         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
34737         optimization.
34738         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
34739         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
34740         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
34741         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
34742         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
34743         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
34744         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
34745         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
34746         * modules/arpa_inet (Depends-on): Add arg-nonnull.
34747         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
34748         * modules/dirent (Depends-on): Add arg-nonnull.
34749         (Makefile.am): Insert arg-nonnull.h into dirent.h.
34750         * modules/fcntl-h (Depends-on): Add arg-nonnull.
34751         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
34752         * modules/fnmatch (Depends-on): Add arg-nonnull.
34753         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
34754         * modules/getopt-posix (Depends-on): Add arg-nonnull.
34755         (Makefile.am): Insert arg-nonnull.h into getopt.h.
34756         * modules/glob (Depends-on): Add arg-nonnull.
34757         (Makefile.am): Insert arg-nonnull.h into glob.h.
34758         * modules/iconv_open (Depends-on): Add arg-nonnull.
34759         (Makefile.am): Insert arg-nonnull.h into iconv.h.
34760         * modules/inttypes (Depends-on): Add arg-nonnull.
34761         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
34762         * modules/locale (Depends-on): Add arg-nonnull.
34763         (Makefile.am): Insert arg-nonnull.h into locale.h.
34764         * modules/math (Depends-on): Add arg-nonnull.
34765         (Makefile.am): Insert arg-nonnull.h into math.h.
34766         * modules/netdb (Depends-on): Add arg-nonnull.
34767         (Makefile.am): Insert arg-nonnull.h into netdb.h.
34768         * modules/search (Depends-on): Add arg-nonnull.
34769         (Makefile.am): Insert arg-nonnull.h into search.h.
34770         * modules/signal (Depends-on): Add arg-nonnull.
34771         (Makefile.am): Insert arg-nonnull.h into signal.h.
34772         * modules/spawn (Depends-on): Add arg-nonnull.
34773         (Makefile.am): Insert arg-nonnull.h into spawn.h.
34774         * modules/stdio (Depends-on): Add arg-nonnull.
34775         (Makefile.am): Insert arg-nonnull.h into stdio.h.
34776         * modules/stdlib (Depends-on): Add arg-nonnull.
34777         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
34778         * modules/string (Depends-on): Add arg-nonnull.
34779         (Makefile.am): Insert arg-nonnull.h into string.h.
34780         * modules/strings (Depends-on): Add arg-nonnull.
34781         (Makefile.am): Insert arg-nonnull.h into strings.h.
34782         * modules/sys_socket (Depends-on): Add arg-nonnull.
34783         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
34784         * modules/sys_stat (Depends-on): Add arg-nonnull.
34785         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
34786         * modules/sys_time (Depends-on): Add arg-nonnull.
34787         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
34788         * modules/sys_times (Depends-on): Add arg-nonnull.
34789         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
34790         * modules/sys_utsname (Depends-on): Add arg-nonnull.
34791         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
34792         * modules/time (Depends-on): Add arg-nonnull.
34793         (Makefile.am): Insert arg-nonnull.h into time.h.
34794         * modules/unistd (Depends-on): Add arg-nonnull.
34795         (Makefile.am): Insert arg-nonnull.h into unistd.h.
34796         * modules/wchar (Depends-on): Add arg-nonnull.
34797         (Makefile.am): Insert arg-nonnull.h into wchar.h.
34798         * modules/argv-iter (Depends-on): Add arg-nonnull.
34799         * tests/test-canonicalize.c (null_ptr): New function.
34800         (main): Use it.
34801         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
34802         (main): Use it.
34803         * tests/test-memmem.c (null_ptr): New function.
34804         (main): Use it.
34805         Reported by Jim Meyering.
34806
34807 2009-12-10  Bruno Haible  <bruno@clisp.org>
34808
34809         Use spaces for indentation, not tabs.
34810         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
34811         * m4/*.m4: Untabify.
34812         * build-aux/*.h: Untabify.
34813         * tests/**/*.[hc]: Untabify.
34814         * README: New section "Indent with spaces, not TABs", based on
34815         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
34816         * NEWS: Mention the change.
34817
34818 2009-12-10  Bruno Haible  <bruno@clisp.org>
34819
34820         pty test: Fix link error.
34821         * modules/pty-tests (Makefile.am): Add the default LDADD value to
34822         test_pty_LDADD.
34823
34824 2009-12-07  Simon Josefsson  <simon@josefsson.org>
34825
34826         * modules/pty: New file.
34827         * modules/pty-tests: New file.
34828         * m4/pty.m4: New file.
34829         * tests/test-pty.c: New file.
34830         * doc/glibc-headers/pty.texi: Modified.
34831         * doc/glibc-functions/forkpty.texi: Modified.
34832         * doc/glibc-functions/openpty.texi: Modified.
34833
34834 2009-12-10  Bruno Haible  <bruno@clisp.org>
34835
34836         Avoid syntax error in C++ mode.
34837         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
34838
34839 2009-12-10  Bruno Haible  <bruno@clisp.org>
34840
34841         Use sed with option -e.
34842         * gnulib-tool (func_version, func_emit_copyright_notice,
34843         func_emit_initmacro_end, func_import, func_create_testdir): Pass
34844         option -e to sed.
34845         * modules/link-warning (Makefile.am): Likewise.
34846
34847 2009-12-10  Jim Meyering  <meyering@redhat.com>
34848
34849         mgetgroups: do not write bytes beyond end of malloc'd buffer
34850         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
34851         username, we call getgroups with a one-element-shorter buffer,
34852         but still told it the length was original, max_n_groups.
34853
34854 2009-12-09  Eric Blake  <ebb9@byu.net>
34855
34856         cloexec: relax license
34857         * modules/cloexec (Maintainer): Add myself.
34858         (License): Use LGPL, not GPL.
34859
34860         link-warning: optimize generation
34861         * modules/link-warning (Makefile.am): Reduce process usage.
34862
34863 2009-12-09  Bruno Haible  <bruno@clisp.org>
34864
34865         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
34866         workaround was added on 2009-11-17.
34867
34868 2009-12-09  Jim Meyering  <meyering@redhat.com>
34869             Bruno Haible  <bruno@clisp.org>
34870
34871         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
34872         * modules/link-warning (Makefile.am): Make the comment-removing sed
34873         command more robust in the face of bootstrap-prepended comment lines.
34874
34875 2009-12-09  Bruno Haible  <bruno@clisp.org>
34876
34877         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
34878         most one group.
34879
34880 2009-12-09  Simon Josefsson <simon@josefsson.org>
34881             Bruno Haible  <bruno@clisp.org>
34882
34883         * build-aux/link-warning.h: Add copyright notice.
34884         * modules/link-warning (Makefile.am): Generate link-warning.h from
34885         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
34886         * NEWS: Mention change in link-warning module.
34887         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
34888         * modules/dirent (Makefile.am): Add dependency to dirent.h.
34889         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
34890         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
34891         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
34892         * modules/math (Makefile.am): Add dependency to math.h.
34893         * modules/search (Makefile.am): Add dependency to search.h.
34894         * modules/signal (Makefile.am): Add dependency to signal.h.
34895         * modules/spawn (Makefile.am): Add dependency to spawn.h.
34896         * modules/stdio (Makefile.am): Add dependency to stdio.h.
34897         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
34898         * modules/string (Makefile.am): Add dependency to string.h.
34899         * modules/strings (Makefile.am): Add dependency to strings.h.
34900         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
34901         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
34902         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
34903         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
34904         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
34905         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
34906         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
34907         * modules/unistd (Makefile.am): Add dependency to unistd.h.
34908         * modules/wchar (Makefile.am): Add dependency to wchar.h.
34909
34910 2009-12-09  Bruno Haible  <bruno@clisp.org>
34911
34912         fchdir: Optimize away rpl_fstat when possible.
34913         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
34914         REPLACE_OPEN_DIRECTORY.
34915         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
34916
34917 2009-12-09  Bruno Haible  <bruno@clisp.org>
34918
34919         * lib/fchdir.c: Update comment.
34920
34921 2009-12-09  Bruno Haible  <bruno@clisp.org>
34922
34923         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
34924
34925 2009-12-08  Eric Blake  <ebb9@byu.net>
34926
34927         fchdir: avoid memory leak on re-registration.
34928         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
34929
34930 2009-12-08  Jim Meyering  <meyering@redhat.com>
34931
34932         init.sh: avoid Solaris 10 /bin/sh portability problem
34933         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
34934         sourced script:
34935           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
34936           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
34937           bar
34938         tests/init.sh relied on that, accepting a --set-path=DIR argument,
34939         and two tests used that idiom.
34940         * tests/init.sh: Update suggested usage comments.
34941         (path_prepend_): New function, to be used in place
34942         of the --src-path=DIR option.
34943         (setup_): Move PATH-prepending code into path_prepend_.
34944         * tests/test-pread.sh: Adapt to new usage.
34945         * tests/test-xalloc-die.sh: Likewise.
34946
34947 2009-12-08  Simon Josefsson  <simon@josefsson.org>
34948
34949         * doc/gnulib.texi (Glibc pty.h): Add.
34950         * doc/glibc-functions/forkpty.texi: Add.
34951         * doc/glibc-functions/openpty.texi: Add.
34952         Suggested by Bruno Haible.
34953
34954 2009-12-08  Eric Blake  <ebb9@byu.net>
34955
34956         fchdir: fix logic bugs
34957         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
34958         * tests/test-fchdir.c (main): Enhance test.
34959         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
34960         is in use.
34961
34962         dup2: fix logic bugs
34963         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
34964         REPLACE_DUP2 to decide when rpl_dup2 is needed.
34965         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
34966         exists.
34967         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
34968
34969 2009-12-07  Eric Blake  <ebb9@byu.net>
34970
34971         unlink: fix m4 detection
34972         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
34973
34974         unistd-safer: add unit test
34975         * modules/unistd-safer-tests: New file.
34976         * tests/test-dup-safer.c: Likewise.
34977         * tests/test-cloexec.c (setmode): Avoid compiler warning.
34978         * tests/test-dup2.c (setmode): Likewise.
34979         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
34980
34981         cloexec: preserve text vs. binary across dup_cloexec
34982         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
34983         mode.
34984         * modules/dup2-tests (Depends-on): Add binary-io.
34985         * modules/cloexec-tests (Depends-on): Likewise.
34986         * tests/test-dup2.c (setmode, is_mode): New helpers.
34987         (main): Add tests that translation mode is preserved.
34988         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
34989         Reported by Bruno Haible.
34990
34991         mgetgroups: reduce duplicate listings
34992         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
34993         resulting array.
34994         * tests/test-chown.h (test_chown): Simplify client.
34995         * tests/test-lchown.h (test_lchown): Likewise.
34996
34997 2009-12-06  Bruno Haible  <bruno@clisp.org>
34998
34999         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
35000         value.
35001
35002 2009-12-06  Bruno Haible  <bruno@clisp.org>
35003
35004         * lib/progname.c: Include stdio.h, stdlib.h.
35005         (set_program_name): Reject a NULL argument.
35006
35007 2009-12-05  Eric Blake  <ebb9@byu.net>
35008
35009         pipe2-safer: new module
35010         * modules/pipe2-safer: New file.
35011         * lib/unistd-safer.h (pipe2_safer): New prototype.
35012         * lib/unistd--.h (pipe2): New wrapper.
35013         * lib/pipe-safer.c (pipe2_safer): New function.
35014         * modules/pipe (Depends-on): Add pipe2-safer.
35015         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
35016
35017         stdlib-safer: preserve cloexec flag for mkostemp[s]
35018         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
35019         fd_safer_flag.
35020
35021         unistd-safer: allow preservation of cloexec status via flag
35022         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
35023         prototypes.
35024         * lib/dup-safer.c (dup_safer_flag): New function.
35025         * lib/fd-safer.c (fd_safer_flag): Likewise.
35026         * modules/cloexec (configure.ac): Set witness.
35027
35028         test-dup2: enhance test
35029         * modules/dup2-tests (Depends-on): Add cloexec.
35030         * tests/test-dup2.c (main): Enhance test.
35031
35032         cloexec: add dup_cloexec
35033         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
35034         header and comments.
35035         * lib/cloexec.c (set_cloexec_flag): Add comments.
35036         (dup_cloexec): New function, with mingw implementation borrowed
35037         from...
35038         * lib/w32spawn.h (dup_noinherit): ...here.
35039         * modules/execute (Depends-on): Add cloexec.
35040         * modules/pipe (Depends-on): Likewise.
35041         * modules/cloexec (Depends-on): Add dup2.
35042         * modules/cloexec-tests (Files): New file.
35043         * tests/test-cloexec.c: Likewise.
35044
35045         test-xalloc-die: fix test for mingw
35046         * modules/xalloc-die-tests (Files): Add tests/init.sh.
35047         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
35048         directory and .exe suffix off argv[0] output.
35049
35050         test-fseeko: fix test for mingw
35051         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
35052         than undefining fseek, so test will pass on mingw.
35053
35054 2009-12-05  Bruno Haible  <bruno@clisp.org>
35055
35056         * lib/progname.h (set_program_name): Clarify specification.
35057         * lib/progname.c (set_program_name): Likewise.
35058         Reported by Jim Meyering.
35059
35060 2009-12-05  Jim Meyering  <meyering@redhat.com>
35061
35062         maint.mk: backslash-escape parens in default regexp
35063         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
35064         backslash-escape the literal parentheses.
35065
35066         maint.mk: news-date-check: use grep -E
35067         * top/maint.mk (today): Define a Make variable, not a...
35068         (news-date-check): ...shell variable.
35069         (news-date-regexp): Use the Make variable.
35070         Use grep's -E option.  Change the failing diagnostic to mention
35071         the variable, $(news-date-regexp).
35072
35073 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
35074
35075         maintainer-makefile: allow customization of NEWS entry format
35076         * top/maint.mk (news-date-regexp): New overridable variable.
35077         (news-date-check): Use it.
35078
35079 2009-12-04  Eric Blake  <ebb9@byu.net>
35080
35081         mgetgroups: add xgetgroups, and avoid ENOSYS failures
35082         * lib/mgetgroups.h (xgetgroups): New prototype.
35083         * lib/mgetgroups.c (xgetgroups): New wrapper.
35084         (mgetgroups): Handle ENOSYS.
35085         * modules/mgetgroups (Depends-on): Add realloc.
35086         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
35087
35088         mgetgroups: avoid argument promotion issues with -1
35089         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
35090         for invalid gid_t.
35091         * tests/test-chown.h (getegid, test_chown): Likewise.
35092         * tests/test-lchown.h (getegid, test_lchown): Likewise.
35093
35094 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
35095
35096         exclude: Fix header file problems.
35097         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
35098
35099 2009-12-01  Jim Meyering  <meyering@redhat.com>
35100
35101         fts: fts_open: do not let an empty string cause immediate failure
35102         This is required in support of GNU rm, for which the command
35103         "rm A '' B" must process and remove both A and B, in spite of
35104         the empty string argument.
35105         * lib/fts.c (fts_open): Do not let the presence of an empty string
35106         cause fts_open to fail immediately.  Most fts-using tools must be
35107         able to process all arguments, in order, and can be expected to
35108         diagnose such arguments themselves.
35109
35110 2009-11-30  Eric Blake  <ebb9@byu.net>
35111
35112         utimens: fix compilation error
35113         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
35114         Declare variable at right scope.
35115
35116 2009-11-29  Jim Meyering  <meyering@redhat.com>
35117
35118         bootstrap: handle perl-5.11's changed --version output
35119         * build-aux/bootstrap (get_version): Handle perl separately,
35120         since perl-5.11's --version output is different.
35121
35122 2009-11-28  Jim Meyering  <meyering@redhat.com>
35123
35124         userspec: depend on the inttostr module, too
35125         * modules/userspec (Depends-on): Add inttostr.
35126
35127         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
35128         * lib/userspec.c (parse_with_separator): Do not accept a user ID
35129         number of MAXUID when it evaluates to (uid_t) -1.
35130         Likewise for group ID.  Reported by Matt McCutchen in
35131         <http://savannah.gnu.org/bugs/?28113>
35132
35133         userspec: reformat to use spaces, not TABs
35134         * lib/userspec.c: Expand TABs to spaces.
35135         Add Emacs' "indent-tabs-mode: nil" hint.
35136
35137 2009-11-27  Eric Blake  <ebb9@byu.net>
35138
35139         getopt-gnu: flush out another BSD bug
35140         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
35141         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
35142         flush out BSD bug.
35143         * tests/test-getopt.h (test_getopt): End lists with NULL.
35144         * tests/test-getopt_long.h (test_getopt_long): Likewise.
35145         (test_getopt_long_posix): Enhance test.
35146         * modules/getopt-posix-tests (Depends-on): Add stdbool.
35147         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
35148         getopt-gnu.
35149         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35150         Likewise.
35151
35152 2009-11-27  Simon Josefsson  <simon@josefsson.org>
35153
35154         * modules/idpriv-droptemp-tests (Notice): Fix text.
35155
35156 2009-11-27  Jim Meyering  <meyering@redhat.com>
35157
35158         test-xalloc-die: avoid spurious failure due to libtool argv difference
35159         In a libtool-enabled project, this test would fail due to a difference
35160         in the emitted program name, e.g.,
35161         -test-xalloc-die: memory exhausted
35162         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
35163         Use program to avoid that.
35164         * modules/xalloc-die-tests (Depends-on): Add progname.
35165         * tests/test-xalloc-die.c: Include progname.h".
35166         (program_name): Remove decl.
35167         (main): Call set_program_name.
35168         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
35169
35170 2009-11-26  Richard Jones  <rjones@redhat.com>
35171
35172         w32sock: leave win32 error in place.
35173         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
35174
35175 2009-11-26  Eric Blake  <ebb9@byu.net>
35176
35177         init.sh: suggest to use skip_ and fail_ functions in comments
35178         * tests/init.sh: Add a sentence.
35179
35180 2009-11-25  Bruno Haible  <bruno@clisp.org>
35181
35182         init.sh: add documentation in comments
35183         * tests/init.sh: Add some developer and user documentation.
35184
35185 2009-11-26  Jim Meyering  <meyering@redhat.com>
35186
35187         init.sh: accommodate even those who specify bogus srcdir manually
35188         * tests/init.sh: Normally, srcdir is guaranteed by automake and
35189         configure-time tests to be sanitized, so that there is no need to
35190         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
35191         (with no double quotes) suffices.  However, since tests may be
35192         invoked manually, and since you may explicitly set srcdir to the
35193         name of a directory containing spaces, do quote its uses here.
35194         * tests/test-pread.sh: Likewise.
35195         Suggested by Bruno Haible.
35196
35197         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
35198         * tests/test-pread.sh: Write no data into the pipe, because
35199         test-pread actually reads none.  This avoids a diagnostic,
35200         "bash: echo: write error: Broken pipe", that arises in the unusual
35201         event something is ignoring SIGPIPE, and might be interpreted
35202         as some sort of failure.  Reported by Bruno Haible.
35203
35204 2009-11-25  Jim Meyering  <meyering@redhat.com>
35205
35206         test-pread: cover failure with ESPIPE and EINVAL
35207         * tests/test-pread.c (main): Test for failure, too.
35208         * tests/test-pread.sh: Invoke with stdin on a pipe.
35209         Suggested by Eric Blake.
35210
35211         pread: improvement and fix
35212         * modules/pread (Depends-on): Depend on lseek, for portability to
35213         e.g., mingw.  Suggested by Eric Blake.
35214         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
35215
35216         unistd.in.h: correct declaration of pread
35217         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
35218         Reported by Richard W.M. Jones.
35219
35220         test-pread.sh: distribute the test script
35221         * modules/pread-tests (Files): Include test-pread.sh.
35222
35223         test-pread.sh: clean up
35224         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
35225         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
35226         That is unnecessary, since it's always ".".
35227         Suggestion from Eric Blake.
35228
35229         test-pread.sh: make executable
35230         * tests/test-pread.sh: Set executable bit.
35231         Reported by Eric Blake.
35232
35233         correct typo in test-pread.sh
35234         * tests/test-pread.sh: Add #! line.
35235
35236         test pread
35237         * tests/test-pread.c: New file.
35238         * tests/test-pread.sh: Likewise.
35239         * modules/pread-tests: Likewise.
35240
35241         pread: new module
35242         * modules/pread: New file.
35243         * lib/unistd.in.h (pread): Define/declare.
35244         * lib/pread.c (pread): New file.
35245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
35246         * modules/unistd (Makefile.am): Substitute witnesses.
35247         * doc/posix-functions/pread.texi (pread): Update.
35248         * MODULES.html.sh: Add pread.
35249
35250 2009-11-25  Jim Meyering  <meyering@redhat.com>
35251
35252         tests/init.sh: new file to be used via most *.sh tests
35253         * tests/init.sh: New file.
35254
35255 2009-11-25  Eric Blake  <ebb9@byu.net>
35256
35257         utimens: work around older Linux failure with symlinks
35258         * lib/utimens.c (lutimensat_works_really): New variable.
35259         (fdutimens, lutimens): Use it to manage kernels that support
35260         nanosecond times on files, but not on symlinks.
35261         Reported by OndÅ™ej Vašík.
35262
35263         utimes: fix configure grammar
35264         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
35265
35266 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
35267
35268         regex: Fix fastmap for multibyte character ranges.
35269         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
35270         characters when a multibyte character range is included.
35271
35272 2009-11-22  Andy Wingo  <wingo@pobox.com>
35273
35274         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
35275         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
35276
35277 2009-11-24  Bruno Haible  <bruno@clisp.org>
35278
35279         doc: Most *_l functions exist in MacOS X 10.5.
35280         * doc/posix-functions/duplocale.texi: Update platforms list.
35281         * doc/posix-functions/freelocale.texi: Likewise.
35282         * doc/posix-functions/newlocale.texi: Likewise.
35283         * doc/posix-functions/uselocale.texi: Likewise.
35284         * doc/posix-functions/isalnum_l.texi: Likewise.
35285         * doc/posix-functions/isalpha_l.texi: Likewise.
35286         * doc/posix-functions/isblank_l.texi: Likewise.
35287         * doc/posix-functions/iscntrl_l.texi: Likewise.
35288         * doc/posix-functions/isdigit_l.texi: Likewise.
35289         * doc/posix-functions/isgraph_l.texi: Likewise.
35290         * doc/posix-functions/islower_l.texi: Likewise.
35291         * doc/posix-functions/isprint_l.texi: Likewise.
35292         * doc/posix-functions/ispunct_l.texi: Likewise.
35293         * doc/posix-functions/isspace_l.texi: Likewise.
35294         * doc/posix-functions/isupper_l.texi: Likewise.
35295         * doc/posix-functions/iswalnum_l.texi: Likewise.
35296         * doc/posix-functions/iswalpha_l.texi: Likewise.
35297         * doc/posix-functions/iswblank_l.texi: Likewise.
35298         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35299         * doc/posix-functions/iswctype_l.texi: Likewise.
35300         * doc/posix-functions/iswdigit_l.texi: Likewise.
35301         * doc/posix-functions/iswgraph_l.texi: Likewise.
35302         * doc/posix-functions/iswlower_l.texi: Likewise.
35303         * doc/posix-functions/iswprint_l.texi: Likewise.
35304         * doc/posix-functions/iswpunct_l.texi: Likewise.
35305         * doc/posix-functions/iswspace_l.texi: Likewise.
35306         * doc/posix-functions/iswupper_l.texi: Likewise.
35307         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35308         * doc/posix-functions/isxdigit_l.texi: Likewise.
35309         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
35310         * doc/posix-functions/strcasecmp_l.texi: Likewise.
35311         * doc/posix-functions/strcoll_l.texi: Likewise.
35312         * doc/posix-functions/strfmon_l.texi: Likewise.
35313         * doc/posix-functions/strftime_l.texi: Likewise.
35314         * doc/posix-functions/strncasecmp_l.texi: Likewise.
35315         * doc/posix-functions/strxfrm_l.texi: Likewise.
35316         * doc/posix-functions/tolower_l.texi: Likewise.
35317         * doc/posix-functions/toupper_l.texi: Likewise.
35318         * doc/posix-functions/towctrans_l.texi: Likewise.
35319         * doc/posix-functions/towlower_l.texi: Likewise.
35320         * doc/posix-functions/towupper_l.texi: Likewise.
35321         * doc/posix-functions/wcscoll_l.texi: Likewise.
35322         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35323         * doc/posix-functions/wctrans_l.texi: Likewise.
35324         * doc/posix-functions/wctype_l.texi: Likewise.
35325         * doc/glibc-functions/strptime_l.texi: Likewise.
35326         * doc/glibc-functions/strtod_l.texi: Likewise.
35327         * doc/glibc-functions/strtof_l.texi: Likewise.
35328         * doc/glibc-functions/strtol_l.texi: Likewise.
35329         * doc/glibc-functions/strtold_l.texi: Likewise.
35330         * doc/glibc-functions/strtoll_l.texi: Likewise.
35331         * doc/glibc-functions/strtoul_l.texi: Likewise.
35332         * doc/glibc-functions/strtoull_l.texi: Likewise.
35333         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35334         * doc/glibc-functions/wcstod_l.texi: Likewise.
35335         * doc/glibc-functions/wcstof_l.texi: Likewise.
35336         * doc/glibc-functions/wcstol_l.texi: Likewise.
35337         * doc/glibc-functions/wcstold_l.texi: Likewise.
35338         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35339         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35340         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35341
35342 2009-11-24  Bruno Haible  <bruno@clisp.org>
35343
35344         duplocale: Fix logic bug.
35345         * lib/duplocale.c: Don't include <langinfo.h>.
35346         (_NL_LOCALE_NAME): Remove macro.
35347         (rpl_duplocale): Use setlocale instead of nl_langinfo.
35348         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
35349
35350 2009-11-23  Jim Meyering  <meyering@redhat.com>
35351
35352         test-update-copyright: don't hard-code /usr/bin/perl
35353         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
35354         perl to print the current year.  Gilles Espinasse reported that
35355         the replaced use of perl was hard-coded as /usr/bin/perl.
35356
35357 2009-11-23  Bruno Haible  <bruno@clisp.org>
35358
35359         duplocale: Add support for glibc 2.3.x.
35360         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
35361
35362 2009-11-22  Bruno Haible  <bruno@clisp.org>
35363
35364         vasnprintf: Tiny optimization.
35365         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
35366         MacOS X.
35367
35368 2009-11-22  Bruno Haible  <bruno@clisp.org>
35369
35370         Tests for module 'duplocale'.
35371         * modules/duplocale-tests: New file.
35372         * tests/test-duplocale.c: New file.
35373
35374         New module 'duplocale'.
35375         * m4/duplocale.m4: New file.
35376         * lib/locale.in.h (duplocale): New declaration.
35377         * lib/duplocale.c: New file.
35378         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
35379         gl_LOCALE_H_DEFAULTS): New macros.
35380         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
35381         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
35382         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
35383         REPLACE_DUPLOCALE.
35384         * modules/duplocale: New file.
35385         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
35386
35387 2009-11-22  Bruno Haible  <bruno@clisp.org>
35388
35389         * modules/locale-tests (configure.ac): Test for newlocale function.
35390         * tests/test-locale.c: When the system has extended locale functions,
35391         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
35392
35393         locale: Make locale_t available when possible.
35394         * lib/locale.in.h: Include <xlocale.h> when it exists.
35395         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
35396         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
35397         * modules/locale (Depends-on): Add extensions.
35398         (Makefile.am): Also substitute HAVE_XLOCALE_H.
35399         * doc/posix-headers/locale.texi: Document the problem with locale_t.
35400
35401 2009-11-22  Bruno Haible  <bruno@clisp.org>
35402
35403         Add comments.
35404         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
35405         invocation.
35406         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35407         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35408         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35409
35410 2009-11-22  Bruno Haible  <bruno@clisp.org>
35411
35412         error: account for the possibility of freopen (stdout).
35413         * lib/error.c: Include <unistd.h>.
35414         (flush_stdout): New function, extracted from error and error_at_line.
35415         Determine stdout's fd dynamically.
35416         (error, error_at_line): Invoke flush_stdout.
35417         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
35418         * modules/error (Depends-on): Add unistd.
35419
35420 2009-11-22  Bruno Haible  <bruno@clisp.org>
35421
35422         diffseq: Add comment.
35423         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
35424
35425 2009-11-22  Jim Meyering  <meyering@redhat.com>
35426
35427         c-stack: avoid defining an unused static function
35428         * lib/c-stack.c (find_stack_direction): Do not define this function
35429         when it will not be used.
35430
35431         diffseq: avoid spurious gcc warnings
35432         * lib/diffseq.h (IF_LINT2): Define.
35433         (compareseq): Use it to initialize two members of "part".
35434         This avoids two used-uninitialized warnings.
35435
35436 2009-11-21  Jim Meyering  <meyering@redhat.com>
35437
35438         c-stack: avoid "ignoring return value of `write'" warning
35439         * lib/c-stack.c: Include "ignore-value.h".
35440         (die): Explicitly ignore each write return value.
35441         * modules/c-stack (Depends-on): Add ignore-value.
35442
35443 2009-11-21  Bruno Haible  <bruno@clisp.org>
35444
35445         diffseq: reduce scope of variable 'best'.
35446         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
35447         variable, earlier used for two different purposes.
35448
35449 2009-11-21  Jim Meyering  <meyering@redhat.com>
35450
35451         diffseq: remove useless assignment to "best"
35452         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
35453         assignment.  At that point "best" is already guaranteed to be zero.
35454
35455 2009-11-20  Eric Blake  <ebb9@byu.net>
35456
35457         build: mention ftp redirector in release announcements
35458         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
35459         values that used to come from cfg.mk; mention FTP redirect URL.
35460         * build-aux/announce-gen: Mention the mirror list.
35461         Suggested by Karl Berry.
35462
35463         nanosleep: improve port to mingw
35464         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
35465         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
35466         LIB_NANOSLEEP, but only when needed.
35467         * modules/select (Link): Document LIBSOCKET.
35468         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
35469         enough.
35470
35471         nanosleep: work around cygwin bug
35472         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
35473         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
35474         bug.
35475         (getnow): Delete, not needed.
35476         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
35477         LIB_CLOCK_GETTIME.
35478         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
35479         clock-time, gettime.
35480         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
35481         bug.
35482         * modules/nanosleep-tests: New test.
35483         * tests/test-nanosleep.c: New file.
35484
35485         sleep: work around cygwin bug
35486         * lib/sleep.c (rpl_sleep): Work around the bug.
35487         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
35488         (gl_PREREQ_SLEEP): Delete unused macro.
35489         * modules/sleep (Depends-on): Add verify.
35490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35491         * modules/unistd (Makefile.am): Substitute witness.
35492         * lib/unistd.in.h (sleep): Update prototype.
35493         * doc/posix-functions/sleep.texi (sleep): Document the bug.
35494         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
35495         * modules/sleep-tests (Depends-on): Check for alarm.
35496
35497 2009-11-20  Jim Meyering  <meyering@redhat.com>
35498
35499         maint.mk: improve sc_prohibit_magic_number_exit
35500         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
35501         so it does not match uses like System.exit(1).
35502         Add comments showing how to correct all offenders.
35503
35504 2009-11-19  Eric Blake  <ebb9@byu.net>
35505
35506         xalloc-die-tests: add missing library
35507         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
35508
35509         test-xvasprintf: silence compiler warnings
35510         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
35511         empty string from gcc.
35512
35513 2009-11-19  Jim Meyering  <meyering@redhat.com>
35514
35515         xfreopen: new module, from coreutils
35516         * modules/xfreopen: New module.
35517         * lib/xfreopen.c: New file.
35518         * lib/xfreopen.h: New file.
35519         * MODULES.html.sh (File stream based Input/Output"): Add it.
35520
35521 2009-11-19  Eric Blake  <ebb9@byu.net>
35522
35523         manywarnings: depend on warnings
35524         * modules/manywarnings (Depends-on): Add warnings.
35525
35526         build: avoid compiler warnings
35527         * lib/select.c (rpl_select): Delete unused variable.
35528         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
35529
35530 2009-11-18  Eric Blake  <ebb9@byu.net>
35531
35532         tests: avoid false negative with --with-packager
35533         * tests/test-version-etc.sh: Discard packager information.
35534         * tests/test-argp-version-etc-1.sh: Likewise.
35535         Reported by Mike Frysinger.
35536
35537         utimens: fix regression on Solaris
35538         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
35539         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
35540         can only change fd timestamps via futimesat.  Instead, use an
35541         additional witness macro to avoid BSD bug.
35542         Reported by Jim Meyering.
35543
35544 2009-11-17  Eric Blake  <ebb9@byu.net>
35545
35546         usleep: use it to simplify tests
35547         * modules/stat-time-tests (Depends-on): Add usleep.
35548         (configure.ac): Drop usleep check.
35549         * modules/chown-tests (Depends-on, configure.ac): Likewise.
35550         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
35551         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
35552         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
35553         * modules/openat-tests (Depends-on, configure.ac): Likewise.
35554         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
35555         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
35556         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
35557         Likewise.
35558         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
35559         * tests/test-lchown.h (nap): Likewise.
35560         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
35561         * tests/test-stat-time.c (nap): Likewise.
35562         * tests/test-utimens-common.h (nap): Update comments.
35563
35564         usleep: new module
35565         * modules/usleep: New file.
35566         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
35567         * lib/usleep.c (usleep): Likewise.
35568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35569         * modules/unistd (Makefile.am): Substitute witnesses.
35570         * lib/unistd.in.h (usleep): Add declaration.
35571         * doc/pastposix-functions/usleep.texi (usleep): Document this.
35572         * MODULES.html.sh (Date and time): Likewise.
35573         * modules/usleep-tests (Depends-on): New test.
35574         * tests/test-usleep.c: New file.
35575
35576         chown: work around OpenBSD bug
35577         * lib/chown.c (rpl_chown): Work around the bug.
35578         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
35579         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
35580         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
35581         * modules/chown (Depends-on): Add stdbool.
35582         * modules/lchown (Depends-on): Likewise.
35583         * doc/posix-functions/chown.texi (chown): Document the bug.
35584         * doc/posix-functions/lchown.texi (lchown): Likewise.
35585         * tests/test-lchown.h (test_chown): Relax test.
35586
35587         mkstemp: avoid conflict with C++ keyword template
35588         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
35589         * lib/mkostemp.c (mkostemp): Likewise.
35590         * lib/mkostemps.c (mkostemps): Likewise.
35591         * lib/mkstemp.c (mkstemp): Likewise.
35592         * lib/mkstemps.c (mkstemps): Likewise.
35593
35594         xalloc-die-tests: optimize
35595         * tests/test-xalloc-die.sh: Reduce number of processes.
35596
35597 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35598
35599         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
35600         patch from ludo@gnu.org (Ludovic Courtès).
35601
35602 2009-11-17  Jim Meyering  <meyering@redhat.com>
35603
35604         version-etc: use proper license string
35605         * modules/version-etc (License): Use LGPL, not LGPLv3+.
35606         * modules/version-etc-fsf: Likewise.
35607
35608 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35609
35610         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
35611         printed to stdout.  Deal with EOL differences.
35612
35613 2009-11-17  Eric Blake  <ebb9@byu.net>
35614
35615         unsetenv: work around Solaris bug
35616         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
35617         * lib/unsetenv.c (rpl_unsetenv): Work around it.
35618         Reported by Jim Meyering.
35619
35620         vasnprintf: avoid compiler warnings
35621         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
35622         variables.
35623         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
35624
35625 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35626
35627         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
35628         settings since xalloc-die is no longer the self test,
35629         xalloc-die.sh is.
35630
35631 2009-11-17  Jim Meyering  <meyering@redhat.com>
35632
35633         test-xalloc-die.sh: make the code agree with the commit log
35634         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
35635         at the end, just in case you happen to have a test-xalloc-die
35636         program in some other PATH directory.
35637
35638         test-xalloc-die.sh: fix a portability bug
35639         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
35640         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
35641         Otherwise, argv[0] (as often seen in diagnostics) would be too
35642         system-dependent, sometimes with, and sometimes without the leading "./".
35643
35644         version-etc-fsf: relax license to LGPLv3+
35645         * modules/version-etc-fsf (License): Relax license.
35646
35647 2009-11-16  Eric Blake  <ebb9@byu.net>
35648
35649         xalloc-die-tests: avoid printing null pointer
35650         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
35651         shell script.
35652         * tests/test-xalloc-die.c (program_name): Declare.
35653         * tests/test-xalloc-die.sh (tmpfiles): New file.
35654
35655         setenv, unsetenv: work around various bugs
35656         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
35657         (setenv) [HAVE_SETENV]: Work around bugs.
35658         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
35659         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
35660         for bugs.
35661         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
35662         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
35663         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
35664         * modules/stdlib (Makefile.am): Update substitutions.
35665         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
35666         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
35667         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35668         * modules/setenv-tests: New test.
35669         * modules/unsetenv-tests: Likewise.
35670         * tests/test-setenv.c: New file.
35671         * tests/test-unsetenv.c: Likewise.
35672
35673 2009-11-16  Jim Meyering  <meyering@redhat.com>
35674
35675         version-etc: relax license to LGPLv3+
35676         * modules/version-etc (License): Relax license.
35677
35678         better AC_REQUIRE expanded-before-required-warning avoidance
35679         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
35680         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
35681         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
35682         which is no longer needed.
35683
35684 2009-11-16  Eric Blake  <ebb9@byu.net>
35685
35686         test-freading: clean up temporary file
35687         * tests/test-freading.c (main): Remove file on success, and use
35688         ASSERT more liberally.
35689         Reported by Jim Meyering.
35690
35691 2009-11-16  Jim Meyering  <meyering@redhat.com>
35692
35693         avoid new AC_REQUIRE expanded-before-required warnings
35694         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
35695         merely using it.
35696         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
35697         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
35698
35699 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35700
35701         * tests/test-xalloc-die.c: New file.
35702         * modules/xalloc-die-tests: New file.
35703         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
35704         XFAIL_TESTS so it can be appended by modules.
35705
35706 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35707
35708         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
35709         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
35710
35711 2009-11-14  Eric Blake  <ebb9@byu.net>
35712
35713         fnmatch: avoid compiler warning
35714         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
35715         to silence compiler warning about mismatch signedness in ?:.
35716         Reported by Robert Millan.
35717
35718         intprops: add double-inclusion guard
35719         * lib/intprops.h: Allow idempotent includes.
35720         Suggested by Bruce Korb.
35721
35722         openat: detect Solaris fchownat bug
35723         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
35724         penalizing glibc chownat when only lchownat is broken.
35725         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
35726         trailing slash bugs.
35727         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
35728         * modules/openat-tests (Files): Include more files.
35729         (Depends-on): Add mgetgroups, sleep, stat-time.
35730         (configure.ac): Add additional checks.
35731         (Makefile.am): Build new test.
35732         * tests/test-fchownat.c: New file.
35733
35734         lchown: detect Solaris and FreeBSD bug
35735         * lib/lchown.c (rpl_lchown): Work around bug.
35736         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
35737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35738         * modules/unistd (Makefile.am): Populate it.
35739         * lib/unistd.in.h (lchown): Update declaration.
35740         * doc/posix-functions/lchown.texi (lchown): Document the bug.
35741         * modules/lchown-tests: New file.
35742         * tests/test-lchown.h (test_lchown): Likewise.
35743         * tests/test-lchown.c (main): Likewise.
35744
35745         chown: detect Solaris and FreeBSD bug
35746         * lib/chown.c (rpl_chown): Work around bug.
35747         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
35748         (gl_PREREQ_CHOWN): Delete.
35749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35750         * modules/unistd (Makefile.am): Populate it.
35751         * lib/unistd.in.h (chown): Update declaration.
35752         * lib/lchown.c (chown): Update client.
35753         * modules/lchown (Depends-on): Add lstat.
35754         * doc/posix-functions/chown.texi (chown): Document the bug.
35755         * doc/posix-functions/getgroups.texi (getgroups): Document
35756         getgroups pitfall.
35757         * modules/chown-tests: New file.
35758         * tests/test-chown.h (test_chown): Likewise.
35759         * tests/test-chown.c (main): Likewise.
35760
35761 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
35762
35763         gnulib-tool: correctly detect absence of m4 directories
35764         * gnulib-tool: Avoid extra newline on data passed to wc -l.
35765
35766 2009-11-14  Jim Meyering  <meyering@redhat.com>
35767
35768         maint.mk: Prohibit inclusion of "xalloc.h" without use.
35769         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35770
35771 2009-11-14  John W. Eaton  <jwe@gnu.org>
35772
35773         strftime.h: wrap funtion declaration in extern "C" block
35774         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
35775
35776 2009-11-13  Eric Blake  <ebb9@byu.net>
35777
35778         getgroups: avoid compiler warning
35779         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
35780
35781         getgroups: work around FreeBSD bug
35782         * lib/getgroups.c (rpl_getgroups): Work around the bug.
35783         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
35784         * doc/posix-functions/getgroups.texi (getgroups): Document it.
35785         * tests/test-getgroups.c (main): Fix buffer overrun.
35786
35787         getgroups: avoid compilation failure
35788         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
35789         * modules/getgroups (Depends-on): Add stdint.
35790
35791 2009-11-13  Jim Meyering  <meyering@redhat.com>
35792
35793         test-getgroups: avoid compilation failure
35794         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
35795
35796 2009-11-13  Eric Blake  <ebb9@byu.net>
35797
35798         mgetgroups: new module, taken from coreutils
35799         * modules/mgetgroups: New file.
35800         * lib/mgetgroups.h: Likewise.
35801         * lib/mgetgroups.c (mgetgroups): Likewise.
35802         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
35803         * MODULES.html.sh (Users and groups): Mention it.
35804
35805         getgroups: don't expose GETGROUPS_T to user
35806         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
35807         an element at a time if GETGROUPS_T is wrong size.
35808         * lib/getugroups.h (getugroups): Change signature.
35809         * lib/unistd.in.h (getgroups): Likewise.
35810         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
35811         signature needs fixing.
35812         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
35813         AC_TYPE_GETGROUPS.
35814         * modules/group-member (Depends-on): Add getgroups.
35815         * lib/group-member.c (group_info, get_group_info): Use gid_t.
35816         (group_member): Rely on getgroups replacement.
35817         * lib/getugroups.c (getugroups): Use gid_t.
35818         * tests/test-getgroups.c (main): Likewise.
35819         * NEWS: Mention the signature change.
35820         * doc/posix-functions/getgroups.texi (getgroups): Mention the
35821         problem with signature.
35822         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
35823         GETGROUPS_T is still useful for setgroups.
35824
35825         getgroups, getugroups: provide stubs for mingw
35826         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
35827         * lib/getugroups.c (getugroups): Likewise.
35828         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
35829         function.  Modernize replacement scheme.
35830         (gl_PREREQ_GETGROUPS): Delete.
35831         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
35832         * modules/getgroups (configure.ac): Declare witness.
35833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35834         * modules/unistd (Depends-on): Substitute witness.
35835         * lib/unistd.in.h (getgroups): Declare replacement.
35836
35837         getgroups: avoid calling exit
35838         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
35839         drop xalloc.
35840         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
35841         dependencies.
35842         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
35843         exiting, in the rare case of malloc failure.
35844
35845         getgroups: fix logic error
35846         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
35847         has more than 20 groups.
35848         * modules/getgroups-tests: New test.
35849         * tests/test-getgroups.c: New file.
35850
35851 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35852
35853         * tests/test-base64.c: Improve.
35854
35855 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35856
35857         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
35858         Blake <ebb9@byu.net>.
35859
35860 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35861
35862         * tests/test-xvasprintf.c: Add %s%s related checks.
35863
35864 2009-11-12  Eric Blake  <ebb9@byu.net>
35865
35866         version-etc: match standards.texi style
35867         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
35868         and use <> only for URLs.
35869
35870 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
35871
35872         fts: do not fail on a submount during traversal
35873         * lib/fts.c (fts_build): Read the stat info again after opening
35874         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
35875         Original report at http://bugzilla.redhat.com/501848.
35876
35877 2009-11-12  Jim Meyering  <meyering@redhat.com>
35878
35879         bootstrap: sync from coreutils
35880         * build-aux/bootstrap (bootstrap_epilogue): New function.
35881         Use git_modules_config in one more place.  This make bootstrap's
35882         --gnulib-srcdir option more useful for testing.
35883
35884         bootstrap: generalize autoheader check
35885         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
35886         AC_CONFIG_HEADERS.
35887
35888 2009-11-11  Eric Blake  <ebb9@byu.net>
35889
35890         mkfifoat: use new modules for Solaris and BSD bugs
35891         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
35892         * lib/mkfifoat.c (mknodat): Split...
35893         * lib/mknodat.c (mknodat): ...into new file.
35894         * modules/mkfifoat (Files): Ship new file.
35895         (Depends-on): Add mkfifo, mknod.
35896         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
35897         (Depends-on): Add symlink.
35898         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
35899         redundant with test_mkfifo.h.
35900         (do_mkfifoat, do_mknodat): New helpers.
35901
35902         mknod: new module
35903         * modules/mknod: New file.
35904         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
35905         * lib/mknod.c (mknod): Likewise.
35906         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35907         defaults.
35908         * modules/sys_stat (Makefile.am): Substitute them.
35909         * lib/sys_stat.in.h (mknod): Declare replacement.
35910         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35911         Document it.
35912         * doc/posix-functions/mknod.texi (mknod): Likewise.
35913         * modules/mknod-tests: New test.
35914         * tests/test-mknod.c: Likewise.
35915
35916         mkfifo: new module
35917         * modules/mkfifo: New file.
35918         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
35919         * lib/mkfifo.c (mkfifo): Likewise.
35920         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35921         defaults.
35922         * modules/sys_stat (Makefile.am): Substitute them.
35923         * lib/sys_stat.in.h (mkfifo): Declare replacement.
35924         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35925         Document it.
35926         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
35927         * modules/mkfifo-tests: New test.
35928         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
35929         from test-mkfifoat.c.
35930         * tests/test-mkfifo.c: New file.
35931
35932         readlink: detect FreeBSD bug
35933         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
35934         slash on symlink.
35935         * doc/posix-functions/readlink.texi (readlink): Document the bug.
35936         * tests/test-readlink.h (test_readlink): Enhance test.
35937
35938         symlink: detect FreeBSD bug
35939         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
35940         slash on symlink.
35941         * doc/posix-functions/symlink.texi (symlink): Document the bug.
35942         * tests/test-symlink.h (test_symlink): Enhance test.
35943
35944 2009-11-10  Eric Blake  <ebb9@byu.net>
35945
35946         link: detect FreeBSD bug
35947         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
35948         symlink.
35949         * doc/posix-functions/link.texi (link): Document the bug.
35950         * tests/test-link.h (test_link): Enhance test.
35951         * tests/test-linkat.c (main): Update caller.
35952
35953         unlink, remove: detect FreeBSD bug
35954         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
35955         slash on symlink.
35956         * doc/posix-functions/unlink.texi (unlink): Document the bug.
35957         * doc/posix-functions/remove.texi (remove): Likewise.
35958         * tests/test-unlink.h (test_unlink): Enhance test.
35959         * tests/test-remove.c (main): Likewise.
35960
35961 2009-11-09  Eric Blake  <ebb9@byu.net>
35962
35963         rename: detect FreeBSD bug
35964         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
35965         slash on symlink.
35966         * modules/renameat-tests (Depends-on): Add filenamecat.
35967         * tests/test-rename.h (test_rename): Allow one more errno.
35968         * tests/test-renameat.c (main): Likewise.
35969         * doc/posix-functions/rename.texi (rename): Document the bug.
35970
35971         open: detect FreeBSD bug
35972         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
35973         symlink.
35974         * doc/posix-functions/open.texi (open): Document the bug.
35975         * doc/posix-functions/utimes.texi (utimes): Likewise.
35976         * tests/test-open.h (test_open): Add parameters, and test symlink
35977         handling.
35978         * tests/test-open.c (main): Adjust caller.
35979         * tests/test-fcntl-safer.c (main): Likewise.
35980         * modules/open-tests (Depends-on): Add stdbool, symlink.
35981         * modules/fcntl-safer-tests (Depends-on): Likewise.
35982         * tests/test-openat.c (main): Add test-open tests.
35983
35984         stat: detect FreeBSD bug
35985         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
35986         symlink.
35987         * doc/posix-functions/stat.texi (stat): Document the bug.
35988         * tests/test-stat.h (test_stat_func): Add argument.
35989         * tests/test-stat.c (main): Adjust caller.
35990         * tests/test-fstatat.c (main): Likewise.
35991         * modules/stat-tests (Depends-on): Add stdbool, symlink.
35992         Reported by Jim Meyering.
35993
35994 2009-11-09  James Youngman  <jay@gnu.org>
35995
35996         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
35997         * lib/strftime.c: Correct placement of #include "ignore-value.h".
35998
35999 2009-11-08  Jim Meyering  <meyering@redhat.com>
36000
36001         utimens: remove invalid futimesat call
36002         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
36003         It used the file descriptor of the target file as the DIR_FD
36004         parameter and NULL as the file name.  That caused failure with
36005         errno == EFAULT on FreeBSD-8.0-rc2
36006
36007 2009-11-07  Eric Blake  <ebb9@byu.net>
36008
36009         fflush, freadseek: use fseeko, not fseek
36010         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36011         (clear_ungetc_buffer): Avoid potential problems on large files.
36012         * lib/freadseek.c (freadseek): Likewise.
36013         * modules/freadseek (Depends-on): Add fseeko.
36014         * modules/fseek (configure.ac): Set a witness.
36015         * tests/test-fflush.c (main): Use fseeko.
36016         * tests/test-fpurge.c (fseek): Disable link warning.
36017         * tests/test-freadable.c (fseek): Likewise.
36018         * tests/test-freading.c (fseek): Likewise.
36019         * tests/test-fseeko.c (fseek): Likewise.
36020         * tests/test-ftell.c (fseek): Likewise.
36021         * tests/test-ftello.c (fseek): Likewise.
36022         * tests/test-fwritable.c (fseek): Likewise.
36023         * tests/test-fwriting.c (fseek): Likewise.
36024
36025 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36026
36027         * modules/memchr (Depends-on): Drop getpagesize dependency.
36028
36029 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36030
36031         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
36032         Reported by Ludovic Courtès.
36033         * build-aux/pmccabe2html: Improve example usage.
36034         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
36035
36036 2009-11-06  Jim Meyering  <meyering@redhat.com>
36037
36038         do-release-commit-and-tag: New module.
36039         Automate the release-commit and tag process.
36040         * build-aux/do-release-commit-and-tag: New script, from coreutils.
36041         * modules/do-release-commit-and-tag: New file.
36042         * MODULES.html.sh (Support for maintaining and releasing): Add it.
36043
36044 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36045
36046         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
36047         because test-select.c uses inet_pton.
36048
36049 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36050
36051         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
36052         GETADDRINFO_LIB.  Bump serial number.
36053         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
36054         Suggested by Eric Blake <ebb9@byu.net>.
36055
36056 2009-11-05  Eric Blake  <ebb9@byu.net>
36057
36058         strtod: detect darwin bug
36059         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
36060         Reported by Leo Davis.
36061
36062         freopen-safer: new module
36063         * modules/freopen-safer: New module.
36064         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
36065         * lib/freopen-safer.c (freopen_safer): New file.
36066         * lib/stdio-safer.h (freopen_safer): New declaration.
36067         * lib/stdio--.h (freopen): New override.
36068         * MODULES.html.sh (File stream based Input/Output): Mention it.
36069         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
36070         freopen-safer module.
36071         * doc/posix-functions/stderr.texi (stderr): Likewise.
36072         * doc/posix-functions/stdin.texi (stdin): Likewise.
36073         * doc/posix-functions/stdout.texi (stdout): Likewise.
36074         * modules/freopen-safer-tests: New test.
36075         * tests/test-reopen-safer.c: New file.
36076
36077 2009-11-05  Jim Meyering  <meyering@redhat.com>
36078
36079         maint.mk: Prohibit inclusion of "close-stream.h" without use.
36080         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36081
36082 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36083
36084         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
36085
36086 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36087
36088         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
36089
36090 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36091
36092         Fix link error.
36093         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36094         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36095
36096 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36097
36098         * tests/test-func.c: Also test value of __func__.
36099
36100 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36101
36102         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
36103         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
36104
36105 2009-11-05  Bruno Haible  <bruno@clisp.org>
36106
36107         Fix link error.
36108         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36109         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36110         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
36111
36112 2009-11-05  Bruno Haible  <bruno@clisp.org>
36113
36114         Tests for module 'inet_pton'.
36115         * modules/inet_pton-tests: New file.
36116         * tests/test-inet_pton.c: New file.
36117
36118 2009-11-05  Bruno Haible  <bruno@clisp.org>
36119
36120         Tests for module 'inet_ntop'.
36121         * modules/inet_ntop-tests: New file.
36122         * tests/test-inet_ntop.c: New file.
36123
36124 2009-11-04  Eric Blake  <ebb9@byu.net>
36125
36126         stdlib-safer: wrap all mkstemp variants
36127         * modules/mkostemp (configure.ac): Set witness.
36128         * modules/mkostemps (configure.ac): Likewise.
36129         * modules/mkstemps (configure.ac): Likewise.
36130         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
36131         (mkstemps_safer): Wrap more functions.
36132         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
36133         wrapping.
36134         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
36135         (mkstemps_safer): Implement the wrappers.
36136
36137         mkstemps, mkostemps: new modules
36138         * modules/mkostemps: New module.
36139         * modules/mkstemps: Likewise.
36140         * lib/mkostemps.c (mkostemps): New file.
36141         * lib/mkstemps.c (mkstemps): Likewise.
36142         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
36143         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
36144         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
36145         * modules/stdlib (Makefile.am): Substitute them.
36146         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
36147         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
36148         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
36149         * doc/gnulib.texi (Glibc stdlib.h): Include them.
36150         * MODULES.html.sh (File system functions): Mention them.
36151
36152         tempname: resync from glibc
36153         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
36154         same values for __GT_FILE as glibc.  Abort even when assertions
36155         are disabled.
36156         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
36157         match its value otherwise.  Allow idempotent inclusion.
36158         * lib/mkdtemp.c (mkdtemp): Adjust caller.
36159         * lib/mkostemp.c (mkostemp): Likewise.
36160         * lib/mkstemp.c (mkstemp): Likewise.
36161         * lib/tmpfile.c (tmpfile): Likewise.
36162         * NEWS: Document this.
36163
36164         utimens: fix use of futimens on older Linux
36165         * lib/utimens.c (fdutimens): Use updated, rather than original,
36166         timespec to avoid bug in older Linux kernel.
36167         Reported by Simon Josefsson.
36168
36169 2009-11-04  Bruno Haible  <bruno@clisp.org>
36170
36171         Make num_processors more flexible and consistent.
36172         * lib/nproc.h (enum nproc_query): New type.
36173         (num_processors): Add a 'query' argument.
36174         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
36175         (num_processors): Add a 'query' argument. Test the value of the
36176         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
36177         mingw, count the number of CPUs available for the current process.
36178         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
36179         Check for sched_getaffinity and sched_getaffinity_np.
36180         * modules/nproc (Depends-on): Add c-ctype, extensions.
36181         * NEWS: Mention the change.
36182
36183 2009-11-03  Bruno Haible  <bruno@clisp.org>
36184
36185         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
36186
36187 2009-11-03  Jim Meyering  <meyering@redhat.com>
36188
36189         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
36190         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
36191         if it is defined.
36192
36193 2009-11-02  Eric Blake  <ebb9@byu.net>
36194
36195         mktime, timegm: share common declaration
36196         * lib/mktime-internal.h: New file.
36197         * lib/mktime.c: Use it rather than open-coding a declaration.
36198         * lib/timegm.c: Likewise.
36199         * modules/mktime (Files): Ship it.
36200         * modules/timegm (Files): Likewise.
36201         Suggested by Bruno Haible.
36202
36203         test-update-copyright: update test to match script changes
36204         * tests/test-update-copyright.sh: Avoid hard-coding perl
36205         location.  Don't update *.bak created by earlier runs.
36206
36207 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
36208             Simon Josefsson  <simon@josefsson.org>
36209             Bruno Haible  <bruno@clisp.org>
36210
36211         Fix link error on Solaris 8.
36212         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
36213         also in libnsl. Define also INET_PTON_LIB.
36214         * modules/inet_pton (Link): New section.
36215
36216 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36217             Bruno Haible  <bruno@clisp.org>
36218
36219         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
36220         * modules/inet_ntop (Link): New section.
36221         Reported by Boyan Kasarov <bkasarov@gmail.com>.
36222
36223 2009-11-02  Eric Blake  <ebb9@byu.net>
36224
36225         maint: avoid compiler warnings in m4 macros
36226         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
36227         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
36228
36229 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36230
36231         * m4/pmccabe2html.m4: Remove file.
36232         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
36233         function.  Change maintainer.
36234         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
36235         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
36236         Courtès).
36237
36238 2009-10-31  Eric Blake  <ebb9@byu.net>
36239
36240         fseeko: fix m4 regression
36241         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
36242         regression from 2009-10-27.
36243         Reported by Ralf Wildenhues.
36244
36245 2009-10-31  Jim Meyering  <meyering@redhat.com>
36246
36247         inttostr: aesthetics and improved (compile-time) safety
36248         Define inttype_is_signed rather than inttype_is_unsigned,
36249         since the sole use is via "#if inttype_is_signed".
36250         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
36251         inttype_is_unsigned.
36252         * lib/offtostr.c (inttype_is_signed): Likewise.
36253         * lib/uinttostr.c (inttype_is_signed): Likewise.
36254         * lib/umaxtostr.c (inttype_is_signed): Likewise.
36255         * lib/inttostr.c (inttostr): Use verify to cross-check the
36256         inttype_is_signed value and the signedness of the actual type.
36257         * modules/inttostr (Depends-on): Add verify.
36258
36259 2009-10-30  Eric Blake  <ebb9@byu.net>
36260
36261         build: avoid compiler warnings
36262         * lib/fchmodat.c (lchmod): Mark unused variables.
36263         * lib/getopt.c (_getopt_initialize): Likewise.
36264         * lib/mktime.c (__mktime_internal): Provide prototype.
36265         * lib/inttostr.c (inttostr): Avoid compiler warning even with
36266         older gcc that do not understand #pragma GCC diagnostic.
36267         * lib/uinttostr.c (inttype_is_unsigned): Define.
36268         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
36269
36270 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
36271
36272         stat: fix compilation on AIX
36273         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
36274         only see struct stat64.
36275
36276 2009-10-30  Eric Blake  <ebb9@byu.net>
36277
36278         exclude: make more robust
36279         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
36280         rather than masking a coding bug.
36281         Suggested by Bruno Haible.
36282
36283 2009-10-30  Jim Meyering  <meyering@redhat.com>
36284
36285         perl scripts: remove #!/usr/bin/perl in favor of more portable...
36286         Rather than putting #!/usr/bin/perl on the first line,
36287         start with a variant of what's recommended by "man perlrun" that
36288         invokes the first "perl" program from your shell's search path.
36289         * build-aux/gitlog-to-changelog: Replace #!... as above.
36290         Add a "Local Variables" perl mode setting.
36291         Prompted by a patch from Ludovic Courtès.
36292         Improved by Eric Blake.
36293         * build-aux/useless-if-before-free: Likewise.
36294         * build-aux/announce-gen: Likewise.
36295         * build-aux/update-copyright: Likewise.
36296
36297 2009-10-29  Eric Blake  <ebb9@byu.net>
36298
36299         filenamecat-lgpl: adjust clients
36300         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
36301         filenamecat.
36302         * modules/renameat (Depends-on): Likewise.
36303
36304         filenamecat: split into filenamecat-lgpl
36305         * modules/filenamecat-lgpl: New module.
36306         * modules/filenamecat (Files): Move library-safe files into
36307         filenamecat-lgpl.
36308         (Depends-on): Add filenamecat-lgpl.
36309         (configure.ac): Declare witness.
36310         * lib/filenamecat.h (file_name_concat): Only declare when using
36311         GPL module.
36312         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
36313         Move...
36314         * lib/filenamecat-lgpl.c: ...into new file.
36315         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
36316         (gl_FILE_NAME_CONCAT): Use it.
36317         * MODULES.html.sh (File system functions): Mention new module.
36318
36319         argp: avoid memory leak
36320         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
36321         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
36322         base_name, since the latter malloc()s and can call exit().
36323         Leak introduced 2006-07-03.
36324
36325         dirname-lgpl: adjust clients that don't need full dirname
36326         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
36327         * modules/filenamecat (Depends-on): Likewise.
36328         * modules/linkat (Depends-on): Likewise.
36329         * modules/mkancesdirs (Depends-on): Likewise.
36330         * modules/mkdir (Depends-on): Likewise.
36331         * modules/openat (Depends-on): Likewise.
36332         * modules/savewd (Depends-on): Likewise.
36333         * modules/rename (Depends-on): Likewise.
36334         (License): Relax license.
36335         * modules/mkdir-tests (Depends-on): Drop progname.
36336         (Makefile.am): Delete unneeded LDADD.
36337         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
36338
36339         dirname: split into dirname-lgpl
36340         * modules/dirname-lgpl: New module.
36341         * modules/dirname (Files): Move library-safe files into
36342         dirname-lgpl.
36343         (Depends-on): Add dirname-lgpl.
36344         (configure.ac): Declare witness.
36345         * modules/double-slash-root (License): Relax license.
36346         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
36347         module.
36348         * lib/dirname.c (dir_len, mdir_name): Move...
36349         * lib/dirname-lgpl.c: ...into new file.
36350         * lib/basename.c (last_component, base_len): Move...
36351         * lib/basename-lgpl.c: ...into new file.
36352         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
36353         (gl_DIRNAME): Use it.
36354         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
36355         Mention new module.
36356         * modules/dirname-tests (Depends-on): Add progname.
36357         * tests/test-dirname.c (program_name): Delete.
36358
36359         mkdir: make safe for libraries
36360         * modules/mkdir (Depends-on): Drop xalloc.
36361         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
36362         exit.
36363
36364         tests: avoid some compiler warnings
36365         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
36366         literals.
36367         * tests/test-memchr.c (main): Avoid type mismatch.
36368         * tests/test-arpa_inet.c (main): Avoid unused parameters.
36369         * tests/test-base64.c (main): Likewise.
36370         * tests/test-getdelim.c (main): Likewise.
36371         * tests/test-gethostname.c (main): Likewise.
36372         * tests/test-getline.c (main): Likewise.
36373         * tests/test-netinet_in.c (main): Likewise.
36374         * tests/test-select.c (open_server_socket, main): Likewise.
36375         * tests/test-select-stdin.c (main): Likewise.
36376         * tests/test-sockets.c (main): Likewise.
36377         * tests/test-strsignal.c (main): Likewise.
36378         * tests/test-sys_select.c (main): Likewise.
36379         * tests/test-sys_socket.c (main): Likewise.
36380         * tests/test-u64.c (main): Likewise.
36381         * tests/test-xfprintf-posix.c (main): Likewise.
36382         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
36383
36384         sockets: avoid compiler warning
36385         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
36386
36387         maint: detect usage(1) and other suspicious exits
36388         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
36389
36390 2009-10-29  Jim Meyering  <meyering@redhat.com>
36391
36392         timespec: long-to-int truncation could make timespec_cmp malfunction
36393         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
36394         a multiple of 2^32 nanoseconds as no difference.
36395
36396 2009-10-28  Jim Meyering  <meyering@redhat.com>
36397
36398         fprintftime: wrap macro code argument in "do {...} while(0)"
36399         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
36400         cpy macro must be a statement that can be followed by a semicolon.
36401         Now that the else clause contains a comment and is hence longer
36402         than one line, I require curly braces.  That in turn requires
36403         that we wrap this code block in the standard do...while(0).
36404
36405         fprintftime: remove stray semicolon from previous change
36406         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
36407
36408         fprintftime: avoid a warning about ignored fwrite return value
36409         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
36410         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
36411         that is unsafe.
36412         * modules/fprintftime (Depends-on): Add ignore-value.
36413
36414         exclude: avoid an unwarranted warning
36415         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
36416
36417 2009-10-27  Eric Blake  <ebb9@byu.net>
36418
36419         fseek: avoid compilation failure when fflush is replaced
36420         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
36421         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
36422         module is in use.
36423         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
36424         module is not in use; since REPLACE_FSEEK worked otherwise.
36425         (GNULIB_FTELLO): Likewise for ftell.
36426         Reported by Ian Beckwith and others.
36427
36428 2009-10-27  Bruno Haible  <bruno@clisp.org>
36429
36430         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
36431         Reported by Jim Meyering.
36432
36433 2009-10-27  Jim Meyering  <jim@meyering.net>
36434             Bruno Haible  <bruno@clisp.org>
36435
36436         Avoid warning despite dropping the return value of fwrite.
36437         * lib/unicodeio.c: Include ignore-value.h.
36438         (fwrite_success_callback): Explicitly ignore fwrite's return value.
36439         * modules/unicodeio (Depends-on): Add ignore-value.
36440
36441 2009-10-26  Eric Blake  <ebb9@byu.net>
36442
36443         areadlinkat: fix fallback path
36444         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
36445         pointer and zero.
36446
36447 2009-10-22  Pádraig Brady  <P@draigBrady.com>
36448
36449         Use a better IO block size for modern systems
36450         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
36451         * lib/md2.c: Likewise.
36452         * lib/md4.c: Likewise.
36453         * lib/md5.c: Likewise.
36454         * lib/sha1.c: Likewise.
36455         * lib/sha256.c: Likewise.
36456         * lib/sha512.c: Likewise.
36457
36458 2009-10-22  Eric Blake  <ebb9@byu.net>
36459
36460         tests: avoid several compiler warnings
36461         * tests/test-getcwd.c (main): Avoid buffer underflow.
36462         * tests/test-getdate.c (main): String literals are not safe with
36463         putenv, so use setenv.  Declare unused argument.
36464         * modules/getdate-tests (Depends-on): Add setenv.
36465         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
36466         problems with string literals in char *.
36467         * tests/test-hash.c (main): Avoid shadowing declaration.
36468         (insert_new): Treat string literals as char const *.
36469         * tests/test-getopt.h (test_getopt): Likewise.
36470         (getopt_loop): Alter types to minimize casting elsewhere.
36471         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
36472         (test_getopt_long_posix): Likewise.
36473         (do_getopt_long): Add wrapper to minimize casting.
36474         * tests/test-atexit.c (clear_temp_file): Use void.
36475         * tests/test-areadlink-with-size.c (main): Declare unused
36476         arguments.
36477         * tests/test-areadlink.c (main): Likewise.
36478         * tests/test-areadlinkat-with-size.c (main): Likewise.
36479         * tests/test-areadlinkat.c (main): Likewise.
36480         * tests/test-canonicalize-lgpl.c (main): Likewise.
36481         * tests/test-canonicalize.c (main): Likewise.
36482         * tests/test-dirent-safer.c (main): Likewise.
36483         * tests/test-dirname.c (main): Likewise.
36484         * tests/test-dup2.c (main): Likewise.
36485         * tests/test-fchdir.c (main): Likewise.
36486         * tests/test-fcntl-h.c (main): Likewise.
36487         * tests/test-fcntl-safer.c (main): Likewise.
36488         * tests/test-fdopendir.c (main): Likewise.
36489         * tests/test-fdutimensat.c (main): Likewise.
36490         * tests/test-fflush.c (main): Likewise.
36491         * tests/test-filenamecat.c (main): Likewise.
36492         * tests/test-filevercmp.c (main): Likewise.
36493         * tests/test-fopen-safer.c (main): Likewise.
36494         * tests/test-fopen.c (main): Likewise.
36495         * tests/test-fpending.c (main): Likewise.
36496         * tests/test-fpurge.c (main): Likewise.
36497         * tests/test-freading.c (main): Likewise.
36498         * tests/test-fstatat.c (main): Likewise.
36499         * tests/test-fsync.c (main): Likewise.
36500         * tests/test-futimens.c (main): Likewise.
36501         * tests/test-getndelim2.c (main): Likewise.
36502         * tests/test-gettimeofday.c (main): Likewise.
36503         * tests/test-getopt.c (main): Likewise.
36504         * tests/test-i-ring.c (main): Likewise.
36505         * tests/test-inttypes.c (main): Likewise.
36506         * tests/test-link.c (main): Likewise.
36507         * tests/test-lstat.c (main): Likewise.
36508         * tests/test-math.c (main): Likewise.
36509         * tests/test-md5.c (main): Likewise.
36510         * tests/test-memchr2.c (main): Likewise.
36511         * tests/test-memrchr.c (main): Likewise.
36512         * tests/test-mkdir.c (main): Likewise.
36513         * tests/test-mkdirat.c (main): Likewise.
36514         * tests/test-mkfifoat.c (main): Likewise.
36515         * tests/test-open.c (main): Likewise.
36516         * tests/test-openat-safer.c (main): Likewise.
36517         * tests/test-openat.c (main): Likewise.
36518         * tests/test-quotearg.c (main): Likewise.
36519         * tests/test-rawmemchr.c (main): Likewise.
36520         * tests/test-readlink.c (main): Likewise.
36521         * tests/test-remove.c (main): Likewise.
36522         * tests/test-rename.c (main): Likewise.
36523         * tests/test-renameat.c (main): Likewise.
36524         * tests/test-rmdir.c (main): Likewise.
36525         * tests/test-sha1.c (main): Likewise.
36526         * tests/test-signal.c (main): Likewise.
36527         * tests/test-sigaction.c (main): Likewise.
36528         * tests/test-stat.c (main): Likewise.
36529         * tests/test-stat-time.c (main): Likewise.
36530         * tests/test-stddef.c (main): Likewise.
36531         * tests/test-stdint.c (main): Likewise.
36532         * tests/test-stdio.c (main): Likewise.
36533         * tests/test-stdlib.c (main): Likewise.
36534         * tests/test-strchrnul.c (main): Likewise.
36535         * tests/test-strerror.c (main): Likewise.
36536         * tests/test-string.c (main): Likewise.
36537         * tests/test-strtod.c (main): Likewise.
36538         * tests/test-strverscmp.c (main): Likewise.
36539         * tests/test-symlink.c (main): Likewise.
36540         * tests/test-symlinkat.c (main): Likewise.
36541         * tests/test-sys_stat.c (main): Likewise.
36542         * tests/test-sys_time.c (main): Likewise.
36543         * tests/test-time.c (main): Likewise.
36544         * tests/test-unistd.c (main): Likewise.
36545         * tests/test-unlink.c (main): Likewise.
36546         * tests/test-unlinkat.c (main): Likewise.
36547         * tests/test-utimens.c (main): Likewise.
36548         * tests/test-utimensat.c (main): Likewise.
36549         * tests/test-version-etc.c (main): Likewise.
36550         * tests/test-wchar.c (main): Likewise.
36551         * tests/test-wctype.c (main): Likewise.
36552         * tests/test-xprintf-posix.c (main): Likewise.
36553         * tests/test-posixtm.c (main): Likewise.
36554         (STREQ): Delete unused macro.
36555         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
36556         shadowed variables.
36557         * tests/test-memchr.c (main): Likewise.
36558
36559 2009-10-21  Eric Blake  <ebb9@byu.net>
36560
36561         areadlinkat: avoid failure on older glibc
36562         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
36563         rather than mis-comparing 0 against FUNC_RESULT of char*.
36564
36565 2009-10-21  Bruno Haible  <bruno@clisp.org>
36566
36567         * modules/stpncpy (License): Relicense under LGPLv2+.
36568         Reported by David Lutterkort <lutter@redhat.com>.
36569
36570 2009-10-20  Eric Blake  <ebb9@byu.net>
36571
36572         utimensat: work around Solaris 9 bug
36573         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
36574         has trailing slash bugs.
36575         * tests/test-lutimens.h (test_lutimens): Enhance test.
36576         * tests/test-utimens.h (test_utimens): Likewise.
36577         * doc/posix-functions/utime.texi (utime): Enhance documentation.
36578         * doc/posix-functions/utimes.texi (utimes): Likewise.
36579         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36580         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
36581         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
36582         * doc/posix-functions/futimens.texi (futimens): Likewise.
36583
36584         fdutimensat: new module
36585         * modules/fdutimensat: New file.
36586         * lib/fdutimensat.c (fdutimensat): Likewise.
36587         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
36588         * MODULES.html.sh (File system functions): Mention module.
36589         * modules/fdutimensat-tests: New test.
36590         * tests/test-fdutimensat.c: Likewise.
36591
36592         doc: regenerate INSTALL
36593         * doc/INSTALL: Reflect recent autoconf update.
36594         * doc/INSTALL.ISO: Likewise.
36595         * doc/INSTALL.UTF-8: Likewise.
36596
36597 2009-10-20  Pádraig Brady  <P@draigBrady.com>
36598
36599         acl: warn if ACL support is not detected
36600         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
36601
36602 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
36603
36604         * lib/nproc.h: Add extern "C" block for C++.
36605
36606 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
36607             Bruno Haible  <bruno@clisp.org>
36608
36609         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
36610         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
36611         * doc/posix-functions/isalpha.texi: Likewise.
36612         * doc/posix-functions/isblank.texi: Likewise.
36613         * doc/posix-functions/iscntrl.texi: Likewise.
36614         * doc/posix-functions/isdigit.texi: Likewise.
36615         * doc/posix-functions/isgraph.texi: Likewise.
36616         * doc/posix-functions/islower.texi: Likewise.
36617         * doc/posix-functions/isprint.texi: Likewise.
36618         * doc/posix-functions/ispunct.texi: Likewise.
36619         * doc/posix-functions/isspace.texi: Likewise.
36620         * doc/posix-functions/isupper.texi: Likewise.
36621         * doc/posix-functions/isxdigit.texi: Likewise.
36622
36623 2009-10-18  Bruno Haible  <bruno@clisp.org>
36624
36625         Tests for module 'isblank'.
36626         * modules/isblank-tests: New file.
36627         * tests/test-isblank.c: New file.
36628
36629         New module 'isblank'.
36630         * lib/isblank.c: New file.
36631         * m4/isblank.m4: New file.
36632         * modules/isblank: New file.
36633         * doc/posix-functions/isblank.texi: Mention the new module.
36634
36635 2009-10-18  Bruno Haible  <bruno@clisp.org>
36636
36637         New module 'ctype'.
36638         * lib/ctype.in.h: New file.
36639         * m4/ctype.m4: New file.
36640         * modules/ctype: New file.
36641         * doc/posix-headers/ctype.texi: Mention the new module.
36642
36643 2009-10-18  Jim Meyering  <meyering@redhat.com>
36644
36645         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
36646         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
36647         right after its initialization, rather than farther down.
36648         Keeping these in close proximity makes it easier to ensure
36649         that each such variable is initialized.  E.g.,
36650
36651             LIB_CLOCK_GETTIME=
36652             AC_SUBST([LIB_CLOCK_GETTIME])
36653
36654         This change also increments these serial numbers.
36655         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
36656         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36657         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36658
36659 2009-10-18  Bruno Haible  <bruno@clisp.org>
36660
36661         Don't let environment variables perturb build.
36662         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
36663         (gl_PREREQ_GETHRXTIME): ... not here.
36664
36665 2009-10-18  Bruno Haible  <bruno@clisp.org>
36666
36667         Avoid symlink attack in localcharset module.
36668         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
36669         (O_NOFOLLOW): Define fallback.
36670         (get_charset_aliases): Don't open the file if it is a symbolic link.
36671         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
36672         gl_FCNTL_H.
36673         (gl_FCNTL_H): Require it.
36674         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
36675         * modules/localcharset (Files): Add m4/fcntl_h.m4.
36676         Reported by Fergal Glynn <fglynn@veracode.com>.
36677
36678 2009-10-18  Bruno Haible  <bruno@clisp.org>
36679
36680         Implement nproc for mingw.
36681         * lib/nproc.c: Include <windows.h>
36682         (num_processors): On native Windows platforms, try GetSystemInfo.
36683
36684 2009-10-18  Bruno Haible  <bruno@clisp.org>
36685
36686         Implement nproc for IRIX.
36687         * lib/nproc.c: Include <sys/sysmp.h>.
36688         (num_processors): On IRIX systems, try sysmp.
36689         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
36690
36691 2009-10-18  Bruno Haible  <bruno@clisp.org>
36692
36693         Implement nproc for HP-UX.
36694         * lib/nproc.c: Include <sys/pstat.h>
36695         (num_processors): On HP-UX systems, try pstat_getdynamic.
36696         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
36697         pstat_getdynamic.
36698
36699 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
36700             Bruno Haible  <bruno@clisp.org>
36701
36702         Implement nproc for NetBSD, OpenBSD.
36703         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
36704         (ARRAY_SIZE): New macro.
36705         (num_processors): On BSD systems, try sysctl of HW_NCPU.
36706         * m4/nproc.m4: New file.
36707         * modules/nproc (Files): Add m4/nproc.m4.
36708         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
36709         (Makefile.am): Instead, augment lib_SOURCES.
36710
36711 2009-10-18  Bruno Haible  <bruno@clisp.org>
36712
36713         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
36714         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
36715         sys/param.h.
36716
36717 2009-10-16  Eric Blake  <ebb9@byu.net>
36718
36719         utimensat: new module
36720         * modules/utimensat: New file.
36721         * lib/utimensat.c (utimensat): Likewise.
36722         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36723         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
36724         so we can work around Linux bugs.
36725         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36726         * modules/sys_stat (Makefile.am): Substitute them.
36727         * lib/sys_stat.in.h (utimensat): Declare it.
36728         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36729         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36730         * modules/utimensat-tests: New test.
36731         * tests/test-utimensat.c: Likewise.
36732
36733         utimens: let lutimens work on non-symlinks
36734         * lib/utimens.c (lutimens): Fall back to utimens rather than
36735         failing with ENOSYS, when file is not a symlink.
36736         (utimens): Reduce redirection.
36737         * tests/test-lutimens.h (test_lutimens): Update test to cover
36738         non-symlinks.
36739         * tests/test-utimens.h (test_utimens): Update test to cover
36740         symlinks.
36741         * tests/test-utimens.c (main): Update caller.
36742
36743         utimens: cache whether utimensat syscall works
36744         * lib/utimens.c (utimensat_works_really): New cache variable.
36745         (fdutimens, lutimens): Use it to avoid failing syscall.
36746
36747         test-stat-time, test-utimens: improve portability
36748         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
36749         ext4 on alpha, and for cygwin.
36750         * tests/test-utimens-common.h: New file.
36751         (nap): Factor delays into single function.
36752         * tests/test-lutimens.h (test_lutimens): Use new header.
36753         * tests/test-futimens.h (test_futimens): Likewise.
36754         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
36755         timestamps to occur from same machine, as was done previously for
36756         test_utimens.
36757         * modules/utimens-tests (Files): Ship new file.
36758         * modules/futimens-tests (Files): Likewise.
36759         Reported in part by Jim Meyering.
36760
36761         sys_stat: sort replacement declarations
36762         * lib/sys_stat.in.h: Sort declarations.
36763         * lib/futimens.c (futimens): Fix typo.
36764
36765 2009-10-15  Jim Meyering  <meyering@redhat.com>
36766
36767         don't let environment settings perturb build
36768         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
36769         could cause a configure-time and/or build-time malfunction.
36770         Typically, a configure-time function-in-library test is performed
36771         via code like this:
36772
36773           LIB_VAR=
36774           AC_SUBST([LIB_VAR])
36775           prefix_saved_LIBS=$LIBS
36776             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
36777                        [test "$ac_cv_search_FUNC" = "none required" ||
36778                         LIB_VAR=$ac_cv_search_FUNC])
36779           LIBS=$prefix_saved_LIBS
36780
36781         However, in each of the files affected by this change, the LIB_VAR=
36782         initialization was omitted.  Thus, when set in the environment, its
36783         value would propagate into generated Makefiles when FUNC is not found
36784         in LIB_NAME.
36785         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
36786         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36787         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36788
36789 2009-10-14  Eric Blake  <ebb9@byu.net>
36790
36791         fchdir: avoid infinite recursion in mingw
36792         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
36793         recursing.
36794
36795         test-stat-time: port to mingw
36796         * tests/test-stat-time.c (force_unlink): Return a value.
36797         (test_ctime) [W32]: Fix compilation error.
36798         (nap): Don't call usleep with too large an argument.  Use
36799         force_unlink.
36800         * doc/pastposix-functions/usleep.texi (usleep): Document the
36801         portability issue.
36802
36803 2009-10-13  Jim Meyering  <meyering@redhat.com>
36804
36805         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
36806         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
36807         * modules/pipe-filter-ii: Likewise.
36808         * modules/sys_socket-tests: Likewise.
36809         * modules/tsearch-tests: Likewise.
36810         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
36811         (check): Depend on it.
36812
36813 2009-10-12  Eric Blake  <ebb9@byu.net>
36814
36815         utimens-tests: port to NFS file systems
36816         * tests/test-utimens.h (test_utimens): Refactor utimecmp
36817         comparisons to avoid spurious failures from timestamp drift
36818         between NFS machines.
36819
36820 2009-10-12  Eric Blake  <ebb9@byu.net>
36821
36822         stat-time-tests: minor cleanups
36823         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
36824         * tests/test-stat-time.c (nap): Separate assignment from call.
36825         Suggested by Paolo Bonzini and Bruno Haible.
36826
36827         sys_stat: guarantee struct timespec
36828         * lib/sys_stat.in.h (includes): Always include <time.h>
36829         * modules/sys_stat (Depends-on): Add time.
36830         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
36831         mode_t permission values.
36832         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
36833         get at subsecond timestamps.
36834
36835 2009-10-10  Eric Blake  <ebb9@byu.net>
36836
36837         futimens: new module
36838         * modules/futimens: New file.
36839         * lib/futimens.c (futimens): Likewise.
36840         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
36841         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
36842         we can work around Linux bugs.
36843         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36844         * modules/sys_stat (Makefile.am): Substitute them.
36845         * lib/sys_stat.in.h (futimens): Declare it.
36846         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36847         * doc/posix-functions/futimens.texi (futimens): Likewise.
36848         * modules/futimens-tests: New test.
36849         * tests/test-futimens.c: Likewise.
36850
36851         utimens: introduce fdutimens
36852         * lib/utimens.h (fdutimens): New prototype.
36853         * lib/utimens.c (gl_futimens): Move guts...
36854         (fdutimens): ...to new interface.
36855         * tests/test-utimens.c (do_fdutimens): Use it.
36856
36857         utimens: add UTIME_NOW and UTIME_OMIT support
36858         * lib/utimens.c (validate_timespec, update_timespec): New helper
36859         functions.
36860         (gl_futimens, lutimens): Use them.
36861         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
36862         stdbool, sys_stat.
36863         (Link): Mention resulting library dependency.
36864         * modules/utimecmp (Link): Likewise.
36865         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
36866         (Makefile.am): Pick up library dependency.
36867         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
36868         definition.
36869         * tests/test-sys_stat.c: Test the definitions.
36870         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
36871         * NEWS: Document library dependency.
36872
36873         utimecmp: support symlink timestamps
36874         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
36875         hashing when possible.  Use pathconf when available.
36876         (SYSCALL_RESOLUTION): Recognize tighter resolution.
36877         * modules/utimecmp (Depends-on): Add lstat.
36878
36879         utimens: add lutimens interface
36880         * lib/utimens.c (lutimens): New function.
36881         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
36882         * lib/utimens.h (lutimens): Declare new interface.
36883         * tests/test-utimens.c (main): Enhance test.
36884         * tests/test-lutimens.h (test_lutimens): New file.
36885         * modules/utimens-tests (Files): Distribute it.
36886         (Depends-on): Add symlink.
36887         (configure.ac): Check for usleep.
36888
36889         utimens: validate futimens usage
36890         * lib/utimens.c (gl_futimens): Require valid fd up front, using
36891         fewer syscalls on failure later on.  Avoid compiler warning on
36892         mingw.
36893         * modules/utimens (Depends-on): Add dup2.
36894
36895         utimens: add test
36896         * modules/utimens-tests: New test.
36897         * tests/test-utimens.h: New file.
36898         * tests/test-futimens.h: Likewise.
36899         * tests/test-utimens.c: Likewise.
36900
36901         doc: mention timestamp portability issues
36902         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
36903         instead.
36904         * doc/posix-functions/utime.texi (utime): Likewise.
36905         * doc/posix-functions/utimes.texi (utimes): Likewise.
36906         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
36907         instead.
36908         * doc/posix-functions/futimens.texi (futimens): Mention utimens
36909         module.
36910         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36911         Mention weakness with symlink timestamps.
36912         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
36913         to utimensat/futimens instead.
36914         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
36915
36916         test-dup2: enhance test
36917         * tests/test-dup2.c (main): Also check AT_FDCWD.
36918
36919         test-stat-time: avoid more spurious failures
36920         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
36921         xfs; and avoid race if the two timestamps cross quantization edge.
36922
36923         relocatable: prefer 'file system' over 'filesystem'
36924         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
36925         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
36926         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
36927         * doc/relocatable.texi (Enabling Relocatability): Likewise.
36928         * lib/relocatable.c (compute_curr_prefix): Likewise.
36929
36930 2009-10-10  Jim Meyering  <meyering@redhat.com>
36931
36932         stat-time-tests: check for the usleep function
36933         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
36934
36935 2009-10-10  Bruno Haible  <bruno@clisp.org>
36936
36937         * modules/xnanosleep: Put the Link section after the Include section.
36938
36939 2009-10-09  Eric Blake  <ebb9@byu.net>
36940
36941         dup2: work around FreeBSD 6.1 bug
36942         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
36943         * doc/posix-functions/dup2.texi (dup2): Document it.
36944         Reported by Nelson H. F. Beebe and Jim Meyering.
36945
36946         test-stat-time: port to buggy NFS clients
36947         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
36948         (test_ctime): Also skip test if mtime and ctime are skewed.
36949
36950         maint: prefer 'file system' over 'filesystem'
36951         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36952         * doc/posix-functions/lstat.texi (lstat): Likewise.
36953         * lib/file-has-acl.c (file_has_acl): Likewise.
36954         * lib/fwriteerror.c [TEST]: Likewise.
36955         * tests/test-areadlink.h (test_areadlink): Likewise.
36956         * tests/test-areadlinkat-with-size.c (main): Likewise.
36957         * tests/test-areadlinkat.c (main): Likewise.
36958         * tests/test-canonicalize-lgpl.c (main): Likewise.
36959         * tests/test-canonicalize.c (main): Likewise.
36960         * tests/test-fstatat.c (main): Likewise.
36961         * tests/test-linkat.c (main): Likewise.
36962         * tests/test-lstat.h (test_lstat_func): Likewise.
36963         * tests/test-mkdir.h (test_mkdir): Likewise.
36964         * tests/test-readlink.h (test_readlink): Likewise.
36965         * tests/test-remove.c (main): Likewise.
36966         * tests/test-rename.h (test_rename): Likewise.
36967         * tests/test-renameat.c (main): Likewise.
36968         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36969         * tests/test-symlink.h (test_symlink): Likewise.
36970         * tests/test-symlinkat.c (main): Likewise.
36971         * tests/test-unlink.h (test_unlink_func): Likewise.
36972         * tests/test-unlinkat.c (main): Likewise.
36973
36974         maint: make realtime library usage explicit
36975         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
36976         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
36977         * modules/settime (Link): Likewise.
36978         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
36979
36980         test-stat-time: speed up execution
36981         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
36982         warning on mingw.
36983         (nap): New helper function.
36984         (prepare_test): Use it to reduce sleep time.
36985         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
36986         execution.
36987         * modules/stat-time-tests (configure.ac): Check for usleep.
36988
36989 2009-10-09  Jim Meyering  <meyering@redhat.com>
36990
36991         selinux-h: always use getfilecon wrappers
36992         * lib/getfilecon.c: New file.
36993         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
36994         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
36995         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
36996         (fgetfilecon): Provide a stub.
36997         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
36998         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
36999         file unconditionally.
37000         When <selinux/selinux.h> is found, arrange to use wrappers.
37001         * modules/selinux-h (Files): Add getfilecon.c.
37002         (Makefile.am): Substitute include-next-related bits
37003         into the now-always-generated selinux/selinux.h file.
37004         * doc/glibc-functions/lgetfilecon.texi: New file.
37005         * doc/glibc-functions/fgetfilecon.texi: New file.
37006         * doc/glibc-functions/getfilecon.texi: New file.
37007         * doc/glibc-functions/getfilecon-desc.texi: New file.
37008         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
37009         which to pull in the new files.
37010         * MODULES.html.sh (Misc): Add selinux-h.
37011
37012 2009-10-08  Jim Meyering  <meyering@redhat.com>
37013
37014         unistd: fix comment typo
37015         * lib/unistd.in.h (euidaccess): Fix a comment typo.
37016
37017 2009-10-08  Eric Blake  <ebb9@byu.net>
37018
37019         areadlink: use SIZE_MAX consistently
37020         * modules/areadlink (Depends-on): Add stdint.
37021         * modules/areadlink-with-size (Depends-on): Likewise.
37022         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
37023         gives NULL; drop sys/types, since unistd gives size_t; and add
37024         stdint for SIZE_MAX.
37025         (SIZE_MAX): Rely on headers.
37026         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
37027         and add stdint.
37028         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
37029         (SIZE_MAX): Likewise.
37030         (INITIAL_BUF_SIZE): Turn into enum.
37031         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
37032
37033 2009-10-08  Jim Meyering  <meyering@redhat.com>
37034
37035         areadlinkat: avoid compilation failure
37036         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
37037         Fix typo in comment.
37038
37039 2009-10-07  Eric Blake  <ebb9@byu.net>
37040
37041         areadlinkat-with-size: new module
37042         * modules/areadlinkat-with-size: New module.
37043         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
37044         * lib/areadlink.h (areadlinkat): Declare it.
37045         * MODULES.html.sh (File system functions): Mention it.
37046         * modules/areadlinkat-with-size-tests: New test.
37047         * tests/test-areadlinkat-with-size.c: New file.
37048
37049         xreadlinkat: new module
37050         * modules/xreadlinkat: New module.
37051         * lib/xreadlinkat.c (xreadlinkat): New file.
37052         * lib/xreadlink.h (xreadlinkat): Declare it.
37053         * MODULES.html.sh (File system functions): Mention it.
37054
37055         areadlinkat: new module
37056         * lib/at-func.c (FUNC_FAIL): New define.
37057         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
37058         * modules/areadlinkat: New module.
37059         * lib/linkat.c (areadlinkat): Move...
37060         * lib/areadlinkat.c (areadlinkat): ...to new file.
37061         * lib/areadlink.h (areadlinkat): Declare it.
37062         * modules/linkat (Depends-on): Add areadlinkat.
37063         * MODULES.html.sh (File system functions): Mention it.
37064         * modules/areadlinkat-tests: New test.
37065         * tests/test-areadlinkat.c: New file.
37066
37067         areadlink, areadlink-with-size: add tests
37068         * modules/areadlink-tests: New test.
37069         * modules/areadlink-with-size-tests: Likewise.
37070         * tests/test-areadlink.h: New file.
37071         * tests/test-areadlink.c: Likewise.
37072         * tests/test-areadlink-with-size.c: Likewise.
37073
37074         maint: minor cleanups
37075         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
37076         _UNUSED_PARAMETER_ instead.
37077         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
37078         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
37079         * modules/linkat-tests (Files): Distribute test-link.h.
37080
37081         openat, utimens: whitespace cleanup
37082         * lib/openat.c: Prefer space throughout, rather than mix of 8
37083         spaces vs. tabs.
37084         * lib/at-func.c: Likewise.
37085         * lib/utimens.c: Likewise.
37086
37087         openat: avoid using wrong fd
37088         * lib/openat.c (openat_permissive): Reject user's fd if saving the
37089         working directory chooses same fd.
37090         * lib/at-func.c (AT_FUNC_NAME): Likewise.
37091
37092         mkdir, mkdirat: fix cygwin 1.5.x bug
37093         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
37094         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
37095         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
37096         bug.
37097         (gl_PREREQ_MKDIR): Delete unused macro.
37098         * modules/mkdir (Files): Track file rename.
37099         (configure.ac): Update macro name.
37100         * modules/openat (Depends-on): Add mkdir.
37101         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
37102
37103         mkdir, mkdirat: add tests
37104         * modules/mkdir-tests: New test.
37105         * tests/test-mkdir.h: New file.
37106         * tests/test-mkdir.c: Likewise.
37107         * tests/test-mkdirat.c: Likewise.
37108         * modules/openat-tests (Files): Add new files.
37109         (Makefile.am): Run new test.
37110
37111 2009-10-06  Eric Blake  <ebb9@byu.net>
37112
37113         doc: tweak *at function documentation
37114         * doc/posix-functions/faccessat.texi (faccessat): Mention
37115         known issue with replacement.
37116         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
37117         * doc/posix-functions/linkat.texi (linkat): Likewise.
37118         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37119         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37120         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37121         * doc/posix-functions/renameat.texi (renameat): Likewise.
37122         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37123
37124         openat: fix GNU/Hurd bug in unlinkat
37125         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
37126         broken.
37127         * doc/posix-functions/unlink.texi (unlink): Document this.
37128         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
37129
37130         fdopendir: fix GNU/Hurd bug
37131         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
37132         allowing non-directory fds.
37133         * lib/fdopendir.c (rpl_fdopendir): Work around it.
37134         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
37135         * modules/dirent (Makefile.am): Substitute it.
37136         * lib/dirent.in.h (fdopendir): Declare replacement.
37137         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
37138         * tests/test-fdopendir.c (main): Test something other than
37139         /dev/null, since on Hurd that behaves like a directory.
37140
37141         test-symlink: port to GNU/Hurd
37142         * tests/test-symlink.h (test_symlink): Relax expected errno.
37143
37144         doc: tweak more cygwin information
37145         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
37146         now compatible with glibc.
37147         * doc/posix-functions/getopt.texi (getopt): Likewise.
37148
37149         getopt-gnu: add another test
37150         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
37151         guarantee behavior relied on by m4.
37152         * tests/test-getopt.c (main): Use it.
37153         * modules/getopt-posix-tests (Depends-on): Add setenv.
37154         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
37155
37156         getopt: fix compilation on darwin
37157         * lib/getopt.in.h (includes): Leave breadcrumbs during system
37158         include.
37159         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
37160         Reported by Ludovic Courtès.
37161
37162 2009-10-06  Bruno Haible  <bruno@clisp.org>
37163
37164         * modules/size_max (Description): Discourage its use.
37165         Reported by Simon Josefsson.
37166
37167 2009-10-06  Jim Meyering  <meyering@redhat.com>
37168
37169         linkat: avoid compilation failure
37170         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
37171
37172 2009-10-05  Eric Blake  <ebb9@byu.net>
37173
37174         linkat: support Linux 2.6.17
37175         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
37176         linkat on Linux, but allow cache variable override.
37177         * lib/linkat.c (rpl_linkat): Define override.
37178         * modules/linkat (Depends-on): Add symlinkat.
37179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
37180         * modules/unistd (Makefile.am): Substitute it.
37181         * lib/unistd.in.h (linkat): Declare replacement.
37182         Reported by Pádraig Brady.
37183
37184         quotearg: port test to systems with C.UTF-8 locale
37185         * tests/test-quotearg.c (struct result_strings): Add another
37186         member, differentiating between C.ASCII and C.UTF-8 handling.
37187         (compare_strings): Add parameter.
37188         (main): Adjust all callers.
37189
37190         getopt: avoid clash with FreeBSD _getopt_internal
37191         * lib/getopt.in.h (_getopt_internal): Override the name.
37192         * lib/getopt_int.h (includes): Pick up any overrides.
37193         Reported by Reuben Thomas.
37194
37195         hash: allow C89 compilation
37196         * lib/hash.c (check_tuning): Move declaration before statement.
37197         Reported by Reuben Thomas.
37198
37199 2009-10-05  Karl Berry  <karl@gnu.org>
37200
37201         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
37202
37203 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
37204             Bruno Haible  <bruno@clisp.org>
37205
37206         * lib/uname.c (uname): Use a table-driven algorithm to compute
37207         Windows NT versions.
37208
37209 2009-10-04  Bruno Haible  <bruno@clisp.org>
37210
37211         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
37212         program_invocation_short_name.
37213         * modules/progname (configure.ac): Test for presence of
37214         program_invocation_short_name.
37215         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37216
37217 2009-10-04  Bruno Haible  <bruno@clisp.org>
37218
37219         * lib/progname.c (set_program_name): Fix comment.
37220         Reported by Jim Meyering.
37221
37222 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37223             Bruno Haible  <bruno@clisp.org>
37224
37225         * lib/uname.c: Include <string.h>.
37226         (uname): Do only one call to GetVersionEx in the common case.
37227
37228 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37229             Bruno Haible  <bruno@clisp.org>
37230
37231         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
37232         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
37233         (uname): Add support for Windows CE and various non-x86 CPU types.
37234
37235 2009-10-03  Bruno Haible  <bruno@clisp.org>
37236
37237         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
37238         invocation to tests/configure.ac.
37239         Reported by Ian Beckwith <ianb@erislabs.net>.
37240
37241 2009-10-02  Eric Blake  <ebb9@byu.net>
37242
37243         fchdir: avoid compiler warning
37244         * lib/fchdir.c (canonicalize_file_name)
37245         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
37246
37247         test-open: support mingw errno values
37248         * tests/test-open.h (test_open): Relax test.
37249         * tests/test-fopen.h (test_fopen): Likewise.
37250         * tests/test-openat-safer.c (main): Likewise.
37251
37252         open: fix opening directory on mingw
37253         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
37254
37255         test-open: on GNU/Hurd, /dev/null is a directory
37256         * tests/test-fopen.h (main): Rename...
37257         (test_fopen): ...to this.  Use a guaranteed non-directory when
37258         confirming open behavior on trailing slash.
37259         * tests/test-openat-safer.c (main): Likewise.
37260         * tests/test-open.h (main): Likewise....
37261         (test_open): ...to this.
37262         * tests/test-fopen.c (main): Adjust caller.
37263         * tests/test-fopen-safer.c (main): Likewise.
37264         * tests/test-open.c (main): Likewise.
37265         * tests/test-fcntl-safer.c (main): Likewise.
37266         Reported by Samuel Thibault.
37267
37268         rename, fchdir: don't ignore chdir failure
37269         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
37270         * lib/rename.c (rpl_rename) [W32]: Likewise.
37271         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
37272         an empty destination directory if source cannot be renamed,
37273         although there is still possibility for failure.
37274         * doc/posix-functions/rename.texi (rename): Document the race.
37275         Reported by Jim Meyering.
37276
37277         maint: cleanup whitespace in recent commits
37278         * lib/rename.c (rpl_rename): Remove tabs.
37279         * tests/test-link.h (test_link): Likewise.
37280         * lib/fchdir.c (get_name): Likewise.
37281         Reported by Jim Meyering.
37282
37283 2009-10-02  Ben Pfaff  <blp@gnu.org>
37284
37285         relocatable-prog-wrapper: Add missing dependency on
37286         double-slash-root.
37287         * modules/relocatable-prog-wrapper: Add dependency.
37288         Reported by Ian Beckwith <ianb@erislabs.net>.
37289
37290 2009-10-02  Eric Blake  <ebb9@byu.net>
37291
37292         renameat: fix Solaris bugs
37293         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
37294         needed fixing.
37295         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
37296         * modules/stdio (Makefile.am): Substitute it.
37297         * lib/stdio.in.h (renameat): Declare replacement.
37298         * lib/renameat.c (rpl_renameat): Implement fix.
37299
37300         renameat: new module
37301         * modules/renameat: New file.
37302         * lib/renameat.c (renameat): Likewise.
37303         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
37304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37305         * modules/stdio (Makefile.am): Substitute them.
37306         * lib/stdio.in.h (renameat): Declare it.
37307         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37308         * doc/posix-functions/renameat.texi (renameat): Likewise.
37309         * modules/renameat-tests: New test.
37310         * tests/test-renameat.c: Likewise.
37311
37312         rename: fix mingw bugs
37313         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
37314         directory overwrite bugs.
37315
37316         rename: fix another cygwin 1.5 bug
37317         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
37318         checks.
37319         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
37320         unnecessary cygwin workarounds.  Also work around bug with moving
37321         full directory onto an empty one.
37322         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
37323
37324         rename-dest-slash: merge into rename module
37325         * modules/rename-dest-slash (Status): Mark obsolete.
37326         (Depends-on): Add rename.
37327         (Files): Let rename do it all.
37328         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
37329         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
37330         * m4/rename-dest-slash.m4: ...so this file can be deleted.
37331         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
37332         * lib/rename.c (rpl_rename): Update comments.
37333
37334         rename: fix cygwin 1.5.x bugs
37335         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
37336         * lib/rename.c (rpl_rename): Work around them.
37337         * modules/rename (Depends-on): Add same-inode.
37338
37339         rename: fix Solaris 10 bug
37340         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37341         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
37342         was the only bug.
37343
37344         rename: fix Solaris 9 bug
37345         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
37346         on non-directory.  Avoid calling exit.
37347         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
37348         strdup.
37349         * modules/rename-tests (Depends-on): Drop lstat.
37350         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37351         (gl_PREREQ_RENAME): Delete unused macro.
37352
37353         rename-dest-slash: fix NetBSD bug
37354         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
37355         links.
37356         * modules/rename-dest-slash (Depends-on): Add same-inode.
37357
37358         rename-tests: new test, exposes several platform bugs
37359         * modules/rename-tests: New file.
37360         * tests/test-rename.h: Likewise.
37361         * tests/test-rename.c: Likewise.
37362         * doc/posix-functions/rename.texi (rename): Improve documentation,
37363         including bugs that will eventually be fixed in gnulib.
37364
37365 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
37366
37367         * lib/uname.c: Include <stdlib.h>
37368         (uname): Assume version info is available.
37369
37370 2009-10-02  Jim Meyering  <meyering@redhat.com>
37371
37372         gnu-web-doc-update: correct --help output
37373         * build-aux/gnu-web-doc-update: Make --help output relevant.
37374
37375         gnu-web-doc-update: add standard options
37376         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
37377
37378         gnu-web-doc-update: New module.
37379         Use this script to automatically update the on-line web documentation
37380         for your GNU project at http://www.gnu.org/software/$pkg/manual/
37381         * modules/gnu-web-doc-update: New file, from coreutils.
37382         * build-aux/gnu-web-doc-update: New script.
37383
37384 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
37385
37386         link: LoadLibrary is not needed.
37387         * lib/link.c: Use GetModuleHandle.
37388
37389 2009-10-01  Eric Blake  <ebb9@byu.net>
37390
37391         getopt: bump serial number
37392         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
37393         change.
37394
37395         tests: tighten link, rmdir, and remove tests
37396         * tests/test-link.h (includes): No need to use <config.h> here.
37397         Clean up if directory hard link was created, otherwise test for
37398         trailing '.'.
37399         * tests/test-linkat.c (main): Simplify.
37400         * tests/test-remove.c (main): Enhance test for trailing '.'.
37401         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37402
37403 2009-10-01  Jim Meyering  <meyering@redhat.com>
37404
37405         maint.mk: requiring "make major" was annoying, for a "minor" release.
37406         What is intended is "stable", to contrast with alpha and beta,
37407         so require "make stable", not "make major".
37408         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
37409         (get_tool_versions): Likewise.
37410         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
37411
37412 2009-09-30  Ben Pfaff  <blp@gnu.org>
37413
37414         Fix broken build of replacement for Windows tmpfile().
37415         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
37416         flags argument added along with the 'mkostemp' module.
37417
37418 2009-09-28  Bruno Haible  <bruno@clisp.org>
37419
37420         Avoid identifier clash with POSIX function 'remove' defined as a macro.
37421         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
37422         to 'remove_elt'.
37423         (gl_list_remove): Update.
37424         * lib/gl_list.c (gl_list_remove): Update.
37425         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
37426         to 'remove_elt'.
37427         (gl_oset_remove): Update.
37428         * lib/gl_list.c (gl_oset_remove): Update.
37429         Reported by Eric Blake.
37430
37431 2009-09-28  Eric Blake  <ebb9@byu.net>
37432
37433         doc: mention yet more cygwin 1.7 status
37434         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
37435         cygwin.
37436         * doc/glibc-functions/execvpe.texi (execvpe): New file.
37437         * doc/gnulib.texi (Glibc unistd.h): Mention it.
37438
37439         argp: fix test failure
37440         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
37441         that are not upper-case.  Pass correct range to tolower.
37442
37443 2009-09-27  Jim Meyering  <meyering@redhat.com>
37444
37445         test-yesno: work around sparc-dash here-document infelicity
37446         Without this change, the literal \177 byte in a here document
37447         would make dash 0.5.5.1-3 access uninitialized memory.
37448         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
37449         Instead, use a marker, "@", and filter through tr to create the desired
37450         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
37451
37452 2009-09-27  Bruno Haible  <bruno@clisp.org>
37453
37454         Disable untested support for new flavours of ACLs on AIX.
37455         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
37456         progress.
37457         * lib/set-mode-acl.c (qset_acl): Likewise.
37458
37459 2008-12-07  Bruno Haible  <bruno@clisp.org>
37460
37461         Add support for new flavours of ACLs on AIX. (Untested.)
37462         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
37463         (file_has_acl): Add support for newer AIX.
37464         * lib/set-mode-acl.c (qset_acl): Likewise.
37465         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
37466         Rainer Tammer <tammer@tammer.net>.
37467
37468 2009-09-26  Eric Blake  <ebb9@byu.net>
37469
37470         argp: fix compilation of getopt
37471         * lib/getopt.in.h (includes): Use different guard than glibc.
37472         Reported by Sergey Poznyakoff.
37473
37474         doc: mention more cygwin 1.7 status
37475         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
37476         bug.
37477         * doc/posix-functions/execl.texi (execl): Likewise.
37478         * doc/posix-functions/execle.texi (execle): Likewise.
37479         * doc/posix-functions/execlp.texi (execlp): Likewise.
37480         * doc/posix-functions/execv.texi (execv): Likewise.
37481         * doc/posix-functions/execve.texi (execve): Likewise.
37482         * doc/posix-functions/execvp.texi (execvp): Likewise.
37483         * doc/glibc-functions/canonicalize_file_name.texi
37484         (canonicalize_file_name): Cygwin 1.7 now provides this.
37485         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
37486         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
37487         on AT_SYMLINK_NOFOLLOW.
37488
37489 2009-09-24  Eric Blake  <ebb9@byu.net>
37490
37491         test-linkat: make test more robust
37492         * tests/test-linkat.c (main): Avoid collision with EEXIST.
37493
37494         getopt: fix inclusion guards for cygwin
37495         * modules/getopt-posix (Depends-on): Add include-next.
37496         (Makefile.am): Substitute more items in replacement header.
37497         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
37498         <getopt.h>.
37499         * lib/getopt.in.h (includes): Use split inclusion guard, and
37500         prefer <getopt.h> over include <unistd.h> when one is present.
37501         (option): Also override name of 'struct option'.
37502
37503         same-inode: revert prior change; it is not yet ready
37504         * NEWS: Undo mention of this change.
37505         * lib/same-inode.h (same-inode.h): Undo tri-state change.
37506         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37507         * lib/cycle-check.c (cycle_check): Likewise.
37508         * lib/same.c (same_name): Likewise.
37509         * lib/at-func2.c (at_func2): Likewise.
37510
37511 2009-09-23  Eric Blake  <ebb9@byu.net>
37512
37513         linkat: new module
37514         * modules/linkat: New file.
37515         * lib/at-func2.c (at_func2): Likewise.
37516         * lib/linkat.c (linkat): Likewise.
37517         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
37518         * lib/openat-priv.h (at_func2): Add declaration.
37519         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37520         * modules/unistd (Makefile.am): Substitute them.
37521         * lib/unistd.in.h (linkat): Declare it.
37522         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37523         * doc/posix-functions/linkat.texi (linkat): Likewise.
37524         * doc/posix-functions/link.texi (link): Tweak wording.
37525         * tests/test-link.c (main): Move guts...
37526         * tests/test-link.h (test_link): ...into new file.
37527         * modules/linkat-tests: New test.
37528         * tests/test-linkat.c: Likewise.
37529         * modules/link-tests (Files): Ship new file.
37530         (Depends-on): Add stdbool.
37531
37532         dirname: add library-safe mdir_name
37533         * lib/dirname.h (mdir_name): New prototype.
37534         * lib/dirname.c (dir_name): Move guts...
37535         (mdir_name): ...to new function that avoids xalloc_die.
37536
37537         fchdir: another mingw fix
37538         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
37539         * lib/fchdir.c (get_name): New helper method; skips canonicalize
37540         on mingw (where it has not yet been ported), and make it optional
37541         elsewhere.
37542         (_gl_register_fd): Use it.
37543
37544         same-inode: make SAME_INODE tri-state, to port to mingw
37545         * NEWS: Mention this change.
37546         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
37547         st_ino always being 0.
37548         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37549         * lib/cycle-check.c (cycle_check): Likewise.
37550         * lib/same.c (same_name): Likewise.
37551
37552         lstat: avoid mingw compilation error
37553         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
37554         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
37555         lstat ourselves.
37556         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
37557         was adequate.
37558         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
37559         the checks for lstat.
37560         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
37561
37562         link: fix test failure on Solaris 9
37563         * lib/link.c (rpl_link): Don't assume link will catch bogus
37564         trailing slash on source.
37565
37566         test-symlinkat: enhance test
37567         * tests/test-readlink.c (main): Move guts...
37568         * tests/test-readlink.h (test_readlink): ...into new file.
37569         * tests/test-symlink.c (main): Move guts...
37570         * tests/test-symlink.h (test_symlink): ...into new file.
37571         * tests/test-symlinkat.c (main): Use new files for further
37572         coverage.
37573         (do_symlink, do_readlink): New helper functions.
37574         * modules/symlink-tests (Files): Ship new file.
37575         (Depends-on): Add stdbool.
37576         * modules/readlink-tests (Files): Ship new file.
37577         (Depends-on): Add stdbool.
37578         * modules/symlinkat-tests (Files): Use new files.
37579
37580 2009-09-23  Eric Blake  <ebb9@byu.net>
37581
37582         readlink: document portability issue with symlink length
37583         * doc/posix-functions/lstat.texi (lstat): Mention that some file
37584         systems have bogus st_size on symlinks, and mention the
37585         areadlink-with-size module.
37586         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37587         * doc/posix-functions/readlink.texi (readlink): Mention the
37588         areadlink module, and ERANGE failure.
37589         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37590         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
37591
37592         readlink: fix Solaris 9 bug with trailing slash
37593         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
37594         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
37595         * doc/posix-functions/readlink.texi (readlink): Document this.
37596         * modules/readlink-tests: New test.
37597         * tests/test-readlink.c: Likewise.
37598
37599         readlink: fix cygwin 1.5.x bug with return type
37600         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
37601         * lib/unistd.in.h (readlink): Use ssize_t.
37602         * lib/readlink.c (readlink): Likewise.
37603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37604         * modules/unistd (Makefile.am): Substitute it.
37605         * lib/unistd.in.h (readlink): Declare replacement.
37606         * doc/posix-functions/readlink.texi (readlink): Document this.
37607
37608         symlink: use throughout gnulib
37609         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
37610         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
37611         symlink is not used.
37612         * modules/symlinkat (Depends-on): Add symlink.
37613         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37614         * modules/canonicalize-tests (Depends-on): Likewise.
37615         * modules/lstat-tests (Depends-on): Likewise.
37616         * modules/openat-tests (Depends-on): Likewise.
37617         * modules/remove-tests (Depends-on): Likewise.
37618         * modules/rmdir-tests (Depends-on): Likewise.
37619         * modules/unlink-tests (Depends-on): Likewise.
37620         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
37621         * tests/test-canonicalize.c (symlink): Likewise.
37622         * tests/test-fstatat.c (symlink): Likewise.
37623         * tests/test-lstat.c (symlink): Likewise.
37624         * tests/test-remove.c (symlink): Likewise.
37625         * tests/test-rmdir.c (symlink): Likewise.
37626         * tests/test-unlink.c (symlink): Likewise.
37627         * tests/test-unlinkat.c (symlink): Likewise.
37628
37629         symlink: new module, for Solaris 9 bug
37630         * modules/symlink: New file.
37631         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
37632         * lib/symlink.c: Likewise.
37633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37634         * modules/unistd (Makefile.am): Substitute them.
37635         * lib/unistd.in.h (symlink): Declare replacement.
37636         * MODULES.html.sh (File system functions): Mention it.
37637         * doc/posix-functions/symlink.texi (symlink): Likewise.
37638         * modules/symlink-tests: New test.
37639         * tests/test-symlink.c: Likewise.
37640
37641 2009-09-23  Bruno Haible  <bruno@clisp.org>
37642
37643         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
37644         when needed.
37645         Test case: gnulib-tool --import --with-tests atexit inttypes.
37646         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
37647
37648 2009-09-23  Bruno Haible  <bruno@clisp.org>
37649
37650         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
37651         subcommand, not in a subshell.
37652
37653 2009-09-22  Eric Blake  <ebb9@byu.net>
37654
37655         unistd: sort replacement declarations
37656         * lib/unistd.in.h: Sort declarations.
37657
37658         open, openat: minor optimization
37659         * lib/open.c (open): If open succeeded, len is non-zero.
37660         * lib/openat.c (rpl_openat): Likewise.
37661
37662         link-follow: ensure correct result
37663         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
37664         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
37665         distinguish between possible failures.
37666
37667 2009-09-21  Eric Blake  <ebb9@byu.net>
37668
37669         fts: avoid compiler warning
37670         * lib/fts.c (dirent_inode_sort_may_be_useful)
37671         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
37672
37673 2009-09-19  Bruno Haible  <bruno@clisp.org>
37674
37675         * lib/progreloc.c (canonicalize_file_name): New declaration.
37676
37677 2009-09-19  Eric Blake  <ebb9@byu.net>
37678
37679         link: fix quoting
37680         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
37681
37682         openat: fix openat bugs on Solaris 9
37683         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
37684         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
37685         * modules/openat (Depends-on): Add open.
37686         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
37687         * modules/fcntl-h (Makefile.am): Substitute it.
37688         * lib/fcntl.in.h (openat): Declare replacement.
37689         * doc/posix-functions/openat.texi (openat): Document this.
37690
37691         openat: move fstatat and unlinkat into correct files
37692         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
37693         compiled.
37694         * lib/openat.c (fstatat, unlinkat): Move...
37695         * lib/fstatat.c (fstatat): ...into correct files.
37696         * lib/unlinkat.c (unlinkat): Likewise.
37697
37698         openat: fix unlinkat bugs on Solaris 9
37699         * lib/unlinkat.c (unlinkat): New file.
37700         * modules/openat (Depends-on): Add unlink.
37701         (Files): Distribute it.
37702         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
37703         trailing slash behavior is broken.
37704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37705         * modules/unistd (Makefile.am): Substitute it.
37706         * lib/unistd.in.h (unlinkat): Declare replacement.
37707         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
37708
37709         openat: fix fstatat bugs on Solaris 9
37710         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
37711         stat.
37712         * doc/posix-functions/fstatat.texi (fstatat): Document this.
37713
37714         test-unlinkat: enhance test, to expose Solaris 9 bug
37715         * tests/test-unlink.c (main): Factor guts...
37716         * tests/test-unlink.h (test_rmdir_func): ...into new file.
37717         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
37718         * tests/test-rmdir.c (main): Adjust caller.
37719         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
37720         (unlinker): New helper function.
37721         (rmdirat): Enhance check.
37722         * modules/rmdir-tests (Depends-on): Add stdbool.
37723         * modules/unlink-tests (Depends-on): Likewise.
37724         (Files): Add test-unlink.h.
37725         * modules/openat-tests (Files): Likewise.
37726         (Depends-on): Add unlinkdir.
37727
37728         test-fstatat: new test, to expose Solaris 9 bugs
37729         * tests/test-stat.c (main): Factor guts...
37730         * tests/test-stat.h (test_stat_func): ...into new file.
37731         * tests/test-lstat.c (main): Factor guts...
37732         * tests/test-lstat.h (test_lstat_func): ...into new file.
37733         * tests/test-fstatat.c: New file.
37734         * modules/stat-tests (Files): Add test-stat.h.
37735         * modules/lstat-tests (Files): Add test-lstat.h.
37736         (Depends-on): Add stdbool.
37737         * modules/openat-tests (Depends-on): Add pathmax.
37738         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
37739         (Makefile.am): Run new test.
37740
37741         remove: new module, for mingw and Solaris 9 bugs
37742         * modules/remove: New file.
37743         * lib/remove.c: Likewise.
37744         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
37745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37746         * modules/stdio (Makefile.am): Use them.
37747         * lib/stdio.in.h (remove): Declare replacement.
37748         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37749         * doc/posix-functions/remove.texi (remove): Likewise.
37750         * modules/remove-tests: New test.
37751         * tests/test-remove.c: Likewise.
37752
37753         unlink: new module, for Solaris 9 bug
37754         * modules/unlink: New file.
37755         * lib/unlink.c: Likewise.
37756         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37757         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37758         * modules/unistd (Makefile.am): Use them.
37759         * lib/unistd.in.h (stat): Declare replacement.
37760         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37761         * doc/posix-functions/unlink.texi (unlink): Likewise.
37762         * modules/unlink-tests: New test.
37763         * tests/test-unlink.c: Likewise.
37764
37765         lstat: fix Solaris 9 bug
37766         * lib/lstat.c (lstat): Also check for trailing slash on
37767         non-symlink, non-directories.  Use stat module to simplify logic.
37768         * doc/posix-functions/lstat.texi (lstat): Document it.
37769         * modules/lstat-tests (Depends-on): Add errno, same-inode.
37770         (configure.ac): Check for symlink.
37771         * tests/test-lstat.c (main): Add more tests.
37772
37773         stat: add as dependency to other modules
37774         * modules/chown (Depends-on): Add stat.
37775         * modules/euidaccess (Depends-on): Likewise.
37776         * modules/fchdir (Depends-on): Likewise.
37777         * modules/isdir (Depends-on): Likewise.
37778         * modules/link (Depends-on): Likewise.
37779         * modules/lstat (Depends-on): Likewise.
37780         * modules/mkdir-p (Depends-on): Likewise.
37781         * modules/modechange (Depends-on): Likewise.
37782         * modules/open (Depends-on): Likewise.
37783         * modules/readlink (Depends-on): Likewise.
37784         * modules/same (Depends-on): Likewise.
37785
37786         stat: fix Solaris 9 bug
37787         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
37788         slash.
37789         * lib/stat.c (rpl_stat): Work around it.
37790         * doc/posix-functions/stat.texi (stat): Update documentation.
37791
37792         stat: new module, for mingw bug
37793         * modules/stat: New file.
37794         * lib/stat.c: Likewise.
37795         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37796         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37797         * modules/sys_stat (Makefile.am): Use them.
37798         * lib/sys_stat.in.h (stat): Declare replacement.
37799         * lib/openat.c (fstatat): Deal with lstat and stat being function
37800         macros.
37801         * modules/openat (Depends-on): Add inline.
37802         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37803         * doc/posix-functions/stat.texi (stat): Likewise.
37804         * modules/stat-tests: New test.
37805         * tests/test-stat.c: Likewise.
37806
37807 2009-09-19  Jim Meyering  <meyering@redhat.com>
37808
37809         syntax-check: detect unnecessary inclusion of canonicalize.h
37810         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
37811
37812 2009-09-19  Eric Blake  <ebb9@byu.net>
37813
37814         canonicalize-lgpl: adjust clients to use correct header
37815         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37816         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
37817         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
37818         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
37819         * lib/progreloc.c (includes): Likewise.
37820
37821 2009-09-19  Jim Meyering  <meyering@redhat.com>
37822
37823         test-posixtm.c: correct a comment
37824         * tests/test-posixtm.c: Correct first-line comment.
37825         Spotted by Eric Blake.
37826
37827 2009-09-16  Jim Meyering  <meyering@redhat.com>
37828
37829         posixtm-tests: make T const-correct; add a test case
37830         * tests/test-posixtm.c (T): Declare const.
37831         Add a test for -(2^31+1).
37832         Remove useless can-succeed-only-in-2002 test.
37833
37834         posixtm-tests: adjust the sole failing test
37835         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
37836         expected output matches what mktime now produces.  Cross-checked via
37837         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
37838
37839         posixtm: move #ifdef'd tests into a new module
37840         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
37841         * tests/test-posixtm.c: ... this new file.
37842         * modules/posixtm-tests: New module.
37843
37844 2009-09-19  Eric Blake  <ebb9@byu.net>
37845
37846         openat: simplify use of at-func.c
37847         * lib/at-func.c (includes): Include prerequisites here, to
37848         simplify requirements on client files.
37849         * lib/openat-priv.h: Add double-inclusion guard.
37850         * lib/faccessat.c (includes): Simplify.
37851         * lib/fchmodat.c (includes): Likewise.
37852         * lib/fchownat.c (includes): Likewise.
37853         * lib/mkdirat.c (includes): Likewise.
37854         * lib/mkfifoat.c (includes): Likewise.
37855         * lib/symlinkat.c (includes): Likewise.
37856
37857         openat: allow return of fd 0
37858         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
37859         * modules/save-cwd (Depends-on): Replace fcntl-safer with
37860         unistd-safer.
37861         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
37862         <fcntl.h>; this module does not leak fds.
37863         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
37864         must be allowed to return 0, leaving openat_safer to add the
37865         safety.
37866         (openat_permissive): Avoid writing to just-opened fd 2 if
37867         restoring the current directory fails.
37868         * lib/openat-die.c (openat_restore_fail): Add comment.
37869         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
37870         (save_cwd): Guarantee safe fd, but without use of open_safer.
37871         * tests/test-openat.c: New test.
37872         * modules/openat-tests (Files, Makefile.am): Distribute and build
37873         new file.
37874
37875         relocatable-prog-wrapper: fix build
37876         * modules/relocatable-prog-wrapper (Files): Update name of
37877         canonicalize m4 file, broken on 2009-09-17.
37878         Reported by emad hajjar <aleppos@hotmail.com>.
37879
37880 2009-09-19  Bruno Haible  <bruno@clisp.org>
37881
37882         * lib/safe-alloc.h: Use the standard header with GPL copyright.
37883         * lib/safe-alloc.c: Likewise.
37884         Reported by Ian Beckwith <ianb@erislabs.net>.
37885
37886 2009-09-18  Bruno Haible  <bruno@clisp.org>
37887
37888         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
37889         Reported by <erobles@sensacd.com.mx>.
37890
37891 2009-09-17  Eric Blake  <ebb9@byu.net>
37892
37893         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
37894         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
37895         slashes when checking if last component is missing.
37896         * tests/test-canonicalize.c (main): Test this.
37897
37898         canonicalize, canonicalize-lgpl: honor // if distinct from /
37899         * modules/canonicalize (Files): Add double-slash-root.m4.
37900         * modules/canonicalize-lgpl (Files): Likewise.
37901         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37902         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
37903         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
37904         fallback definition.
37905         (canonicalize_filename_mode): Use it to protect //.
37906         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
37907         (__realpath): Likewise.
37908         * tests/test-canonicalize.c (main): Test this.
37909         * tests/test-canonicalize-lgpl.c (main): Likewise.
37910         * modules/canonicalize-tests (Depends-on): Add same-inode.
37911         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37912
37913         canonicalize-lgpl: fix glibc bug with trailing slash
37914         * m4/canonicalize-lgpl.m4: Move contents...
37915         * m4/canonicalize.m4: ...here.
37916         (gl_CANONICALIZE_LGPL): Factor realpath check...
37917         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
37918         glibc 2.3.5 bug, fixed 2005-04-27.
37919         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
37920         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
37921         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
37922         * modules/canonicalize-lgpl (Files): Manage file rename.
37923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37924         * modules/stdlib (Makefile.am): Substitute witness.
37925         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
37926         is needed.
37927         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
37928         replacement is required.
37929         * lib/canonicalize.c (canonicalize_file_name): Likewise.
37930         * doc/glibc-functions/canonicalize_file_name.texi
37931         (canonicalize_file_name): Document this.
37932         * doc/posix-functions/realpath.texi (realpath): Likewise.
37933
37934         canonicalize-lgpl: reject non-directory with trailing slash
37935         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
37936         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
37937         catches failures in glibc 2.3.5.
37938         * tests/test-canonicalize.c (main): Likewise.
37939
37940         canonicalize-lgpl: use native realpath if it works
37941         * lib/canonicalize-lgpl.c (realpath): Guard with
37942         FUNC_REALPATH_WORKS.
37943         * lib/stdlib.in.h (realpath): Make declaration optional based on
37944         HAVE_REALPATH.
37945         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
37946         native realpath works.
37947         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37948         * modules/stdlib (Makefile.am): Substitute witness.
37949
37950         canonicalize, canonicalize-lgpl: use <stdlib.h>
37951         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
37952         (Include): Mention <stdlib.h>.
37953         (configure.ac): Mention functions we provide.
37954         * modules/canonicalize (configure.ac): Likewise.
37955         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
37956         realpath if canonicalize_file_name is missing.
37957         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
37958         * modules/stdlib (Makefile.am): Substitute witnesses.
37959         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
37960         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
37961         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
37962         * NEWS: Document this.
37963         * doc/glibc-functions/canonicalize_file_name.texi
37964         (canonicalize_file_name): Likewise.
37965         * doc/posix-functions/realpath.texi (realpath): Likewise.
37966         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
37967
37968         test-canonicalize: consolidate into single C program
37969         * tests/test-canonicalize.sh: Delete; move setup into...
37970         * tests/test-canonicalize.c (main): ...the program, making it
37971         easier to run in debugger.  Add some tests.
37972         * modules/canonicalize-tests (Files): Remove unused file.
37973         (Depends-on): Add progname.
37974         (configure.ac, Makefile.am): Simplify.
37975
37976         test-canonicalize-lgpl: consolidate into single C program
37977         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
37978         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
37979         easier to run in debugger.  Add some tests.
37980         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
37981         (configure.ac, Makefile.am): Simplify.
37982
37983         canonicalize: avoid resolvepath
37984         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
37985         unnecessary checks.
37986         * lib/canonicalize.c (includes): Simplify.
37987         (canonicalize_file_name): Drop resolvepath implementation.
37988         * modules/canonicalize (Depends-on): Drop filenamecat.
37989
37990         canonicalize: don't lose errno
37991         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
37992         over calls to free.
37993
37994         canonicalize: simplify errno handling
37995         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
37996         assignment.
37997
37998         canonicalize, canonicalize-lgpl: update module dependencies
37999         * modules/canonicalize (Depends-on): Add extensions, lstat,
38000         pathmax, stdlib.
38001         (Files): Drop pathmax.h.
38002         (configure.ac): Adjust macro name.
38003         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
38004         lstat, stdlib, sys_stat.
38005         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
38006         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
38007         extensions.
38008         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
38009         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
38010         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
38011         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
38012         declaration, if available.
38013         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
38014         we can rely on the readlink module.
38015         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
38016         (includes): Use <unistd.h> unconditionally.
38017
38018 2009-09-17  Eric Blake  <ebb9@byu.net>
38019
38020         maint: make Include sections of modules consistent
38021         * modules/alloca: Use only header name; no need to list #include.
38022         * modules/alloca-opt: Likewise.
38023         * modules/arpa_inet: Likewise.
38024         * modules/canon-host: Likewise.
38025         * modules/configmake: Likewise.
38026         * modules/dirent: Likewise.
38027         * modules/eealloc: Likewise.
38028         * modules/environ: Likewise.
38029         * modules/fchdir: Likewise.
38030         * modules/fcntl: Likewise.
38031         * modules/fcntl-h: Likewise.
38032         * modules/gethrxtime: Likewise.
38033         * modules/gettime: Likewise.
38034         * modules/ignore-value: Likewise.
38035         * modules/inet_ntop: Likewise.
38036         * modules/inet_pton: Likewise.
38037         * modules/inttypes: Likewise.
38038         * modules/isnand-nolibm: Likewise.
38039         * modules/isnanf-nolibm: Likewise.
38040         * modules/mbchar: Likewise.
38041         * modules/mbfile: Likewise.
38042         * modules/mbiter: Likewise.
38043         * modules/mbuiter: Likewise.
38044         * modules/netdb: Likewise.
38045         * modules/netinet_in: Likewise.
38046         * modules/nproc: Likewise.
38047         * modules/pagealign_alloc: Likewise.
38048         * modules/poll: Likewise.
38049         * modules/printf-frexp: Likewise.
38050         * modules/pthread: Likewise.
38051         * modules/putenv: Likewise.
38052         * modules/random_r: Likewise.
38053         * modules/relocatable-prog: Likewise.
38054         * modules/search: Likewise.
38055         * modules/select: Likewise.
38056         * modules/selinux-h: Likewise.
38057         * modules/settime: Likewise.
38058         * modules/signal: Likewise.
38059         * modules/size_max: Likewise.
38060         * modules/socklen: Likewise.
38061         * modules/ssize_t: Likewise.
38062         * modules/stdarg: Likewise.
38063         * modules/stdbool: Likewise.
38064         * modules/stddef: Likewise.
38065         * modules/stdint: Likewise.
38066         * modules/stdio: Likewise.
38067         * modules/stdlib: Likewise.
38068         * modules/string: Likewise.
38069         * modules/strings: Likewise.
38070         * modules/sys_file: Likewise.
38071         * modules/sys_ioctl: Likewise.
38072         * modules/sys_select: Likewise.
38073         * modules/sys_socket: Likewise.
38074         * modules/sys_stat: Likewise.
38075         * modules/sys_time: Likewise.
38076         * modules/sys_times: Likewise.
38077         * modules/sys_utsname: Likewise.
38078         * modules/sys_wait: Likewise.
38079         * modules/sysexits: Likewise.
38080         * modules/time: Likewise.
38081         * modules/times: Likewise.
38082         * modules/tmpfile: Likewise.
38083         * modules/trim: Likewise.
38084         * modules/unistd: Likewise.
38085         * modules/wchar: Likewise.
38086         * modules/wctype: Likewise.
38087
38088 2009-09-17  Bruno Haible  <bruno@clisp.org>
38089
38090         Make getdate.y compile on QNX and NetBSD 5 / i386.
38091         * m4/getdate.m4 (gl_GETDATE): Conditionally define
38092         TIME_T_FITS_IN_LONG_INT.
38093         * lib/getdate.y (long_time_t): New type.
38094         (relative_time): Change type of 'seconds' field to long_time_t.
38095         (get_date): Update types of local variables. Check against overflow
38096         during conversion from long_time_t to time_t.
38097         Reported by Matt Kraai <kraai@ftbfs.org>
38098         and Hasso Tepper <hasso@netbsd.org>.
38099
38100 2009-09-17  Bruno Haible  <bruno@clisp.org>
38101
38102         * modules/COPYING: Update copyright years.
38103         * modules/README: Likeiwse.
38104         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
38105         Reported by Ian Beckwith <ianb@erislabs.net>.
38106
38107 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38108
38109         * users.txt: Update references for gnuit package.
38110
38111 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38112
38113         * m4/getdelim.m4: Fix typo in copyright line.
38114
38115 2009-09-17  Bruno Haible  <bruno@clisp.org>
38116
38117         * lib/atoll.c: Use the standard header with GPL copyright.
38118         * lib/argz.in.h: Likewise.
38119         * lib/glob.c: Likewise.
38120         * lib/glob-libc.h: Likewise.
38121         * lib/random_r.c: Likewise.
38122         * lib/siglist.h: Likewise.
38123         * lib/strsignal.c: Likewise.
38124         Reported by Ian Beckwith <ianb@erislabs.net>.
38125
38126 2009-09-17  Eric Blake  <ebb9@byu.net>
38127
38128         rmdir: ensure correct dependency order
38129         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
38130
38131 2009-09-17  Bruno Haible  <bruno@clisp.org>
38132
38133         Disable assertion that fails on NetBSD 5 / i386.
38134         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
38135         Reported by Sam Steingold <sds@gnu.org>
38136         and Hasso Tepper <hasso@netbsd.org>.
38137
38138 2009-09-16  Eric Blake  <ebb9@byu.net>
38139
38140         unlinkdir: port to mingw
38141         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
38142         on which no one can unlink a directory.
38143
38144         stdlib: sort witness names
38145         * modules/stdlib (Makefile.am): Sort replacements.
38146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
38147         * lib/stdlib.in.h: Likewise.
38148
38149         parse-duration-tests: avoid link failure
38150         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
38151         LIBINTL.
38152         Reported by Tom G. Christensen.
38153
38154         openat-tests: ensure unlinkat behaves like rmdir
38155         * tests/test-rmdir.c (main): Factor guts...
38156         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
38157         * modules/rmdir-tests (Files): Ship new file.
38158         * modules/openat-tests: New test.
38159         * tests/test-unlinkat.c: Likewise.
38160
38161         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
38162         * modules/rmdir-errno (Status, Notice): Now obsolete.
38163
38164         rmdir: work around cygwin 1.5.x and mingw bugs
38165         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
38166         * lib/rmdir.c (rmdir): Work around it.
38167         * modules/rmdir (Status, Notice): No longer obsolete.
38168         (Files): Add dos.m4.
38169         (Depends-on): Add unistd.
38170         (configure.ac): Set witnesses.
38171         (License): Relax to LGPLv2+.
38172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
38173         * modules/unistd (Makefile.am): Substitute witnesses.
38174         * lib/unistd.in.h (rmdir): Declare replacement.
38175         * doc/posix-functions/rmdir.texi (rmdir): Document this.
38176         * modules/rmdir-tests: New tests.
38177         * tests/test-rmdir.c: Likewise.
38178
38179 2009-09-15  Eric Blake  <ebb9@byu.net>
38180
38181         fchdir: improve use of replacement functions
38182         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
38183         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
38184         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
38185         REPLACE_CLOSEDIR.
38186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
38187         * modules/sys_stat (Makefile.am): Substitute correct witness.
38188         * modules/dirent (Makefile.am): Likewise.
38189         * modules/unistd (Makefile.am): Likewise.
38190         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
38191         * lib/unistd.in.h (dup): Likewise.
38192         * lib/sys_stat.in.h (fstat): Likewise.
38193
38194         maint: ignore gnulib-tool temp files
38195         * .gitignore: Ignore files created during gnulib-tool --test.
38196
38197 2009-09-13  Jim Meyering  <meyering@redhat.com>
38198
38199         posixtm: don't reject a time that specify "60" as the number of seconds
38200         * lib/posixtm.c (posixtime): The code to reject invalid dates
38201         would also reject a time specified with the .60 suffix.
38202         But POSIX allows that, in order to accommodate leap seconds.
38203         So don't reject it.
38204         (main): Adjust tests accordingly.
38205         * modules/posixtm (Depends-on): Add stpcpy.
38206
38207 2009-09-11  Jim Meyering  <meyering@redhat.com>
38208
38209         announce-gen: include [$release_type] in emitted Subject:
38210         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
38211         e.g., [stable] in the emitted Subject: line.
38212
38213 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38214
38215         Remove obsolete macros from several modules.
38216         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
38217         obsolete Autoconf macros with their modern counterparts.
38218         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
38219         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
38220         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
38221         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
38222         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
38223         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38224         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38225         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
38226         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
38227         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
38228         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
38229         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
38230         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
38231         * m4/sockets.m4 (gl_SOCKETS): Likewise.
38232         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
38233         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
38234         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
38235         * m4/time_r.m4 (gl_TIME_R): Likewise.
38236         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
38237         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
38238         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38239
38240         Fix copyright header in build-aux scripts.
38241         * build-aux/git-version-gen: Fix copyright header to match GPLv3
38242         recommendation.
38243         * build-aux/ncftpput-ftp: Likewise.
38244         * build-aux/update-copyright: Likewise.
38245
38246 2009-09-09  Eric Blake  <ebb9@byu.net>
38247
38248         test-link: allow Linux choice of errno
38249         * tests/test-link.c (main): Relax test for alternate error.
38250
38251         strndup: fix improper m4 caching
38252         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
38253         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
38254         (gl_PREREQ_STRNDUP): Delete.
38255         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
38256         * modules/string (Makefile.am): Substitute it.
38257         * lib/string.in.h (strndup): Modernize prototype.
38258
38259         getcwd: port to mingw
38260         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
38261         different from the POSIX assumptions made throughout the getcwd
38262         module; fortunately, the mingw getcwd does not need replacement.
38263         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
38264         * modules/getcwd-tests: New test.
38265         * tests/test-getcwd.c: Likewise.
38266
38267         link: fix platform bugs
38268         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
38269         * lib/link.c (link): Work around them.  Fix related mingw bug.
38270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
38271         * modules/unistd (Makefile.am): Substitute it.
38272         * lib/unistd.in.h (link): Declare replacement.
38273         * doc/posix-functions/link.texi (link): Document this.
38274         * modules/link (Depends-on): Add strdup-posix, sys_stat.
38275
38276         test-link: consolidate into single C program, test more cases
38277         * tests/test-link.sh: Delete.
38278         * tests/test-link.c: Test more error conditions.  Exposes bugs on
38279         at least Cygwin and Solaris.
38280         * modules/link-tests (Files): Remove unused file.
38281         (Depends-on): Add errno, sys_stat.
38282         (Makefile.am): Simplify.
38283
38284 2009-09-08  Bruno Haible  <bruno@clisp.org>
38285
38286         Work around towlower, towupper bug on mingw.
38287         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
38288         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
38289         * doc/posix-functions/towlower.texi: Mention the mingw bug.
38290         * doc/posix-functions/towupper.texi: Likewise.
38291         Reported by Eric Blake.
38292
38293 2009-09-08  Jim Meyering  <meyering@redhat.com>
38294
38295         build: don't try to run autoheader if we don't use it
38296         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
38297         is not used in configure.ac.
38298
38299 2009-09-08  Eric Blake  <ebb9@byu.net>
38300
38301         euidaccess: fix compilation error
38302         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
38303
38304         rawmemchr: relax license
38305         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
38306         okay.
38307         Reported by Jim Meyering.
38308
38309         mkfifoat: new module
38310         * modules/mkfifoat: New file.
38311         * lib/mkfifoat.c: Likewise.
38312         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
38313         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38314         * modules/sys_stat (Makefile.am): Use them.
38315         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
38316         * MODULES.html.sh (File system functions): Mention module.
38317         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38318         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38319         * modules/mkfifoat-tests: New test.
38320         * tests/test-mkfifoat.c: Likewise.
38321
38322         strchrnul: relax license
38323         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
38324         okay.
38325         Reported by Jim Meyering.
38326
38327 2009-09-08  Eric Blake  <ebb9@byu.net>
38328
38329         fstatat: fix compilation on Solaris
38330         * lib/fstatat.c (includes): Add fcntl.h.
38331         Reported by Pádraig Brady.
38332
38333 2009-09-07  Eric Blake  <ebb9@byu.net>
38334
38335         rename: modernize replacement
38336         * modules/rename (Depends-on): Add stdio.
38337         (configure.ac): Declare witness.
38338         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
38339         stdio take care of replacement.
38340         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38341         * modules/stdio (Makefile.am): Substitute them.
38342         * lib/stdio.in.h (rename): Declare replacement.
38343         * lib/rename.c (includes): Allow cross-compilation to non-windows
38344         machines.
38345         * doc/posix-functions/rename.texi (rename): Improve
38346         documentation.
38347
38348         stdio: sort witness names
38349         * modules/stdio (Makefile.am): Sort replacements.
38350         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38351         * lib/stdio.in.h: Likewise.
38352
38353         getcwd: minor cleanups
38354         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
38355         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
38356
38357         openat: provide more convenience names
38358         * modules/faccessat (configure.ac): Add C witness.
38359         * lib/unistd.in.h (readlinkat): Fix typo.
38360         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
38361         convenience wrappers.
38362         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
38363         wrappers in syntax checks.
38364
38365 2009-09-06  Eric Blake  <ebb9@byu.net>
38366
38367         doc: fix comments in recent patches
38368         * lib/faccessat.c: Mention correct function.
38369         * lib/fchmodat.c: Likewise.
38370         * lib/fchownat.c: Likewise.
38371         * lib/symlinkat.c: Likewise.
38372         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
38373         constants.
38374
38375         faccessat, symlinkat: continue cleanup of previous patch
38376         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
38377         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38378         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
38379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
38380         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
38381         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
38382         set.
38383
38384 2009-09-06  Bruno Haible  <bruno@clisp.org>
38385
38386         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
38387         (fstatat): Declare if GNULIB_FSTATAT is set.
38388         (mkdirat): Declare if GNULIB_MKDIRAT is set.
38389         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
38390         (unlinkat): Declare if GNULIB_UNLINKAT is set.
38391         * modules/fcntl-h (Files): Remove m4/openat.m4.
38392         * modules/sys_stat (Files): Remove m4/openat.m4.
38393         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
38394         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
38395         * modules/unistd (Files): Remove m4/openat.m4.
38396         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
38397         GNULIB_OPENAT.
38398         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
38399         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
38400         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
38401         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
38402         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
38403         gl_OPENAT_DEFAULTS.
38404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
38405         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
38406         Don't require gl_OPENAT_DEFAULTS.
38407         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
38408         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
38409         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
38410         (gl_OPENAT_DEFAULTS): Remove macro.
38411
38412 2009-09-06  Bruno Haible  <bruno@clisp.org>
38413
38414         * modules/openat (configure.ac): Remove unneeded witness.
38415
38416 2009-09-06  Bruno Haible  <bruno@clisp.org>
38417
38418         Set errno to ENOSYS when a function is entirely unsupported.
38419         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
38420         EOPNOTSUPP.
38421         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38422         * modules/chown (Depends-on): Remove errno.
38423
38424 2009-09-06  Bruno Haible  <bruno@clisp.org>
38425
38426         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
38427
38428 2009-09-06  Bruno Haible  <bruno@clisp.org>
38429
38430         * lib/sys_stat.in.h: Fix preprocessor command indentation.
38431
38432 2009-09-06  Ben Pfaff  <blp@gnu.org>
38433             Bruno Haible  <bruno@clisp.org>
38434
38435         Work around a glibc bug in strtok_r.
38436         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
38437         Undefine if UNDEFINE_STRTOK_R is set.
38438         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
38439         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38440         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
38441         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
38442         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
38443         UNDEFINE_STRTOK_R.
38444         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
38445
38446 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
38447
38448         exclude: minor fix
38449         * lib/exclude.c: Include wctype.h
38450
38451 2009-09-06  Akim Demaille  <demaille@gostai.com>
38452
38453         bootstrap: improve error message
38454         * build-aux/bootstrap (find_tool): Upon failure, report the list
38455         of candidates.
38456         Honor the initial value of the envvar.
38457
38458 2009-09-05  Eric Blake  <ebb9@byu.net>
38459
38460         symlinkat: new module
38461         * modules/symlinkat: New file.
38462         * lib/symlinkat.c: Likewise.
38463         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
38464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38465         * modules/unistd (Makefile.am): Use them.
38466         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
38467         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
38468         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
38469         * MODULES.html.sh (File system functions): Mention module.
38470         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38471         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38472         * modules/symlinkat-tests: New test.
38473         * tests/test-symlinkat.c: Likewise.
38474
38475         test-openat-safer: add more checks
38476         * tests/test-openat-safer.c (main): Check more code paths.
38477
38478 2009-09-05  Jim Meyering  <meyering@redhat.com>
38479
38480         syntax-check: detect unnecessary inclusion of openat.h
38481         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
38482
38483 2009-09-05  Bruno Haible  <bruno@clisp.org>
38484
38485         Support towlower, towupper.
38486         * doc/posix-functions/towlower.texi: Mention module wctype.
38487         * doc/posix-functions/towupper.texi: Likewise.
38488         * lib/wctype.in.h (towlower, towupper): New functions.
38489         * tests/test-wctype.c: Include stdio.h, stdlib.h.
38490         (ASSERT): New macro.
38491         (e): New variable.
38492         (main): Test also towlower, towupper. Test WEOF argument.
38493         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38494
38495 2009-09-05  Bruno Haible  <bruno@clisp.org>
38496
38497         Fix conversion behaviour when the input is invalid.
38498         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
38499         mark occurring in first pass of indirect conversion.
38500         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
38501         input.
38502         Found by clang's static analyzer.
38503
38504 2009-09-05  Bruno Haible  <bruno@clisp.org>
38505
38506         * tests/test-striconveh.c (main): Test indirect conversion on platforms
38507         where direct conversion is possible.
38508
38509 2009-09-04  Eric Blake  <ebb9@byu.net>
38510
38511         openat: fail with ENOENT on empty name
38512         * lib/openat-proc.c (openat_proc_name): Special-case the empty
38513         buffer.
38514
38515         link-follow: fix logic bug in prior patch
38516         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
38517         reversed sense of yes and no in prior patch.  Avoid confusing
38518         compilation failure with desired semantics.
38519
38520         link-follow: accomodate mingw and cross-compilation
38521         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
38522         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
38523         cross-compilation results to -1, to make linkat easier to
38524         implement when cross-compiling.  Trivially support mingw.
38525         * modules/link-follow (configure.ac): Call new name.
38526         * NEWS: Mention this.
38527
38528 2009-09-03  Eric Blake  <ebb9@byu.net>
38529
38530         faccessat: compile replacement
38531         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
38532         needed.
38533
38534         fts: fix compilation error
38535         * lib/fts.c (includes): Re-add "openat.h", for
38536         openat_needs_fchdir.
38537
38538         faccessat: new module
38539         * modules/faccessat: New file.
38540         * lib/faccessat.c: Likewise.
38541         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38543         * modules/unistd (Makefile.am): Use it.
38544         * lib/unistd.in.h (faccessat): Declare it.
38545         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
38546         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
38547         * MODULES.html.sh (File system functions): Mention it.
38548         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
38549         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38550
38551         euidaccess: prefer POSIX over non-standard implementation
38552         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
38553         * lib/euidaccess.c (euidaccess): Use it if available.
38554
38555         openat: make template easier to use
38556         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
38557         AT_FUNC_F2 to be undefined.
38558         (VALIDATE_FLAG): New macro; use it to reject bad flags.
38559         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
38560         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
38561         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
38562         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
38563         Likewise.
38564         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
38565         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
38566         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
38567         Likewise.
38568
38569         openat: declare in POSIX headers
38570         * NEWS: Mention this.
38571         * modules/openat (configure.ac): Declare witnesses.
38572         (Depends-on): Add fcntl-h, sys_stat, unistd.
38573         (Include): Mention correct headers.
38574         * modules/fcntl-h (Depends-on): Add link-warning.
38575         (Files): Add openat.m4.
38576         (Makefile.am): Substitute witnesses.
38577         * modules/sys_stat (Files, Makefile.am): Likewise.
38578         * modules/unistd (Files, Makefile.am): Likewise.
38579         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
38580         (gl_OPENAT_DEFAULTS): New macro.
38581         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
38582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
38583         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
38584         (SYS_STAT_H): Remove unused variable.
38585         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
38586         * lib/fcntl--.h (includes): Remove unneeded header.
38587         * lib/openat-safer.c (includes): Likewise.
38588         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
38589         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
38590         appropriate headers.
38591         (__OPENAT_PREFIX): Delete.
38592         * lib/fcntl.in.h (openat): Provide declaration.
38593         (AT_FDCWD): Fix Solaris bug.
38594         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
38595         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
38596         * lib/fchmodat.c (includes):  Adjust to find declaration.
38597         * lib/fchownat.c (includes): Likewise.
38598         * lib/mkdirat.c (includes): Likewise.
38599         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
38600         still visible.
38601
38602 2009-09-02  Eric Blake  <ebb9@byu.net>
38603
38604         errno: use consistently
38605         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
38606         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
38607         * lib/canonicalize.c (ELOOP): Likewise.
38608         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
38609         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
38610         * lib/lchown.c (EOPNOTSUPP): Likewise.
38611         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
38612         * lib/savewd.c (ESTALE): Likewise.
38613         * lib/settime.c (ENOSYS): Likewise.
38614         * lib/utimens.c (ENOSYS): Likewise.
38615         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
38616         * lib/chdir-safer.c (ELOOP): Likewise.
38617         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
38618         * modules/c-stack (Depends-on): Add errno.
38619         * modules/canonicalize (Depends-on): Likewise.
38620         * modules/chdir-safer (Depends-on): Likewise.
38621         * modules/fdopendir (Depends-on): Likewise.
38622         * modules/inet_ntop (Depends-on): Likewise.
38623         * modules/inet_pton (Depends-on): Likewise.
38624         * modules/lchown (Depends-on): Likewise.
38625         * modules/openat (Depends-on): Likewise.
38626         * modules/savewd (Depends-on): Likewise.
38627         * modules/settime (Depends-on): Likewise.
38628         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
38629
38630         fts: avoid leaking fds
38631         * modules/fts (Depends-on): Add cloexec.
38632         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
38633         flag.
38634
38635         fts: make directory fds more robust
38636         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
38637         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
38638
38639         backupfile, chdir-long, fts, savedir: make safer
38640         * lib/backupfile.c (includes): Use "dirent--.h", since
38641         numbered_backup can write to stderr during readdir.
38642         * lib/savedir.c (includes): Likewise.
38643         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
38644         emulation can write to stderr on failure.
38645         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
38646         * lib/getcwd.c: Document why opendir_safer is unused.
38647         * lib/glob.c: Likewise.
38648         * lib/scandir.c: Likewise.
38649         * lib/openat-proc.c: Likewise, for open_safer.
38650         * modules/backupfile (Depends-on): Add dirent-safer.
38651         * modules/savedir (Depends-on): Likewise.
38652         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
38653         * modules/chdir-long (Depends-on): Add openat-safer.
38654
38655         openat-safer: new module
38656         * modules/openat-safer: New file.
38657         * lib/openat-safer.c: Likewise.
38658         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
38659         * lib/fcntl-safer.h (openat_safer): Declare.
38660         * lib/fcntl--.h (openat): Override.
38661         * MODULES.html.sh (File descriptor based I/O): Mention it.
38662         * lib/openat.h: Add double-inclusion guards.
38663         * lib/openat.c (includes): Only include "fcntl-safer.h", not
38664         "fcntl--.h", so we can implement openat.
38665         * modules/openat-safer-tests: New test.
38666         * tests/test-openat-safer.c: New file.
38667
38668         dirent-safer: new module
38669         * modules/dirent-safer: New file.
38670         * lib/dirent--.h: Likewise.
38671         * lib/dirent-safer.h: Likewise.
38672         * lib/opendir-safer.c: Likewise.
38673         * m4/dirent-safer.m4: Likewise.
38674         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
38675         * modules/dirent-safer-tests: New test.
38676         * tests/test-dirent-safer.c: New file.
38677         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
38678
38679         fdopendir: optimize on mingw
38680         * lib/unistd.in.h (_gl_directory_name): New prototype.
38681         * lib/fchdir.c (_gl_directory_name): Implement it.
38682         (fchdir): Use it to simplify implementation.
38683         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
38684         fchdir, when available, to avoid calling [f]chdir().
38685
38686         fdopendir: split into its own module
38687         * lib/openat.c (fdopendir): Move...
38688         * lib/fdopendir.c: ...into new file.
38689         * modules/fdopendir: New module.
38690         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
38691         * modules/openat (Depends-on): Add fdopendir.
38692         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
38693         fdopendir here.
38694         * modules/savedir (Depends-on): Only need fdopendir, not full
38695         openat.
38696         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
38697         * lib/openat.h (fdopendir): Drop prototype.
38698         * lib/dirent.in.h (fdopendir): Provide prototype.
38699         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
38700         * modules/dirent (Makefile.am): Substitute them.
38701         * MODULES.html.sh (File system functions): Mention it.
38702         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
38703         * modules/fdopendir-tests: New file.
38704         * tests/test-fdopendir.c: Likewise.
38705
38706         fchdir: use more consistent macro convention
38707         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
38708         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
38709         REPLACE_FCHDIR, rather than relying on config.h macros.
38710         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
38711         inside a single make-time REPLACE_FCHDIR block, rather than using
38712         the config.h FCHDIR_REPLACEMENT.
38713         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
38714         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
38715         Manage fstat replacement.
38716         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
38717         REPLACE_FCHDIR.
38718         * modules/sys_stat (Files): Add m4/unistd_h.m4.
38719         (Makefile.am): Substitute REPLACE_FCHDIR.
38720         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
38721         FCHDIR_REPLACEMENT.
38722         * lib/dup-safer.c (dup_safer): Likewise.
38723         * lib/dup2.c (rpl_dup2): Likewise.
38724         * lib/dup3.c (rpl_dup3): Likewise.
38725         * lib/open.c (rpl_open): Likewise.
38726
38727         fchdir: simplify error handling, and support dup3
38728         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
38729         stdbool, malloc-posix, realloc-posix.
38730         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
38731         (ensure_dirs_slot): Return false on allocation failure.
38732         (rpl_dup2): Delete.
38733         (_gl_register_dup): New function.
38734         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
38735         (_gl_register_fd): Close fd on allocation failure.
38736         * lib/fcntl.in.h (_gl_register_fd): Update signature.
38737         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
38738         prototype.
38739         (rpl_dup2_fchdir): Delete prototype.
38740         * lib/open.c (open): Update caller.
38741         * lib/dup2.c (dup2): Track fchdir metadata.
38742         * lib/dup3.c (dup3): Likewise.
38743         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
38744         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
38745
38746 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38747
38748         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
38749         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
38750         don't pass arguments to AC_OUTPUT.
38751
38752 2009-09-02  Bruno Haible  <bruno@clisp.org>
38753
38754         * modules/mkdtemp (License): Relicense under LGPLv2+.
38755         Reported by Paolo Bonzini.
38756
38757 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38758
38759         Replace uses of obsolete autoconf macros in Jim's modules.
38760         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
38761         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
38762         can evoke a warning from autoconf when run with -Wobsolete
38763         enabled.  They were declared obsolete for good reasons (see
38764         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
38765         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
38766         should not continue using the deprecated macros.
38767         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
38768         obsolete Autoconf macros with modern counterparts.
38769         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38770         * m4/dos.m4 (gl_AC_DOS): Likewise.
38771         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
38772         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
38773         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
38774         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
38775         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
38776         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
38777         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
38778         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
38779         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38780         Likewise.
38781         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
38782         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38783         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
38784         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
38785         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38786         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38787
38788 2009-09-01  Eric Blake  <ebb9@byu.net>
38789
38790         fchdir: fix off-by-one bug in previous patch
38791         * lib/fchdir.c (rpl_fstat): Use correct bounds.
38792         (_gl_unregister_fd): Delete useless if.
38793
38794 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
38795
38796         maint.mk: sort the list of syntax-check rules
38797         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
38798         easier to get a sense of progress when the rules are run sequentially
38799         and take a long time.
38800
38801 2009-09-01  Simon Josefsson  <simon@josefsson.org>
38802
38803         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
38804         * modules/netinet_in: Likewise.
38805         * modules/sys_file: Likewise.
38806         * modules/sys_ioctl: Likewise.
38807         * modules/sys_select: Likewise.
38808         * modules/sys_socket: Likewise.
38809         * modules/sys_stat: Likewise.
38810         * modules/sys_time: Likewise.
38811         * modules/sys_times: Likewise.
38812         * modules/sys_utsname: Likewise.
38813         * modules/sys_wait: Likewise.
38814
38815 2009-09-01  Jim Meyering  <meyering@redhat.com>
38816
38817         fts: help ensure that return values are not ignored
38818         * lib/fts_.h (__GNUC_PREREQ): Define.
38819         (__attribute_warn_unused_result__): Define.
38820         (fts_children, fts_close, fts_open, fts_read): Declare with
38821         __attribute_warn_unused_result__.
38822
38823         fts: fts_close now fails also when closing a dir file descriptor fails
38824         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
38825         and propagate to caller, along with errno.
38826
38827         announce-gen: correct formatting in --help output
38828         * build-aux/announce-gen (usage): Move the one-line description in
38829         --help output "up", to where it belongs, just after Usage:.
38830
38831 2009-08-31  Eric Blake  <ebb9@byu.net>
38832
38833         fchdir: port to mingw
38834         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
38835         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
38836         opened, then use a substitute.
38837         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
38838         replacement.
38839         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
38840         (_gl_register_fd): No need to check stat if open already filters
38841         all directories.
38842         (fchdir): Fix error condition to match POSIX.
38843         * modules/fchdir (Depends-on): Add sys_stat.
38844         * doc/posix-functions/open.texi (open): Document the limitation.
38845         * modules/fchdir-tests: New file.
38846         * tests/test-fchdir.c: Likewise.
38847
38848         canonicalize: allow cross-testing from cygwin to mingw
38849         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
38850         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
38851         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
38852         Likewise.
38853         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
38854         target does not support symlinks.
38855         * tests/test-canonicalize-lgpl.sh: Likewise.
38856
38857         chown: avoid compilation warning on mingw
38858         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
38859         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
38860         mingw.
38861         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38862         * modules/chown (Depends-on): Add errno.
38863
38864 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38865
38866         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
38867         command.
38868
38869 2009-08-31  Jim Meyering  <meyering@redhat.com>
38870
38871         canonicalize: remove useless initialization
38872         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
38873         initialization of local, "end".
38874
38875 2009-08-30  Bruno Haible  <bruno@clisp.org>
38876
38877         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
38878         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
38879         ENOSYS.
38880
38881 2009-08-30  Bruno Haible  <bruno@clisp.org>
38882
38883         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
38884         /usr/xpg4/bin/tr when it exists.
38885         * tests/test-pipe-filter-gi1.sh: Likewise.
38886
38887 2009-08-30  Bruno Haible  <bruno@clisp.org>
38888
38889         Work around deficient /usr/bin/id program on Solaris.
38890         * tests/test-file-has-acl.sh (ID): New variable.
38891         * tests/test-set-mode-acl.sh (ID): Likewise.
38892         * tests/test-copy-acl.sh (ID): Likewise.
38893         * tests/test-copy-file.sh (ID): Likewise.
38894
38895 2009-08-30  Bruno Haible  <bruno@clisp.org>
38896
38897         New module 'xstriconveh'.
38898         * lib/xstriconveh.h: New file.
38899         * lib/xstriconveh.c: New file.
38900         * modules/xstriconveh: New file.
38901
38902 2009-08-30  Bruno Haible  <bruno@clisp.org>
38903
38904         Make it easier to use mem_cd_iconveh.
38905         * lib/striconveh.h (iconveh_t): New type.
38906         (iconveh_open, iconveh_close): New declarations.
38907         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38908         with a single 'const iconveh_t *' argument.
38909         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
38910         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38911         with a single 'const iconveh_t *' argument.
38912         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
38913         * tests/test-striconveh.c (main): Update.
38914         * NEWS: Mention the change.
38915
38916 2009-08-30  Bruno Haible  <bruno@clisp.org>
38917
38918         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
38919         problem.
38920
38921 2009-08-30  Bruno Haible  <bruno@clisp.org>
38922
38923         Work around iconv_open problem on Solaris.
38924         * lib/iconv_open-solaris.gperf: New file.
38925         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
38926         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
38927         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
38928         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
38929         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
38930         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
38931
38932 2009-08-29  Jim Meyering  <meyering@redhat.com>
38933
38934         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
38935         * top/maint.mk (cvs-check): Remove target; it was just an alias
38936         to the better-named vc-diff-check.
38937         (maintainer-distcheck): Remove rule.  It was used only from
38938         the (alpha/beta/major) target, and all of its commands but one
38939         were coreutils-specific.
38940         (vc-dist): Remove rule.
38941         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
38942         Run vc-diff-check, not vc-dist.
38943         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
38944
38945 2009-08-27  Bruno Haible  <bruno@clisp.org>
38946
38947         * tests/test-bitrotate.c (main): Remove test that uses a shift count
38948         of 0.
38949
38950 2009-08-27  Bruno Haible  <bruno@clisp.org>
38951
38952         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
38953         compilers.
38954         * doc/func.texi: Document the SunPRO C bug.
38955
38956 2009-08-27  Bruno Haible  <bruno@clisp.org>
38957
38958         Fix link error on Solaris.
38959         * tests/test-parse-duration.c (xstrdup): Remove function.
38960
38961 2009-08-26  Pádraig Brady  <P@draigbrady.com>
38962
38963         ignore-value: handle pointer types, too
38964         * lib/ignore-value.h (__attribute__): Remove definition.
38965         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
38966         of a more concise and more-often effective "(void) i" statement.
38967         (ignore_ptr): New function to suppress warnings from functions that
38968         return pointers, and to make it explicit that one function doesn't
38969         handle all cases.
38970
38971 2009-08-25  Bruno Haible  <bruno@clisp.org>
38972
38973         dup2: work around a Linux bug.
38974         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
38975         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
38976         * doc/posix-functions/dup2.texi: Mention the Linux bug.
38977         Reported by Simon Josefsson.
38978
38979 2009-08-25  Jim Meyering  <meyering@redhat.com>
38980
38981         libguestfs uses gnulib
38982         * users.txt: Add libguestfs.
38983
38984 2009-08-24  Eric Blake  <ebb9@byu.net>
38985
38986         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
38987         * lib/pipe2.c (includes): Add binary-io.h.
38988         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
38989
38990 2009-08-24  Bruno Haible  <bruno@clisp.org>
38991
38992         Tolerate declared but missing accept4 syscall.
38993         * lib/accept4.c (accept4): Invoke original accept4 function first, if
38994         available.
38995         * lib/sys_socket.in.h (accept4): If the function is already present,
38996         override it.
38997         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
38998         * modules/accept4 (Makefile.am): Compile accept4.c always.
38999         Reported by Paolo Bonzini and Eric Blake.
39000
39001 2009-08-23  Bruno Haible  <bruno@clisp.org>
39002
39003         New module 'accept4'.
39004         * lib/sys_socket.in.h (accept4): New declaration.
39005         * lib/accept4.c: New file.
39006         * m4/accept4.m4: New file.
39007         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39008         GNULIB_ACCEPT4, HAVE_ACCEPT4.
39009         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
39010         HAVE_ACCEPT4.
39011         * modules/accept4: New file.
39012         * doc/glibc-functions/accept4.texi: Mention the new module.
39013
39014 2009-08-24  Jim Meyering  <meyering@redhat.com>
39015
39016         progname: also set global program_invocation_name, when possible
39017         Before this change, a libtool-enabled program that calls glibc's
39018         error function would report the program name as
39019         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
39020         * modules/progname (configure.ac): Check for a declaration of
39021         program_invocation_name.
39022         * lib/progname.c:  Include <errno.h>.
39023         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
39024         Set program_invocation_name.
39025
39026 2009-08-23  Bruno Haible  <bruno@clisp.org>
39027
39028         * lib/dup3.c: Include <string.h>.
39029
39030 2009-08-23  Bruno Haible  <bruno@clisp.org>
39031
39032         * lib/dup3.c (dup3): Test only once whether the system actually exists.
39033         * lib/pipe2.c (pipe2): Likewise.
39034         Suggested by Eric Blake.
39035
39036 2009-08-23  Bruno Haible  <bruno@clisp.org>
39037
39038         Tolerate declared but missing dup3 syscall.
39039         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
39040         * lib/unistd.in.h (dup3): If the function is already present,
39041         override it.
39042         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
39043         * modules/dup3 (Makefile.am): Compile dup3.c always.
39044         Reported by Paolo Bonzini.
39045
39046 2009-08-23  Bruno Haible  <bruno@clisp.org>
39047
39048         Tolerate declared but missing pipe2 syscall.
39049         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
39050         available.
39051         * lib/unistd.in.h (pipe2): If the function is already present,
39052         override it.
39053         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
39054         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
39055         Reported by Paolo Bonzini.
39056
39057 2009-08-23  Bruno Haible  <bruno@clisp.org>
39058
39059         * lib/pipe2.c (pipe2): Move #ifs inside function.
39060
39061 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39062
39063         quotearg: document limitations of quote_these_too
39064         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
39065         those limitations are created.
39066         * lib/quotearg.h (set_char_quoting): Document that digits and
39067         letters that are special after backslash are not permitted.
39068         (quotearg_char): Cross-reference set_char_quoting documentation.
39069
39070 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
39071
39072         quotearg: implement custom_quoting_style
39073         * lib/quotearg.c: (struct quoting_options): Add left_quote and
39074         right_quote fields.
39075         (set_custom_quoting): New public function.
39076         (quotearg_buffer_restyled): Add left_quote and right_quote
39077         arguments, handle them very much like locale quoting, and update
39078         all uses.
39079         (quotearg_n_custom): New public function.
39080         (quotearg_n_custom_mem): New public function.
39081         (quotearg_custom): New public function.
39082         (quotearg_custom_mem): New public function.
39083         * lib/quotearg.h: Prototype and document new public functions.
39084         (enum quoting_style): For escape_quoting_style and
39085         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
39086         ignored even though they're otherwise like c_quoting_style.
39087         Add custom_quoting_style member and document with comparison to
39088         clocale_quoting_style.
39089         * tests/test-quotearg.c (custom_quotes): New array.
39090         (custom_results): New array.
39091         (main): Extend to test custom quoting.
39092
39093 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39094
39095         quotearg: fix right quote escaping when it's in quote_these_too
39096         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
39097         quote, be sure to prepend only one backslash.
39098         * tests/test-quotearg.c (use_quote_double_quotes): New function.
39099         (main): Test it.
39100
39101 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39102
39103         quotearg-tests: test escaping of embedded locale quotes
39104         * tests/test-quotearg.c (struct result_strings): Add member for
39105         new input.
39106         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
39107         (inputs): Add new input.
39108         (results_g): Add expected results.
39109         (flag_results): Likewise.
39110         (locale_results): Likewise.
39111         (compare_strings): Check those.
39112
39113 2009-08-23  Bruno Haible  <bruno@clisp.org>
39114
39115         Tests for module 'dup3'.
39116         * modules/dup3-tests: New file.
39117         * tests/test-dup3.c: New file.
39118
39119         New module 'dup3'.
39120         * lib/unistd.in.h (dup3): New declaration.
39121         * lib/dup3.c: New file.
39122         * m4/dup3.m4: New file.
39123         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
39124         HAVE_DUP3.
39125         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
39126         * modules/dup3: New file.
39127         * doc/glibc-functions/dup3.texi: Mention the new module.
39128
39129 2009-08-23  Bruno Haible  <bruno@clisp.org>
39130
39131         Tweak the dup2 test.
39132         * tests/test-dup2.c (main): Create the test file empty. Verify that an
39133         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
39134         the test file is still empty. Fix argument order of lseek.
39135
39136 2009-08-23  Bruno Haible  <bruno@clisp.org>
39137
39138         Avoid test link errors when the modules getopt-gnu, gettext are used.
39139         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
39140         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39141
39142 2009-08-23  Bruno Haible  <bruno@clisp.org>
39143
39144         Fix getdtablesize() on mingw.
39145         * lib/getdtablesize.c (getdtablesize): Implement differently.
39146         * lib/unistd.in.h (getdtablesize): Improve comment.
39147
39148 2009-08-23  Bruno Haible  <bruno@clisp.org>
39149
39150         New module 'mkostemp'.
39151         Based on Ulrich Drepper's 2007-08-10 change in glibc.
39152         * lib/stdlib.in.h (mksotemp): New declaration.
39153         * lib/mkostemp.c: New file, from glibc with modifications.
39154         * lib/tempname.h (GT_FILE): Remove outdated comment.
39155         (gen_tempname): Add flags argument.
39156         * lib/tempname.c (__GT_BIGFILE): Remove macro.
39157         (__GT_FILE): Map to 1.
39158         (small_open, large_open): Remove macros.
39159         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
39160         * lib/mkstemp.c (mkstemp): Update.
39161         * lib/mkdtemp.c (mkdtemp): Likewise.
39162         * m4/mkostemp.m4: New file.
39163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
39164         HAVE_MKOSTEMP.
39165         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
39166         HAVE_MKOSTEMP.
39167         * modules/mkostemp: New file, based on modules/mkstemp.
39168         * doc/glibc-functions/mkostemp.texi: Mention the new module.
39169         * NEWS: Mention the change.
39170
39171 2009-08-23  Bruno Haible  <bruno@clisp.org>
39172
39173         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
39174         Reported by Eric Blake.
39175
39176 2009-08-23  Bruno Haible  <bruno@clisp.org>
39177
39178         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
39179         Reported by Eric Blake.
39180
39181 2009-08-23  Bruno Haible  <bruno@clisp.org>
39182
39183         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
39184         * modules/pipe2 (Depends-on): Likewise.
39185
39186 2009-08-23  Eric Blake  <ebb9@byu.net>
39187
39188         fcntl-h: add O_TTY_INIT support
39189         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
39190         * tests/test-fcntl-h.c (o): Test it.
39191         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39192
39193         fcntl-h: rename from fcntl, in preparation for fcntl(2)
39194         * modules/fcntl: Move <fcntl.h> header replacement...
39195         * modules/fcntl-h: ...to new name, so as not to collide with
39196         like-named function.
39197         * tests/test-fcntl.c: Rename...
39198         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
39199         * modules/fcntl-tests: Rename...
39200         * modules/fcntl-h-tests: ...to this.  Update test file name.
39201         * modules/chdir-long (Depends-on): Update clients.
39202         * modules/chdir-safer (Depends-on): Likewise.
39203         * modules/fcntl-safer (Depends-on): Likewise.
39204         * modules/fts (Depends-on): Likewise.
39205         * modules/mkancesdirs (Depends-on): Likewise.
39206         * modules/mkdir-p (Depends-on): Likewise.
39207         * modules/open (Depends-on): Likewise.
39208         * modules/savewd (Depends-on): Likewise.
39209         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
39210         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39211
39212 2009-08-22  Bruno Haible  <bruno@clisp.org>
39213
39214         * modules/binary-io (License): Relicense under LGPL.
39215         * modules/pipe2 (License): Likewise.
39216
39217 2009-08-22  Bruno Haible  <bruno@clisp.org>
39218
39219         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
39220         return value.
39221         * lib/pipe-filter-gi.c (filter_init): Likewise.
39222         Reported by Eric Blake.
39223
39224 2009-08-22  Bruno Haible  <bruno@clisp.org>
39225
39226         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
39227         * modules/pipe (Depends-on): Add pipe2.
39228
39229 2009-08-22  Bruno Haible  <bruno@clisp.org>
39230
39231         Tests for module 'pipe2'.
39232         * modules/pipe2-tests: New file.
39233         * tests/test-pipe2.c: New file.
39234
39235         New module 'pipe2'.
39236         * lib/unistd.in.h (pipe2): New declaration.
39237         * lib/pipe2.c: New file.
39238         * m4/pipe2.m4: New file.
39239         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
39240         HAVE_PIPE2.
39241         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
39242         * modules/pipe2: New file.
39243         * doc/glibc-functions/pipe2.texi: Mention the new module.
39244
39245 2009-08-22  Bruno Haible  <bruno@clisp.org>
39246
39247         Reference some new glibc functions.
39248         * doc/glibc-functions/accept4.texi: New file.
39249         * doc/glibc-functions/dup3.texi: New file.
39250         * doc/glibc-functions/mkostemp.texi: New file.
39251         * doc/glibc-functions/pipe2.texi: New file.
39252         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
39253         (Glibc sys/socket.h): Refer to accept4.
39254         (Glibc unistd.h): Refer to dup3, pipe2.
39255         Reported by Eric Blake.
39256
39257 2009-08-22  Jim Meyering  <meyering@redhat.com>
39258             Bruno Haible  <bruno@clisp.org>
39259
39260         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
39261         This makes it so packages using automake-1.11's silent-rules option
39262         can print e.g., a single "GEN    configmake.h" line, rather than
39263         the 30+ statements that perform the job.  If you want to see the
39264         actual commands, you can still run "make V=1".
39265         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
39266         so that make output is abbreviated when those variables are defined
39267         appropriately.
39268         * modules/argz: Likewise.
39269         * modules/arpa_inet: Likewise.
39270         * modules/byteswap: Likewise.
39271         * modules/configmake: Likewise.
39272         * modules/dirent: Likewise.
39273         * modules/errno: Likewise.
39274         * modules/fcntl: Likewise.
39275         * modules/float: Likewise.
39276         * modules/fnmatch: Likewise.
39277         * modules/getopt-posix: Likewise.
39278         * modules/glob: Likewise.
39279         * modules/iconv_open: Likewise.
39280         * modules/inttypes: Likewise.
39281         * modules/localcharset: Likewise.
39282         * modules/locale: Likewise.
39283         * modules/math: Likewise.
39284         * modules/netdb: Likewise.
39285         * modules/netinet_in: Likewise.
39286         * modules/poll: Likewise.
39287         * modules/posix_spawnp-tests: Likewise.
39288         * modules/sched: Likewise.
39289         * modules/search: Likewise.
39290         * modules/selinux-h: Likewise.
39291         * modules/signal: Likewise.
39292         * modules/spawn: Likewise.
39293         * modules/stdarg: Likewise.
39294         * modules/stdbool: Likewise.
39295         * modules/stddef: Likewise.
39296         * modules/stdint: Likewise.
39297         * modules/stdio: Likewise.
39298         * modules/stdlib: Likewise.
39299         * modules/string: Likewise.
39300         * modules/strings: Likewise.
39301         * modules/sys_file: Likewise.
39302         * modules/sys_ioctl: Likewise.
39303         * modules/sys_select: Likewise.
39304         * modules/sys_socket: Likewise.
39305         * modules/sys_stat: Likewise.
39306         * modules/sys_time: Likewise.
39307         * modules/sys_times: Likewise.
39308         * modules/sys_utsname: Likewise.
39309         * modules/sys_wait: Likewise.
39310         * modules/sysexits: Likewise.
39311         * modules/time: Likewise.
39312         * modules/unistd: Likewise.
39313         * modules/wchar: Likewise.
39314         * modules/wctype: Likewise.
39315
39316 2009-08-22  Jim Meyering  <meyering@redhat.com>
39317
39318         announce-gen: detect write failure
39319         * build-aux/announce-gen: Add Coda at end.
39320         Remove equivalent-but-more-verbose block at top.
39321
39322 2009-08-19  Akim Demaille  <demaille@gostai.com>
39323
39324         bootstrap: --help to stdout.
39325         * bootstrap (usage): Don't send --help to stderr.
39326         Use a here doc instead of a long string.
39327
39328 2009-08-21  Eric Blake  <ebb9@byu.net>
39329
39330         test-popen-safer: split from test-popen
39331         * tests/test-popen.c (main): Move...
39332         * tests/test-popen.h: ...into new file.
39333         * tests/test-popen-safer2.c: New file.
39334         * modules/popen-tests (Files): Add test-popen.h.
39335         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
39336         Suggested by Bruno Haible.
39337
39338         test-fcntl-safer: split from test-open
39339         * tests/test-open.c (main): Move...
39340         * tests/test-open.h: ...into new file.
39341         * tests/test-fcntl-safer.c: New file.
39342         * modules/open-tests (Files): Add test-open.h.
39343         * modules/fcntl-safer-tests: New file.
39344         Suggested by Bruno Haible.
39345
39346         test-fopen-safer: split from test-fopen
39347         * tests/test-fopen.c (main): Move...
39348         * tests/test-fopen.h: ...into new file.
39349         * tests/test-fopen-safer.c: New file.
39350         * modules/fopen-tests (Files): Add test-fopen.h.
39351         * modules/fopen-safer-tests: New file.
39352         Suggested by Bruno Haible.
39353
39354 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39355
39356         popen-safer: test O_CLOEXEC at run-time.
39357         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
39358
39359 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39360
39361         fcntl: move more flags to the header
39362         * lib/cloexec.c: Do not define FD_CLOEXEC here.
39363         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
39364         * lib/fcntl.in.h: Do both things here.
39365
39366 2009-08-21  Jim Meyering  <meyering@redhat.com>
39367
39368         consistently remove $@-t before redirecting to it
39369         * modules/argz: Remove $@-t and $@ before redirecting to the former.
39370         * modules/alloca-opt: Likewise.
39371         * modules/byteswap: Likewise.
39372         * modules/fnmatch: Likewise.
39373         * modules/getopt-posix: Likewise.
39374         * modules/glob: Likewise.
39375         * modules/poll: Likewise.
39376         * modules/posix_spawnp-tests: Likewise.
39377         * modules/sys_socket: Likewise.
39378         * modules/sysexits: Likewise.
39379
39380 2009-08-21  Eric Blake  <ebb9@byu.net>
39381
39382         popen: simplify access to original popen
39383         * lib/popen.c (rpl_popen): No need to worry about popen being a
39384         macro.
39385         Reported by Bruno Haible.
39386
39387 2009-08-20  Eric Blake  <ebb9@byu.net>
39388
39389         build: avoid some compiler warnings
39390         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
39391         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
39392         type.
39393         (new_exclude_segment, excluded_file_pattern_p)
39394         (excluded_file_name_p): Reduce scope.
39395         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
39396         old-style declaration.
39397
39398 2009-08-20  Simon Josefsson  <simon@josefsson.org>
39399
39400         * tests/test-exclude1.sh: Handle Windows EOL.
39401         * tests/test-exclude2.sh: Likewise.
39402         * tests/test-exclude3.sh: Likewise.
39403         * tests/test-exclude4.sh: Likewise.
39404         * tests/test-exclude5.sh: Likewise.
39405         * tests/test-exclude6.sh: Likewise.
39406         * tests/test-exclude7.sh: Likewise.
39407
39408 2009-08-19  Akim Demaille  <demaille@gostai.com>
39409
39410         bootstrap: find sha1sum when named gsha1sum.
39411         * bootstrap (find_tool): New.
39412         ($SHA1SUM): New.
39413         Use it.
39414
39415 2009-08-20  Jim Meyering  <meyering@redhat.com>
39416
39417         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
39418         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
39419         expression that converts "." in a file name to "\." in the resulting
39420         regexp.  Start with a dummy statement, so that prior shell variable
39421         definitions are expanded portably.  Reported by Simon Josefsson.
39422
39423 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
39424
39425         Fix polling for writeability of a screen buffer.
39426         * lib/poll.c: Distinguish input and screen buffers for the
39427         Win32 implementation.
39428         * lib/select.c: Likewise.
39429
39430 2009-08-19  Eric Blake  <ebb9@byu.net>
39431
39432         popen-safer: prevent popen from clobbering std descriptors
39433         * modules/popen-safer: New file.
39434         * lib/popen-safer.c: Likewise.
39435         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
39436         * lib/stdio--.h (popen): Provide override.
39437         * lib/stdio-safer.h (popen_safer): Provide declaration.
39438         * tests/test-popen.c (includes): Partially test this.
39439         * modules/popen-safer-tests: New file, for more tests.
39440         * tests/test-popen-safer.c: Likewise.
39441         * MODULES.html.sh (file stream based Input/Output): Mention it.
39442
39443         tests: test some of the *-safer modules
39444         * modules/fopen-safer (Depends-on): Add fopen.
39445         * modules/fcntl-safer (Depends-on): Add fcntl.
39446         * modules/stdlib-safer (Depends-on): Add stdlib.
39447         (configure.ac): Set indicator.
39448         * modules/unistd-safer (configure.ac): Likewise.
39449         * modules/tmpfile-safer (configure.ac): Likewise.
39450         (Depends-on): Add tmpfile.
39451         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
39452         active.
39453         * tests/test-fopen.c (includes): Test safer versions when they are
39454         in use.
39455         * tests/test-open.c (includes): Likewise.
39456
39457         popen: fix cygwin 1.5 bug when stdin closed
39458         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
39459         * modules/popen: New file.
39460         * modules/popen-tests: Likewise.
39461         * tests/test-popen.c: Likewise.
39462         * m4/popen.m4: Likewise.
39463         * lib/popen.c: Likewise.
39464         * lib/stdio.in.h (popen): New declaration.
39465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
39466         * modules/stdio (Makefile.am): Likewise.
39467         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
39468
39469 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
39470
39471         maint.mk: give full control over update-copyright exclusions
39472         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
39473         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
39474         (update-copyright): Don't force inclusion of top-level
39475         ChangeLog.  Don't force exclusion of all COPYING files, but make
39476         them the default exclusion instead.
39477
39478 2009-08-16  Bruno Haible  <bruno@clisp.org>
39479
39480         Fix test failures on Solaris 10.
39481         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
39482         tests when Solaris iconv() is used.
39483         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39484         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39485         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39486         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39487         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39488
39489 2009-08-16  Bruno Haible  <bruno@clisp.org>
39490
39491         Fix test failures on Solaris 10.
39492         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
39493         'tr' program and pass it as first argument.
39494         * tests/test-pipe-filter-gi1.sh: Likewise.
39495         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
39496         program as first argument.
39497         * tests/test-pipe-filter-gi1.c (main): Likewise.
39498
39499 2009-08-16  Eric Blake  <ebb9@byu.net>
39500
39501         fpurge: fix previous commits
39502         * modules/fpurge (Makefile.am): Make replacement conditional,
39503         partially reverting 2007-04-29 change; missed in previous
39504         attempt.
39505         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
39506         is missing.
39507
39508 2009-08-16  Bruno Haible  <bruno@clisp.org>
39509
39510         Clarify fpurge's effect on the file position.
39511         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
39512         * tests/test-fpurge.c (main): Make a second pass for checking the file
39513         position.
39514
39515 2009-08-16  Bruno Haible  <bruno@clisp.org>
39516
39517         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
39518         declaration of fpurge is missing.
39519         * tests/test-fpurge.c (main): Check that the file has not more contents
39520         than expected. Close the file before removing it.
39521
39522 2009-08-15  Eric Blake  <ebb9@byu.net>
39523
39524         fpurge: don't wrap working cygwin implementation
39525         * lib/fpurge.c (fpurge): Fix comment typo.
39526         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
39527         1.7 to avoid replacement.
39528         * tests/test-fpurge.c (main): Enhance test.
39529
39530 2009-08-15  Eric Blake  <ebb9@byu.net>
39531         and Jim Meyering  <meyering@redhat.com>
39532
39533         test-update-copyright: skip if perl is insufficient
39534         * tests/test-update-copyright.sh: Failure to run maintainer tool
39535         should not cause testsuite failure on cygwin 1.5.
39536
39537 2009-08-14  Eric Blake  <ebb9@byu.net>
39538
39539         doc: mention more functions added in cygwin 1.7.0
39540         * doc/posix-headers/limits.texi (limits.h): Update for recent
39541         cygwin additions.
39542         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
39543         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
39544         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
39545         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
39546         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
39547
39548 2009-08-14  Eric Blake  <ebb9@byu.net>
39549
39550         maint.mk: simplify update-copyright rule
39551         * top/maint.mk (update-copyright-local): Delete, and document how
39552         to do it in cfg.mk instead.
39553         (update-copyright-exclude-regexp): Delete, and document how to do
39554         it in .x-update-copyright instead.
39555         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
39556         exclude ChangeLog.
39557
39558 2009-08-14  Bruno Haible  <bruno@clisp.org>
39559
39560         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
39561
39562 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39563
39564         maint.mk: support update-copyright-env
39565         * top/maint.mk (update-copyright-env): Define place-holder.
39566         (update-copyright): Expand $(update-copyright-env) before
39567         invoking update-copyright.
39568
39569 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39570
39571         update-copyright: implement forced reformatting
39572         * build-aux/update-copyright: Implement and document
39573         UPDATE_COPYRIGHT_FORCE.
39574         * tests/test-update-copyright.sh: Test it.
39575
39576 2009-08-14  Eric Blake  <ebb9@byu.net>
39577         and Bruno Haible  <bruno@clisp.org>
39578
39579         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
39580         * tests/test-locale.c: Revert previous patch related to NULL.
39581         * tests/test-stdio.c: Likewise.
39582         * tests/test-stdlib.c: Likewise.
39583         * tests/test-string.c: Likewise.
39584         * tests/test-unistd.c: Likewise.
39585         * modules/time-tests (Depends-on): Add verify.
39586         * modules/wchar-tests (Depends-on): Likewise.
39587         * tests/test-time.c: Test for NULL compliance.
39588         * tests/test-wchar.c: Likewise.
39589         * modules/locale (Depends-on): Add stddef.
39590         * modules/stdio (Depends-on): Likewise.
39591         * modules/stdlib (Depends-on): Likewise.
39592         * modules/string (Depends-on): Likewise.
39593         * modules/time (Depends-on): Likewise.
39594         * modules/unistd (Depends-on): Likewise.
39595         * modules/wchar (Depends-on): Likewise.
39596         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
39597         * lib/stdlib.in.h (includes): Likewise.
39598         * lib/string.in.h (includes): Likewise.
39599         * lib/time.in.h (includes): Likewise.
39600         * lib/unistd.in.h (includes): Likewise.
39601         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
39602         replaced.
39603         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39604         * m4/stddef_h.m4: New file.
39605         * modules/stddef: Likewise.
39606         * lib/stddef.in.h: Likewise.
39607         * modules/stddef-tests: Likewise.
39608         * tests/test-stddef.c: Likewise.
39609         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
39610         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
39611         * doc/posix-headers/locale.texi (locale.h): Likewise.
39612         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
39613         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
39614         * doc/posix-headers/string.texi (string.h): Likewise.
39615         * doc/posix-headers/time.texi (time.h): Likewise.
39616         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
39617         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
39618
39619 2009-08-14  Eric Blake  <ebb9@byu.net>
39620
39621         doc: improve git diff of texinfo files
39622         * .gitattributes: Add rule for *.texi files, with hint on how to
39623         use it.
39624         Copied from m4, and based on a report by Bruno Haible.
39625
39626 2009-08-14  Bruno Haible  <bruno@clisp.org>
39627
39628         Disable multithread support by default on Cygwin 1.5.x for real.
39629         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
39630
39631 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39632
39633         update-copyright: much ado about intervals
39634         * build-aux/update-copyright: Implement and document
39635         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
39636         of copyright year intervals.
39637         Also, document UPDATE_COPYRIGHT_YEAR.
39638         * tests/test-update-copyright.sh: Test it.
39639
39640         update-copyright: convert 2-digit to 4-digit years
39641         * build-aux/update-copyright: Implement and document.
39642         * tests/test-update-copyright.sh: Update.
39643
39644 2009-08-14  Jim Meyering  <meyering@redhat.com>
39645
39646         test-exclude: avoid coreutils "make check" failure
39647         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
39648         just as in test-argmatch.c.
39649
39650 2009-08-13  Eric Blake  <ebb9@byu.net>
39651
39652         test-dup2: fix bad assumption
39653         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
39654         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
39655
39656         test-version-etc: fix CRLF portability issue
39657         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
39658         recognize \r.
39659         * tests/test-argp-version-etc-1.sh: Likewise.
39660
39661         getopt: update client modules
39662         * modules/argp (Depends-on): Use getopt-gnu.
39663         * modules/git-merge-changelog (Depends-on): Likewise.
39664         * modules/long-options (Depends-on): Likewise.
39665         * modules/xstrtol (Depends-on): Likewise.
39666
39667 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39668
39669         * tests/test-version-etc.sh: Don't fail on different
39670         project/version.  Don't fail on CRLF differences.  Rewrite to use
39671         multiple -e instead of multiple sed forks, suggested by Eric Blake
39672         <ebb9@byu.net>.
39673         * tests/test-argp-version-etc-1.sh: Likewise.
39674
39675 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39676
39677         * tests/test-version-etc.sh: Don't fail on different
39678         project/version.
39679
39680 2009-08-12  Bruno Haible  <bruno@clisp.org>
39681
39682         Tests for modules 'getopt-posix', 'getopt-gnu'.
39683         * modules/getopt-posix-tests: New file.
39684         * tests/test-getopt.c: New file.
39685         * tests/test-getopt.h: New file.
39686         * tests/test-getopt_long.h: New file.
39687
39688         New modules 'getopt-posix', 'getopt-gnu'.
39689         * modules/getopt-gnu: New file, renamed from modules/getopt.
39690         * modules/getopt-posix: New file.
39691         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
39692         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
39693         (gl_GETOPT): Remove macro.
39694         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
39695         Disable the test against BSD systems that declare optreset. Test
39696         against mingw bug. Test against lack of support of optional arguments
39697         on many platforms.
39698         * doc/glibc-headers/getopt.texi: Update module name and list of
39699         relevant platforms.
39700         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
39701         'getopt-gnu' and more portability problems.
39702         * NEWS: Mention the changes.
39703
39704 2009-08-12  Bruno Haible  <bruno@clisp.org>
39705
39706         Ensure that optarg etc. get declared by <unistd.h>.
39707         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
39708         AC_USE_SYSTEM_EXTENSIONS.
39709         * modules/getopt (Depends-on): Add 'extensions'.
39710
39711 2009-08-12  Bruno Haible  <bruno@clisp.org>
39712
39713         Avoid test link errors.
39714         * modules/pipe-filter-ii-tests (Makefile.am): Define
39715         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
39716         * modules/pipe-filter-gi-tests (Makefile.am): Define
39717         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
39718         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39719
39720 2009-08-12  Bruno Haible  <bruno@clisp.org>
39721
39722         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
39723         gl_GETOPT_SUBSTITUTE before.
39724         (gl_GETOPT): Use it.
39725         * m4/argp.m4 (gl_ARGP): Update.
39726         Reported by Sergey Poznyakoff.
39727
39728         * m4/getopt.m4: Reorder macros.
39729         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
39730         (gl_GETOPT_SUBSTITUTE): Remove macro.
39731
39732 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39733
39734         Minor improvement in gitlog-to-changelog
39735
39736         * build-aux/gitlog-to-changelog: New option `--format' makes
39737         output format string configurable.
39738
39739 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39740
39741         Optimize exclude: use hash tables for non-wildcard patterns.
39742
39743         * lib/exclude.c: Include hash.h and mbuiter.h
39744         (struct exclude_pattern, exclude_segment): New data types.
39745         (struct exclude): Rewrite.
39746         (fnmatch_pattern_has_wildcards): New function.
39747         (new_exclude_segment, free_exclude_segment): New functions.
39748         (excluded_file_pattern_p, excluded_file_name_p): New functions.
39749         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
39750         * lib/exclude.h (is_fnmatch_pattern): New prototype.
39751         * modules/exclude: Depend on hash and mbuiter.
39752
39753         * modules/exclude-tests: New file.
39754         * tests/test-exclude.c: New file.
39755         * tests/test-exclude1.sh: New file.
39756         * tests/test-exclude2.sh: New file.
39757         * tests/test-exclude3.sh: New file.
39758         * tests/test-exclude4.sh: New file.
39759         * tests/test-exclude5.sh: New file.
39760         * tests/test-exclude6.sh: New file.
39761         * tests/test-exclude7.sh: New file.
39762
39763 2009-08-12  Bruno Haible  <bruno@clisp.org>
39764
39765         Ensure that getopt() gets declared by <unistd.h>.
39766         * lib/unistd.in.h: Conditionally include getopt.h.
39767         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
39768         Set GNULIB_UNISTD_H_GETOPT.
39769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39770         GNULIB_UNISTD_H_GETOPT.
39771         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
39772
39773 2009-08-12  Bruno Haible  <bruno@clisp.org>
39774
39775         Clarify logic.
39776         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
39777         gl_replace_getopt instead of GETOPT_H.
39778
39779 2009-08-12  Bruno Haible  <bruno@clisp.org>
39780
39781         * m4/getopt.m4: Add comments.
39782
39783 2009-08-12  Bruno Haible  <bruno@clisp.org>
39784
39785         Disable multithread support by default on Cygwin 1.5.x.
39786         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
39787         set gl_use_threads=no if not specified otherwise.
39788
39789 2009-08-11  Bruno Haible  <bruno@clisp.org>
39790
39791         Avoid compilation error on NetBSD 5.0.
39792         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
39793         * tests/test-stdio.c: Likewise.
39794         * tests/test-stdlib.c: Likewise.
39795         * tests/test-string.c: Likewise.
39796         * tests/test-unistd.c: Likewise.
39797         Reported by Greg Troxel <gdt@ir.bbn.com>
39798         at <https://savannah.gnu.org/support/?106973>.
39799
39800 2009-08-11  Bruno Haible  <bruno@clisp.org>
39801
39802         * modules/dup2-tests (Depends-on): Remove close.
39803
39804         Undo 2009-07-19 commit.
39805         * modules/acl-tests (Depends-on): Remove close.
39806         * modules/binary-io-tests (Depends-on): Likewise.
39807         * modules/closein-tests (Depends-on): Likewise.
39808         * modules/flock-tests (Depends-on): Likewise.
39809         * modules/fsync-tests (Depends-on): Likewise.
39810         * modules/lseek-tests (Depends-on): Likewise.
39811         * modules/pipe-tests (Depends-on): Likewise.
39812         * modules/posix_spawn-tests (Depends-on): Likewise.
39813         * modules/posix_spawnp-tests (Depends-on): Likewise.
39814         * modules/stat-time-tests (Depends-on): Likewise.
39815         * modules/yesno-tests (Depends-on): Likewise.
39816
39817 2009-08-10  Bruno Haible  <bruno@clisp.org>
39818
39819         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
39820
39821 2009-08-10  Bruno Haible  <bruno@clisp.org>
39822
39823         Fix a gcc warning.
39824         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
39825
39826 2009-08-10  Bruno Haible  <bruno@clisp.org>
39827
39828         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
39829         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
39830         not only the first time.
39831         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
39832         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
39833         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
39834         is 1, not only the the first time.
39835
39836 2009-08-10  Bruno Haible  <bruno@clisp.org>
39837
39838         Make it possible to use module 'gethostname' without module 'close'.
39839         * lib/unistd.in.h (close): Evoke a link error only if
39840         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39842         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39843         * modules/unistd (Makefile.am): Substitute
39844         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39845         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
39846         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39847         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
39848         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39849         * modules/sys_ioctl (Makefile.am): Substitute
39850         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39851         * modules/socket (configure.ac): On native Windows, set
39852         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
39853         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39854         Reported by Sam Steingold <sds@gnu.org>.
39855
39856 2009-08-10  Bruno Haible  <bruno@clisp.org>
39857
39858         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
39859         * modules/ioctl (configure.ac): Likewise.
39860
39861 2009-08-10  Bruno Haible  <bruno@clisp.org>
39862
39863         Avoid collision between gnulib wrapper and libintl wrapper.
39864         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
39865         already defined in intl/printf.c.
39866         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
39867         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
39868
39869 2009-08-09  Bruno Haible  <bruno@clisp.org>
39870
39871         Make <sys/select.h> really self-contained, also on Solaris 10.
39872         * lib/sys_select.in.h: Include <string.h>.
39873         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
39874         Solaris 10 problem.
39875         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
39876         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
39877         Reported by Jim Meyering.
39878
39879 2009-08-09  Bruno Haible  <bruno@clisp.org>
39880
39881         Avoid warnings from 'aclocal' that are due to a use of macro name
39882         AM_XGETTEXT_OPTION that is not defined in automake.
39883         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
39884         automake.
39885         * modules/error (configure.ac): Likewise.
39886         * modules/propername (configure.ac): Likewise.
39887         * modules/vasprintf (configure.ac): Likewise.
39888         * modules/verror (configure.ac): Likewise.
39889         * modules/xprintf (configure.ac): Likewise.
39890         * modules/xvasprintf (configure.ac): Likewise.
39891
39892 2009-08-08  Bruno Haible  <bruno@clisp.org>
39893
39894         Avoid compilation error in C++ mode.
39895         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
39896         Reported by Sam Steingold <sds@gnu.org>.
39897
39898 2009-08-08  Bruno Haible  <bruno@clisp.org>
39899
39900         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
39901         for the various Unix platforms.
39902         * doc/posix-headers/limits.texi: Update platforms list regarding
39903         HOST_NAME_MAX.
39904         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39905
39906 2009-08-07  Jim Meyering  <meyering@redhat.com>
39907
39908         selinux-at: fix typo in a comment
39909         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
39910         Spotted by Paolo Bonzini.
39911
39912         selinux-at: remove redundant m4 code, add documentation
39913         * modules/selinux-at (configure.ac): Remove redundant code.
39914         LIB_SELINUX is already set via the dependent module, selinux-h.
39915         (Include): Add quotes around selinux-at.h.
39916         * lib/selinux-at.h: Add documentation.
39917         Reported by Bruno Haible in
39918         http://marc.info/?l=gnulib-bug&m=124958988300749
39919
39920 2009-08-07  Bruno Haible  <bruno@clisp.org>
39921
39922         Avoid link error on MacOS X 10.3 and 10.4.
39923         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
39924         on non-ELF systems.
39925         * lib/argp-pv.c (argp_program_version): Likewise.
39926         Reported by Simon Josefsson.
39927
39928 2009-08-07  Simon Josefsson  <simon@josefsson.org>
39929
39930         * tests/test-version-etc.sh: Use $EXEEXT.
39931
39932 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
39933
39934         update-copyright: update documentation to point to maint.mk
39935         * build-aux/update-copyright: Here.
39936
39937 2009-08-06  Jim Meyering  <meyering@redhat.com>
39938
39939         maint.mk: support update-copyright-local
39940         * top/maint.mk (update-copyright-local): Define place-holder.
39941         (update-copyright): Depend on $(update-copyright-local).
39942
39943 2009-08-06  Jim Meyering  <meyering@redhat.com>
39944
39945         selinux-at: new module
39946         Initially written for coreutils, this module will soon be
39947         used by findutils, too.
39948         * MODULES.html.sh [Misc]: Add selinux-at.
39949         * lib/selinux-at.h: New file, from coreutils.
39950         * lib/selinux-at.c: Likewise.
39951         * modules/selinux-at: Likewise.
39952         (License): Change from LGPL to GPL, since it depends
39953         on the GPL'd openat module.
39954
39955         doc: update README
39956         * README: Remove references to cogito.
39957         Remove cvs-repo-updating instructions from 2007.
39958         Don't imply that CVS is better if you have limited disk space.
39959
39960 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39961
39962         update-copyright: support C-style comments
39963         * build-aux/update-copyright: Implement and document.
39964         * tests/test-update-copyright.sh: Test.
39965
39966 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39967
39968         update-copyright: support omitted "(C)"
39969         * build-aux/update-copyright: Implement and document.  Also,
39970         allow variable whitespace before "(C)".
39971         * tests/test-update-copyright.sh: Test.
39972
39973 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39974
39975         update-copyright: don't trip on non-FSF copyright statements
39976         * build-aux/update-copyright: Fix so that the first correctly
39977         formatted FSF copyright statement is recognized no matter what
39978         appears before it.  Update documentation.
39979         * tests/test-update-copyright.sh: Test that.
39980
39981 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39982
39983         update-copyright: clean up code a little
39984         * build-aux/update-copyright: Append "_re" to the name of any
39985         variable holding a regular expression.
39986         Replace "old" and "new" with "stmt" in variable names.
39987         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
39988         handled correctly.
39989         Format code more consistently.
39990
39991 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39992
39993         update-copyright-tests: improve portability
39994         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
39995         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
39996
39997 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39998
39999         update-copyright: support @copyright{} and &copy;
40000         * build-aux/update-copyright: Implement and document.
40001         * tests/test-update-copyright.sh: Test.
40002
40003 2009-08-04  Jim Meyering  <meyering@redhat.com>
40004
40005         update-copyright-tests: correctly test EOL=\r\n handling
40006         * tests/test-update-copyright.sh: Put \r at the end of some lines
40007         for the dos-eol tests.  Based on a patch by Joel E. Denny.
40008
40009         maint.mk: make update-copyright exclusion list more configurable
40010         * top/maint.mk (update-copyright): Default to excluding COPYING,
40011         but allow an override, in case someone does want to update that file.
40012
40013         maint.mk: don't update copyright date in COPYING
40014         * top/maint.mk (update-copyright): Exclude COPYING.
40015
40016         maint.mk: add a copyright-updating rule
40017         * top/maint.mk (update-copyright): New rule.
40018         Derived from coreutils/Makefile.am.
40019
40020         update-copyright: rename some variables
40021         * build-aux/update-copyright: Rename a few variables for clarity.
40022         Tweak syntax.  List Joel E. Denny as coauthor.
40023
40024 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40025
40026         update-copyright: fix bug for 2-digit last year and add tests
40027         * build-aux/update-copyright: Fix bug.
40028         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
40029         specified.
40030         * modules/update-copyright-tests: New
40031         * tests/test-update-copyright.sh: New.
40032
40033 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40034
40035         update-copyright: handle leading tabs in line prefix
40036         * build-aux/update-copyright: Count leading tabs as 8 spaces
40037         when computing margin.  This helps with the formatting of
40038         ChangeLogs, for example.
40039         Fix documentation a little.
40040
40041 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40042
40043         update-copyright: support EOL=\r\n
40044         * build-aux/update-copyright: Implement that.
40045
40046 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40047
40048         update-copyright: automatically format copyright statements
40049         * build-aux/update-copyright: Implement that.
40050         Also, be a little more predictable and safer by always failing
40051         when the full copyright format is not perfectly recognized as an
40052         unbroken whole.  Discussed at
40053         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
40054         Rewrite documentation.
40055
40056 2009-08-03  Bruno Haible  <bruno@clisp.org>
40057
40058         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
40059
40060 2009-08-02  Bruno Haible  <bruno@clisp.org>
40061
40062         Tests for module 'uname'.
40063         * modules/uname-tests: New file.
40064         * tests/test-uname.c: New file.
40065
40066         New module 'uname'.
40067         * lib/uname.c: New file.
40068         * m4/uname.m4: New file.
40069         * modules/uname: New file.
40070         * doc/posix-functions/uname.texi: Mention the new module.
40071
40072 2009-08-02  Bruno Haible  <bruno@clisp.org>
40073
40074         Tests for module 'sys_utsname'.
40075         * modules/sys_utsname-tests: New file.
40076         * tests/test-sys_utsname.c: New file.
40077
40078         New module 'sys_utsname'.
40079         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
40080         * m4/sys_utsname_h.m4: New file.
40081         * modules/sys_utsname: New file.
40082         * doc/posix-headers/sys_utsname.texi: Mention the new module.
40083
40084 2009-08-02  Bruno Haible  <bruno@clisp.org>
40085
40086         Implicitly initialize the sockets library.
40087         * lib/gethostname.c: Include sockets.h.
40088         (rpl_gethostname): Invoke gl_sockets_startup.
40089         * lib/socket.c: Include sockets.h.
40090         (rpl_socket): Invoke gl_sockets_startup.
40091         * modules/gethostname (Depends-on): Add sockets.
40092         * modules/socket (Depends-on): Likewise.
40093         * tests/test-poll.c: Don't include sockets.h.
40094         (main): Don't invoke gl_sockets_startup.
40095         * tests/test-select.c: Don't include sockets.h.
40096         (main): Don't invoke gl_sockets_startup.
40097
40098 2009-08-02  Bruno Haible  <bruno@clisp.org>
40099
40100         Allow multiple calls to gl_sockets_startup.
40101         * lib/sockets.c (initialized_sockets_version): New variable.
40102         (gl_sockets_startup): Do nothing if already called for this or a higher
40103         version.
40104         (gl_sockets_cleanup): Reset initialized_sockets_version.
40105
40106 2009-08-03  Simon Josefsson  <simon@josefsson.org>
40107
40108         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
40109         different project/version.
40110
40111 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
40112             Bruno Haible  <bruno@clisp.org>
40113
40114         Tests for module 'pipe-filter-gi'.
40115         * modules/pipe-filter-gi-tests: New file.
40116         * tests/test-pipe-filter-gi1.sh: New file.
40117         * tests/test-pipe-filter-gi1.c: New file.
40118         * tests/test-pipe-filter-gi2.sh: New file.
40119         * tests/test-pipe-filter-gi2-main.c: New file.
40120         * tests/test-pipe-filter-gi2-child.c: New file.
40121
40122         New module 'pipe-filter-gi'.
40123         * lib/pipe-filter-gi.c: New file.
40124         * modules/pipe-filter-gi: New file.
40125
40126 2009-08-02  Bruno Haible  <bruno@clisp.org>
40127             Paolo Bonzini  <bonzini@gnu.org>
40128
40129         Tests for module 'pipe-filter-ii'.
40130         * modules/pipe-filter-ii-tests: New file.
40131         * tests/test-pipe-filter-ii1.sh: New file.
40132         * tests/test-pipe-filter-ii1.c: New file.
40133         * tests/test-pipe-filter-ii2.sh: New file.
40134         * tests/test-pipe-filter-ii2-main.c: New file.
40135         * tests/test-pipe-filter-ii2-child.c: New file.
40136
40137         New module 'pipe-filter-ii'.
40138         * lib/pipe-filter.h: New file.
40139         * lib/pipe-filter-ii.c: New file.
40140         * lib/pipe-filter-aux.h: New file.
40141         * modules/pipe-filter-ii: New file.
40142
40143 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40144
40145         * lib/gc-libgcrypt.c: Change copyright to FSF.
40146         * lib/gc-gnulib.c: Likewise.
40147
40148 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
40149
40150         * lib/gethostname.c: Include limits.h.
40151
40152 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40153             Bruno Haible  <bruno@clisp.org>
40154
40155         Ensure HOST_NAME_MAX as part of the gethostname module.
40156         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
40157         define also HOST_NAME_MAX.
40158         * tests/test-gethostname.c: Include <limits.h>.
40159         (main): Check also HOST_NAME_MAX.
40160         * doc/posix-headers/limits.texi: Document the mingw problem.
40161
40162 2009-08-02  Bruno Haible  <bruno@clisp.org>
40163
40164         * lib/gethostname.c (gethostname): Fix handling of large len argument.
40165         Add comments.
40166
40167 2009-03-31  Simon Josefsson  <simon@josefsson.org>
40168
40169         * lib/gethostname.c: Add Windows wrapper.
40170         * m4/gethostname.m4: Look for gethostname in -lws2_32.
40171         * modules/gethostname: Depend on sys_socket & errno, for also
40172         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
40173         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
40174
40175 2009-07-31  Jim Meyering  <meyering@redhat.com>
40176
40177         getloadavg: fix symbol name in comment
40178         * lib/getloadavg.c: Correct a typo I introduced when adding
40179         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
40180         Matt Kraai spotted the problem.
40181
40182 2009-07-29  Matt Kraai  <mkraai@beckman.com>
40183
40184         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
40185         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
40186         code also if ! defined N_NAME_POINTER.
40187         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
40188         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
40189         but the n_name member is a 12-byte array.
40190
40191 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
40192
40193         update-copyright: generalize comment handling
40194         * build-aux/update-copyright: Handle copyright statements
40195         within more comment styles.
40196         Document usage.
40197         Report any file with an external copyright holder or parse failure.
40198
40199 2009-07-29  Jim Meyering  <meyering@redhat.com>
40200
40201         mktime: correct setting of REPLACE_MKTIME
40202         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
40203
40204         update-copyright: new module
40205         * modules/update-copyright: New file.
40206         * build-aux/update-copyright: New file.
40207         * MODULES.html.sh (maint+release support): Add update-copyright.
40208
40209 2009-07-27  Bruno Haible  <bruno@clisp.org>
40210
40211         Fix compilation error when <ctime> is used and mktime is replaced.
40212         * lib/time.in.h (mktime): New declaration.
40213         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
40214         REPLACE_MKTIME instead of defining mktime in config.h.
40215         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
40216         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
40217         Reported by Ross McFarland <rwmcfa1@neces.com>.
40218
40219 2009-07-27  Bruno Haible  <bruno@clisp.org>
40220
40221         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
40222         Reported by Matt Kraai <mkraai@beckman.com>.
40223
40224 2009-07-25  Jim Meyering  <meyering@redhat.com>
40225
40226         maint.mk: avoid warnings about missing files
40227         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
40228         diagnostic when .prev-version does not exist.
40229         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
40230         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
40231         nonexistent cfg.mk.
40232         Suggestions from Simon Josefsson.
40233
40234 2009-07-25  Bruno Haible  <bruno@clisp.org>
40235
40236         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
40237         defined as macros. Needed on QNX 6.4.1.
40238         Reported by Matt Kraai <mkraai@beckman.com>.
40239
40240 2009-07-23  Jim Meyering  <meyering@redhat.com>
40241
40242         maint.mk: invoke "make dist" with a working value of XZ_OPT
40243         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
40244
40245 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
40246
40247         Make fseeko.c compile on QNX.
40248         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
40249
40250 2009-07-22  Peter Simons  <simons@cryp.to>
40251
40252         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
40253         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
40254         * lib/md4.h: Likewise.
40255         * lib/md5.h: Likewise.
40256         * lib/sha1.h: Likewise.
40257         * lib/sha256.h: Likewise.
40258         * lib/sha512.h: Likewise.
40259
40260         tests-sha1: don't assign literal string to 'char *' variable
40261         * tests/test-sha1.c (main): Declare locals with "const" to match
40262         attributes of the right hand side.
40263
40264 2009-07-21  Eric Blake  <ebb9@byu.net>
40265
40266         dup2: fix more mingw problems
40267         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
40268         fd to itself.
40269         * doc/posix-functions/dup2.texi (dup2): Document the bug.
40270         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
40271         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
40272         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
40273         care of mingw bugs.
40274
40275 2009-07-21  Jim Meyering  <meyering@redhat.com>
40276
40277         vc-list-files: avoid failure when /bin/sh is dash
40278         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
40279         On some Debian based systems, /bin/sh is a symlink to dash, and running
40280         this command would omit the "/" following each 'tests' prefix:
40281           dash -x build-aux/vc-list-files -C . tests
40282         That is because bash and dash work differently:
40283           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
40284           bash ok
40285           dash odd
40286
40287 2009-07-21  Eric Blake  <ebb9@byu.net>
40288
40289         dup2-tests: test previous patch
40290         * modules/dup2-tests: New file.
40291         * tests/test-dup2.c: Likewise.
40292         * tests/test-open.c (main): Avoid unspecified behavior.
40293         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
40294         test.
40295
40296         dup2: work around mingw and cygwin 1.5 bug
40297         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
40298         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40299         * modules/unistd (Makefile.am): Substitute it.
40300         * lib/unistd.in.h (dup2): Declare the replacement.
40301         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
40302         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
40303         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
40304         * modules/execute (Depends-on): Add dup2.
40305         * modules/fseterr (Depends-on): Likewise.
40306         * modules/pipe (Depends-on): Likewise.
40307         * modules/posix_spawn-internal (Depends-on): Likewise.
40308
40309 2009-07-21  Bruno Haible  <bruno@clisp.org>
40310
40311         * modules/.gitattributes: New file.
40312
40313 2009-07-20  Bruno Haible  <bruno@clisp.org>
40314
40315         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
40316         (main): Use it.
40317
40318 2009-07-20  Eric Blake  <ebb9@byu.net>
40319
40320         test-pipe: make a bit more robust.
40321         * tests/test-pipe.c (myerr): Allow error messages regardless of
40322         what we do to stderr.
40323         (test_pipe): Rearrange to avoid deadlock.
40324         (child_main): Try a larger read, to ensure we avoided deadlock.
40325         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
40326         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
40327         if misused.
40328
40329 2009-07-19  Jim Meyering  <meyering@redhat.com>
40330
40331         fts: avoid false-positive cycle-detection
40332         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
40333         for each new command line argument.
40334
40335 2009-07-19  Bruno Haible  <bruno@clisp.org>
40336
40337         Fix build error on mingw with the modules sys_select and unistd.
40338         * modules/acl-tests (Depends-on): Add close.
40339         * modules/binary-io-tests (Depends-on): Likewise.
40340         * modules/closein-tests (Depends-on): Likewise.
40341         * modules/flock-tests (Depends-on): Likewise.
40342         * modules/fsync-tests (Depends-on): Likewise.
40343         * modules/lseek-tests (Depends-on): Likewise.
40344         * modules/pipe-tests (Depends-on): Likewise.
40345         * modules/posix_spawn-tests (Depends-on): Likewise.
40346         * modules/posix_spawnp-tests (Depends-on): Likewise.
40347         * modules/stat-time-tests (Depends-on): Likewise.
40348         * modules/yesno-tests (Depends-on): Likewise.
40349
40350 2009-07-19  Bruno Haible  <bruno@clisp.org>
40351
40352         Unify conditionals.
40353         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
40354         macros, not at the compiler macros.
40355         * lib/pipe.c: Likewise.
40356         * lib/execute.c: Likewise.
40357         * lib/spawni.c: Likewise.
40358
40359 2009-07-19  Bruno Haible  <bruno@clisp.org>
40360
40361         Fix handling of closed stdin/stdout/stderr on mingw.
40362         * lib/w32spawn.h: Include unistd.h.
40363         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
40364         file descriptor with O_NOINHERIT flag.
40365         (fd_safer_noinherit): New function, based on fd-safer.c.
40366         (dup_safer_noinherit): New function, based on dup-safer.c.
40367         (undup_safer_noinherit): New function.
40368         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
40369         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
40370         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
40371         instead of fd_safer.
40372         * tests/test-pipe.c: Include <windows.h>.
40373         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
40374         result.
40375
40376         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
40377         from main.
40378         (test_pipe): Pass an extra argument for disambiguation.
40379         (main): Invoke parent_main or child_main.
40380
40381         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
40382         consistently.
40383
40384 2009-07-18  Eric Blake  <ebb9@byu.net>
40385
40386         test-pipe: fix mingw build
40387         * tests/test-pipe.c (main): Avoid fcntl on mingw.
40388
40389 2009-07-18  Bruno Haible  <bruno@clisp.org>
40390
40391         * modules/pipe-tests (Makefile.am): Fix typo.
40392
40393 2009-07-18  Eric Blake  <ebb9@byu.net>
40394
40395         error: fix mingw build
40396         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
40397         Reported by Bruno Haible.
40398
40399         error: avoid undefined use of stdout
40400         * lib/error.c (error, error_at_line): Check that fd 1 is open
40401         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
40402         is handling faults and the close_stdout module wants to report the
40403         detection of closed stdout as an error.
40404
40405 2009-07-17  Eric Blake  <ebb9@byu.net>
40406
40407         pipe: be robust in face of closed fds
40408         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
40409         should cause child to misbehave.
40410         * modules/pipe-tests: New module.
40411         * tests/test-pipe.c: New file.
40412         * tests/test-pipe.sh: New file.
40413         Reported by Akim Demaille.
40414
40415 2009-07-14  Bruno Haible  <bruno@clisp.org>
40416
40417         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
40418         Reported by anonymous kc.
40419
40420 2009-07-07  Jim Meyering  <meyering@redhat.com>
40421
40422         maint.mk: don't look for translatable strings in *.m4 or *.mk
40423         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
40424         when searching for translatable strings.
40425
40426 2009-07-05  Jim Meyering  <meyering@redhat.com>
40427
40428         remove superfluous parentheses in STREQ definition
40429         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
40430         * lib/getugroups.c (STREQ): Likewise.
40431         * lib/fnmatch.c (STREQ): Likewise.
40432         Spotted by Bruno Haible.
40433
40434 2009-07-04  Jim Meyering  <meyering@redhat.com>
40435
40436         argv-iter: new module
40437         * MODULES.html.sh: Add argv-iter.
40438         * lib/argv-iter.c, lib/argv-iter.h: New files.
40439         * modules/argv-iter: New file.
40440         * modules/argv-iter-tests: New file.
40441         * tests/test-argv-iter.c: Test it.
40442
40443 2009-07-04  Bruno Haible  <bruno@clisp.org>
40444
40445         Fix assertion.
40446         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
40447         contains more exact copies of a given entry than file2, leave the extra
40448         copies unpaired rather than aborting.
40449         Reported by Eric Blake.
40450
40451 2009-07-02  Bruno Haible  <bruno@clisp.org>
40452
40453         Speedup git-merge-changelog for git cherry-pick.
40454         * lib/git-merge-changelog.c (struct entries_mapping): New type.
40455         (entries_mapping_get): New function, extracted from compute_mapping.
40456         (entries_mapping_reverse_get): New function.
40457         (compute_mapping): Add a 'full' argument. Return the result in a
40458         'struct entries_mapping'.
40459         (main): Update. Access the mappings through entries_mapping_get.
40460         Reported by Eric Blake.
40461
40462 2009-07-02  Bruno Haible  <bruno@clisp.org>
40463
40464         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
40465         best_i.
40466
40467 2009-07-02  Bruno Haible  <bruno@clisp.org>
40468
40469         Speed up approximate search for matching ChangeLog entries.
40470         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
40471         argument. Call fstrcmp_bounded instead of fstrcmp.
40472         (compute_mapping, try_split_merged_entry, main): Update callers.
40473
40474 2009-07-02  Bruno Haible  <bruno@clisp.org>
40475
40476         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
40477
40478 2009-06-30  Bruno Haible  <bruno@clisp.org>
40479
40480         Reduce the number of uc_is_cased calls.
40481         * lib/unicase.h (casing_suffix_context_t): Add
40482         'first_char_except_ignorable' field.
40483         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
40484         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
40485         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
40486         Update initializer.
40487         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
40488         case-ignorable characters.
40489         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
40490         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
40491         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
40492         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
40493         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
40494
40495 2009-06-30  Bruno Haible  <bruno@clisp.org>
40496
40497         Tests for module 'unicase/ignorable'.
40498         * modules/unicase/ignorable-tests: New file.
40499         * tests/unicase/test-ignorable.c: New file, generated by
40500         gen-uni-tables.
40501
40502         Tests for module 'unicase/cased'.
40503         * modules/unicase/cased-tests: New file.
40504         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
40505         * tests/unicase/test-predicate-part1.h: New file, derived from
40506         tests/unictype/test-predicate-part1.h.
40507         * tests/unicase/test-predicate-part2.h: New file, same as
40508         tests/unictype/test-predicate-part2.h.
40509
40510         Fix evaluation of "Before C" condition of FINAL_SIGMA.
40511         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
40512         (output_casing_properties): New function.
40513         (main): Call it.
40514         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
40515         * lib/unicase/cased.c: Include unictype/bitmap.h.
40516         (uc_is_cased): Define through a bitmap lookup.
40517         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
40518         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
40519         (uc_is_case_ignorable): Define through a bitmap lookup.
40520         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
40521         lib/unictype/bitmap.h.
40522         (Depends-on): Add inline. Clean up.
40523         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
40524         lib/unictype/bitmap.h.
40525         (Depends-on): Add inline. Clean up.
40526         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
40527         recognition.
40528         * tests/unicase/test-u16-tolower.c (main): Likewise.
40529         * tests/unicase/test-u32-tolower.c (main): Likewise.
40530
40531 2009-06-30  Bruno Haible  <bruno@clisp.org>
40532
40533         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
40534         * lib/unicase/u16-casemap.c: Likewise.
40535         * lib/unicase/u32-casemap.c: Likewise.
40536
40537 2009-06-29  Bruno Haible  <bruno@clisp.org>
40538
40539         Define u32_casefold as a wrapper around u32_ct_casefold.
40540         * lib/unicase/u32-casefold.c: Update.
40541         * modules/unicase/u32-casefold (Depends-on): Add
40542         unicase/u32-ct-casefold, unicase/empty-prefix-context,
40543         unicase/empty-suffix-context. Clean up.
40544
40545         Define u16_casefold as a wrapper around u16_ct_casefold.
40546         * lib/unicase/u16-casefold.c: Update.
40547         * modules/unicase/u16-casefold (Depends-on): Add
40548         unicase/u16-ct-casefold, unicase/empty-prefix-context,
40549         unicase/empty-suffix-context. Clean up.
40550
40551         Define u8_casefold as a wrapper around u8_ct_casefold.
40552         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
40553         * lib/unicase/u8-casefold.c: Update.
40554         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
40555         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40556
40557         Define u32_totitle as a wrapper around u32_ct_totitle.
40558         * lib/unicase/u32-totitle.c: Update.
40559         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
40560         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40561
40562         Define u16_totitle as a wrapper around u16_ct_totitle.
40563         * lib/unicase/u16-totitle.c: Update.
40564         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
40565         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40566
40567         Define u8_totitle as a wrapper around u8_ct_totitle.
40568         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
40569         functions.
40570         (FUNC): Delegate to U_CT_TOTITLE.
40571         * lib/unicase/u8-totitle.c: Update.
40572         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
40573         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40574
40575         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
40576         invocation.
40577         * modules/unicase/u32-tolower (Depends-on): Add
40578         unicase/empty-prefix-context, unicase/empty-suffix-context.
40579
40580         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
40581         invocation.
40582         * modules/unicase/u16-tolower (Depends-on): Add
40583         unicase/empty-prefix-context, unicase/empty-suffix-context.
40584
40585         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
40586         * modules/unicase/u8-tolower (Depends-on): Add
40587         unicase/empty-prefix-context, unicase/empty-suffix-context.
40588
40589         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
40590         invocation.
40591         * modules/unicase/u32-toupper (Depends-on): Add
40592         unicase/empty-prefix-context, unicase/empty-suffix-context.
40593
40594         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
40595         invocation.
40596         * modules/unicase/u16-toupper (Depends-on): Add
40597         unicase/empty-prefix-context, unicase/empty-suffix-context.
40598
40599         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
40600         * modules/unicase/u8-toupper (Depends-on): Add
40601         unicase/empty-prefix-context, unicase/empty-suffix-context.
40602
40603         New module 'unicase/u32-ct-casefold'.
40604         * lib/unicase/u32-ct-casefold.c: New file.
40605         * modules/unicase/u32-ct-casefold: New file.
40606
40607         New module 'unicase/u16-ct-casefold'.
40608         * lib/unicase/u16-ct-casefold.c: New file.
40609         * modules/unicase/u16-ct-casefold: New file.
40610
40611         New module 'unicase/u8-ct-casefold'.
40612         * lib/unicase/u8-ct-casefold.c: New file.
40613         * lib/unicase/u-ct-casefold.h: New file, derived from
40614         lib/unicase/u-casefold.h.
40615         * modules/unicase/u8-ct-casefold: New file.
40616
40617         New module 'unicase/u32-ct-totitle'.
40618         * lib/unicase/u32-ct-totitle.c: New file.
40619         * modules/unicase/u32-ct-totitle: New file.
40620
40621         New module 'unicase/u16-ct-totitle'.
40622         * lib/unicase/u16-ct-totitle.c: New file.
40623         * modules/unicase/u16-ct-totitle: New file.
40624
40625         New module 'unicase/u8-ct-totitle'.
40626         * lib/unicase/u8-ct-totitle.c: New file.
40627         * lib/unicase/u-ct-totitle.h: New file, derived from
40628         lib/unicase/u-totitle.h.
40629         * modules/unicase/u8-ct-totitle: New file.
40630
40631         New module 'unicase/u32-ct-tolower'.
40632         * lib/unicase/u32-ct-tolower.c: New file.
40633         * modules/unicase/u32-ct-tolower: New file.
40634
40635         New module 'unicase/u16-ct-tolower'.
40636         * lib/unicase/u16-ct-tolower.c: New file.
40637         * modules/unicase/u16-ct-tolower: New file.
40638
40639         New module 'unicase/u8-ct-tolower'.
40640         * lib/unicase/u8-ct-tolower.c: New file.
40641         * modules/unicase/u8-ct-tolower: New file.
40642
40643         New module 'unicase/u32-ct-toupper'.
40644         * lib/unicase/u32-ct-toupper.c: New file.
40645         * modules/unicase/u32-ct-toupper: New file.
40646
40647         New module 'unicase/u16-ct-toupper'.
40648         * lib/unicase/u16-ct-toupper.c: New file.
40649         * modules/unicase/u16-ct-toupper: New file.
40650
40651         New module 'unicase/u8-ct-toupper'.
40652         * lib/unicase/u8-ct-toupper.c: New file.
40653         * modules/unicase/u8-ct-toupper: New file.
40654
40655         Add context arguments to u*_casemap functions.
40656         * lib/unicase/unicasemap.h: Include unicase.h.
40657         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
40658         suffix_context arguments.
40659         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
40660         functions.
40661         (FUNC): Add prefix_context and suffix_context arguments. Use
40662         uc_is_cased and uc_is_case_ignorable.
40663         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
40664         * lib/unicase/u16-casemap.c: Likewise.
40665         * lib/unicase/u32-casemap.c: Likewise.
40666         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
40667         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40668         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
40669         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40670         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
40671         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40672
40673         New module 'unicase/u32-suffix-context'.
40674         * lib/unicase/u32-suffix-context.c: New file.
40675         * modules/unicase/u32-suffix-context: New file.
40676
40677         New module 'unicase/u16-suffix-context'.
40678         * lib/unicase/u16-suffix-context.c: New file.
40679         * modules/unicase/u16-suffix-context: New file.
40680
40681         New module 'unicase/u8-suffix-context'.
40682         * lib/unicase/u8-suffix-context.c: New file.
40683         * lib/unicase/u-suffix-context.h: New file.
40684         * modules/unicase/u8-suffix-context: New file.
40685
40686         New module 'unicase/empty-suffix-context'.
40687         * lib/unicase/empty-suffix-context.c: New file.
40688         * modules/unicase/empty-suffix-context: New file.
40689
40690         New module 'unicase/u32-prefix-context'.
40691         * lib/unicase/u32-prefix-context.c: New file.
40692         * modules/unicase/u32-prefix-context: New file.
40693
40694         New module 'unicase/u16-prefix-context'.
40695         * lib/unicase/u16-prefix-context.c: New file.
40696         * modules/unicase/u16-prefix-context: New file.
40697
40698         New module 'unicase/u8-prefix-context'.
40699         * lib/unicase/u8-prefix-context.c: New file.
40700         * lib/unicase/u-prefix-context.h: New file.
40701         * lib/unicase/context.h: New file.
40702         * modules/unicase/u8-prefix-context: New file.
40703
40704         New module 'unicase/empty-prefix-context'.
40705         * lib/unicase/empty-prefix-context.c: New file.
40706         * modules/unicase/empty-prefix-context: New file.
40707
40708         New module 'unicase/ignorable'.
40709         * lib/unicase/ignorable.c: New file.
40710         * modules/unicase/ignorable: New file.
40711
40712         New module 'unicase/cased'.
40713         * lib/unicase/caseprop.h: New file.
40714         * lib/unicase/cased.c: New file.
40715         * modules/unicase/cased: New file.
40716
40717         New functions for case mapping of substrings.
40718         * lib/unicase.h (casing_prefix_context_t): New type.
40719         (unicase_empty_prefix_context): New variable.
40720         (u8_casing_prefix_context, u16_casing_prefix_context,
40721         u32_casing_prefix_context, u8_casing_prefixes_context,
40722         u16_casing_prefixes_context, u32_casing_prefixes_context): New
40723         declarations.
40724         (casing_suffix_context_t): New type.
40725         (unicase_empty_suffix_context): New variable.
40726         (u8_casing_suffix_context, u16_casing_suffix_context,
40727         u32_casing_suffix_context, u8_casing_suffixes_context,
40728         u16_casing_suffixes_context, u32_casing_suffixes_context,
40729         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
40730         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
40731         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
40732         declarations.
40733
40734 2009-06-28  Jim Meyering  <meyering@redhat.com>
40735
40736         boostrap: indent only with spaces
40737         * build-aux/bootstrap: Indent only with spaces, never TABs.
40738
40739         bootstrap: split long lines
40740         * build-aux/bootstrap: Keep line length < 80.
40741
40742         bootstrap: sync from coreutils
40743         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
40744         just as autoreconf does.  Verify a list of prerequisite
40745         package-name,version-number pairs if defined in bootstrap.conf.
40746         Refer to README-prereq, if prerequisites are not satisfied.
40747
40748 2009-06-27  Eric Blake  <ebb9@byu.net>
40749
40750         tests: add test for bogus NULL definition
40751         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
40752         * tests/test-stdlib.c: Likewise.
40753         * tests/test-string.c: Likewise.
40754         * tests/test-locale.c: Likewise.
40755         * tests/test-unistd.c: Likewise.
40756         * modules/stdio-tests (Depends-on): Add verify.
40757         * modules/stdlib-tests (Depends-on): Likewise.
40758         * modules/string-tests (Depends-on): Likewise.
40759         * modules/locale-tests (Depends-on): Likewise.
40760         * modules/unistd-tests (Depends-on): Likewise.
40761
40762 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
40763
40764         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
40765         self-explaining comment.
40766         * m4/selinux-selinux-h: Update serial.
40767         (gl_LIBSELINUX): New macro, adding a warning for missing development
40768         packages to code extracted from...
40769         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
40770         Add warning for missing development packages here, too.
40771
40772 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
40773
40774         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
40775
40776 2009-06-25  Eric Blake  <ebb9@byu.net>
40777
40778         version-etc: fix regression
40779         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
40780         gcc.
40781         (version_etc): Use it, to catch bugs with trailing NULL.
40782         * lib/version-etc.c (version_etc_arn): Delete unused argument.
40783         (version_etc_va): Fix logic bug.
40784         * modules/version-etc-tests: Add test.
40785         * tests/test-version-etc.c: New file.
40786         * tests/test-version-etc.sh: Likewise.
40787
40788 2009-06-25  Sam Steingold  <sds@gnu.org>
40789
40790         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
40791         mbtowc declaration.
40792
40793 2009-06-25  Eric Blake  <ebb9@byu.net>
40794
40795         fpurge: migrate into <stdio.h>
40796         * lib/fpurge.h: Delete...
40797         * lib/stdio.in.h (fpurge): ...and declare here, instead.
40798         * lib/fpurge.c (fpurge): Change declaring header.
40799         * modules/fpurge (Files): Drop deleted file.
40800         (Depends-on): Add stdio.
40801         (configure.ac): Set witness.
40802         * modules/stdio (Makefile.am): Support fpurge macros.
40803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40804         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
40805         * lib/fflush.c: Update client.
40806         * tests/test-fpurge.c: Likewise.
40807         * NEWS: Mention the change.
40808
40809 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40810
40811         * lib/argp-version-etc.c (program_authors): Add const
40812         qualifier.
40813         * lib/version-etc.c: Fix typos in the comments.
40814         * modules/argp-version-etc: Depends on version-etc.
40815
40816 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40817
40818         argp-version-etc: new module.
40819
40820         * lib/argp-version-etc.c: New file.
40821         * lib/argp-version-etc.h: New file.
40822         * modules/argp-version-etc: New file.
40823         * modules/argp-version-etc-tests: New file.
40824         * tests/test-argp-version-etc.c: New test.
40825         * tests/test-argp-version-etc-1.sh: New test.
40826
40827 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40828
40829         Provide additional interfaces and documentation for version-etc
40830         module.
40831
40832         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
40833         interfaces.
40834         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
40835         prototypes.
40836
40837 2009-06-24  Bruno Haible  <bruno@clisp.org>
40838
40839         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
40840         HAVE_LIB${NAME} macro.
40841         Reported by Sam Steingold <sds@gnu.org>.
40842
40843 2009-06-23  Simon Josefsson  <simon@josefsson.org>
40844
40845         * modules/hash-tests (test_hash_LDADD): Link to libintl when
40846         needed.
40847
40848 2009-06-21  Bruno Haible  <bruno@clisp.org>
40849
40850         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
40851         work.
40852         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
40853         together with LIB${NAME}, LTLIB${NAME}.
40854         Reported by Sam Steingold <sds@gnu.org>.
40855
40856 2009-06-20  Jim Meyering  <meyering@redhat.com>
40857
40858         tests: make sc_require_test_exit_idiom more generic
40859         * top/maint.mk (Exit_witness_file): New overridable variable.
40860         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
40861         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
40862
40863 2009-06-19  Jim Meyering  <meyering@redhat.com>
40864
40865         hash: reverse order of src/dst parameters in an internal interface
40866         * lib/hash.c (transfer_entries): Reverse order of parameters to
40867         put DST before SRC.  Adjust callers.
40868
40869         tests: test-hash: avoid wholesale duplication
40870         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
40871         Instead, use a loop and add a single conditional.
40872
40873         tests: test-hash: allow seed selection via a command line argument
40874         * tests/test-hash.c (get_seed): New function.
40875         (main): Use it.
40876
40877 2009-06-19  Eric Blake  <ebb9@byu.net>
40878
40879         hash: avoid memory leak on allocation failure
40880         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
40881         failure.  Factor repeated algorithm...
40882         (transfer_entries): ...into new helper routine.
40883         (hash_delete): React to hash_rehash return value.
40884
40885         hash: reduce memory pressure in hash_rehash no-op case
40886         * lib/hash.c (next_prime): Avoid overflow.
40887         (hash_initialize): Factor bucket size computation...
40888         (compute_bucket_size): ...into new helper function.
40889         (hash_rehash): Use new function and open coding to reduce memory
40890         pressure, and avoid a memory leak in USE_OBSTACK code.
40891         Reported by Jim Meyering.
40892
40893 2009-06-18  Eric Blake  <ebb9@byu.net>
40894
40895         hash: make rotation more obvious
40896         * modules/hash (Depends-on): Add bitrotate and stdint.
40897         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
40898         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
40899         (SIZE_MAX): Rely on headers for definition.
40900         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
40901         (raw_hasher): Use rotr_sz.
40902         Suggested by Jim Meyering.
40903
40904         hash: fix memory leak in last patch
40905         * lib/hash.c (hash_rehash): Avoid memory leak.
40906
40907         hash: avoid no-op rehashing
40908         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
40909
40910         hash: provide default callback functions
40911         * lib/hash.c (raw_hasher, raw_comparator): New functions.
40912         (hash_initialize): Use them as defaults.
40913         * tests/test-hash.c (main): Test this.
40914
40915         hash: minor optimization
40916         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
40917         when possible.
40918         (hash_initialize): Document this promise.
40919         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
40920         * tests/test-hash.c (hash_compare_strings): Test this.
40921
40922 2009-06-18  Bruno Haible  <bruno@clisp.org>
40923
40924         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
40925         going to be replaced anyway.
40926
40927 2009-06-18  Bruno Haible  <bruno@clisp.org>
40928
40929         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
40930         in one place.
40931         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
40932         be replaced anyway.
40933
40934 2009-06-18  Eric Blake  <ebb9@byu.net>
40935
40936         hash: check for resize before insertion
40937         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
40938         threshold before insertion, so that a pathological hash_rehash
40939         that fills every bucket can still trigger another rehash.
40940
40941 2009-06-18  Jim Meyering  <meyering@redhat.com>
40942
40943         hash-tests: add a loop around the small tests
40944         * tests/test-hash.c (main): Repeat small tests with selected
40945         small initial table sizes.
40946
40947 2009-06-17  Eric Blake  <ebb9@byu.net>
40948
40949         hash: minor cleanups
40950         * lib/hash.h (hash_entry): Make opaque, by moving...
40951         * lib/hash.c (hash_entry): ...here.
40952         (hash_insert): Clarify restrictions on what can be inserted.
40953         (hash_get_next): Clarify when it is safe to remove an element
40954         during traversal.
40955         (check_tuning): Skip verification when tuning is known safe.
40956         (hash_initialize): Clarify restrictions on tuning.
40957
40958 2009-06-17  Jim Meyering  <jim@meyering.net>
40959         and Eric Blake  <ebb9@byu.net>
40960
40961         hash-tests: new module
40962         * modules/hash-tests: New file.
40963         * tests/test-hash.c: New file.
40964
40965 2009-06-17  Eric Blake  <ebb9@byu.net>
40966
40967         strstr-simple: document new module
40968         * MODULES.html.sh: Document new module.
40969
40970         strstr, strcasestr: replace on platforms with broken memchr
40971         * modules/strstr: Split into...
40972         * modules/strstr-simple: ...new module that does not care about
40973         performance, but does care about glibc bug.
40974         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
40975         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
40976         if platform memchr is broken, per Debian bug 521737.
40977         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
40978         memchr.
40979         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
40980         * doc/posix-functions/strstr.texi (strstr): Document the fix.
40981         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40982         * modules/mountlist (Depends-on): Add strstr-simple.
40983         * modules/gen-uni-tables (Depends-on): Likewise.
40984         * modules/argz (Depends-on): Add strstr.
40985
40986 2009-06-17  Bruno Haible  <bruno@clisp.org>
40987
40988         * modules/posix_spawn-internal (Depends-on): Add errno.
40989
40990 2009-06-17  Bruno Haible  <bruno@clisp.org>
40991
40992         Define missing ESTALE on Interix 3.5.
40993         * lib/errno.in.h (ESTALE): Assign a value if missing.
40994         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
40995         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
40996         missing.
40997         * doc/posix-headers/errno.texi: Mention the Interix bug.
40998         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
40999
41000 2009-06-15  Eric Blake  <ebb9@byu.net>
41001
41002         memchr, memchr2: add valgrind exception
41003         * lib/memchr.valgrind: New file.
41004         * lib/memchr2.valgrind: New file.
41005         * modules/memchr (Files): Distribute valgrind file.
41006         * modules/memchr2 (Files): Likewise.
41007
41008         docs: memchr is no longer obsolete
41009         * MODULES.html.sh: Move memchr from obsolete to string.h section.
41010         * lib/string.in.h (memchr): Simplify logic.
41011
41012 2009-06-14  Jim Meyering  <meyering@redhat.com>
41013
41014         link-follow: fix the "checking..." message to not mention trailing slash
41015         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
41016         never considered trailing slashes.
41017
41018 2009-06-14  Bruno Haible  <bruno@clisp.org>
41019
41020         * m4/memchr.m4: Mention also the bug on IA-64.
41021         * doc/posix-functions/memchr.texi: Likewise.
41022
41023 2009-06-12  Eric Blake  <ebb9@byu.net>
41024
41025         memchr: detect broken x86_64 and alpha implementations
41026         * modules/memchr-tests (Depends-on): Move mmap detection...
41027         * modules/memchr (Depends-on): ...here.
41028         (configure.ac): Set indicator.
41029         * lib/string.in.h (memchr): Declare replacement.
41030         * modules/string (Makefile.am): Trigger replacement.
41031         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41032         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
41033         bugs.
41034         * doc/posix-functions/memchr.texi (memchr): Document the bug.
41035         * modules/getpagesize (License): Relax license.
41036
41037 2009-06-11  Bruno Haible  <bruno@clisp.org>
41038
41039         * lib/idpriv.h: Add more references.
41040
41041 2009-06-08  Bruno Haible  <bruno@clisp.org>
41042
41043         Tests for module 'idpriv-droptemp'.
41044         * modules/idpriv-droptemp-tests: New file.
41045         * tests/test-idpriv-droptemp.sh: New file.
41046         * tests/test-idpriv-droptemp.su.sh: New file.
41047         * tests/test-idpriv-droptemp.c: New file.
41048
41049         New module 'idpriv-droptemp'.
41050         * lib/idpriv-droptemp.c: New file.
41051         * modules/idpriv-droptemp: New file.
41052
41053 2009-06-08  Bruno Haible  <bruno@clisp.org>
41054
41055         Tests for module 'idpriv-drop'.
41056         * modules/idpriv-drop-tests: New file.
41057         * tests/test-idpriv-drop.sh: New file.
41058         * tests/test-idpriv-drop.su.sh: New file.
41059         * tests/test-idpriv-drop.c: New file.
41060
41061         New module 'idpriv-drop'.
41062         * lib/idpriv.h: New file.
41063         * lib-idpriv-drop.c: New file.
41064         * m4/idpriv.m4: New file.
41065         * modules/idpriv-drop: New file.
41066
41067 2009-06-08  Bruno Haible  <bruno@clisp.org>
41068
41069         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
41070         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41071         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41072         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41073         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41074         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41075         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41076
41077 2009-06-08  Eric Blake  <ebb9@byu.net>
41078
41079         test-strstr: use memory fence, when possible
41080         * tests/test-strstr.c (main): Use memory fence, in order to be
41081         more likely to trigger Debian bug 521737.
41082         * modules/strstr-tests (Files): Pull in additional files.
41083
41084         memchr: no longer obsolete, for wider field testing
41085         * modules/memchr (Status, Notice): Delete, this module is no
41086         longer obsolete.
41087         * modules/vasnprintf (Depends-on): Add memchr.
41088
41089 2009-06-07  Jim Meyering  <meyering@redhat.com>
41090
41091         hash: declare some functions with the warn_unused_result attribute
41092         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
41093
41094 2009-06-07  Bruno Haible  <bruno@clisp.org>
41095
41096         * tests/test-alignof.c: Don't test int64_t if it does not exist.
41097         Reported by Eric Blake.
41098
41099 2009-06-06  Eric Blake  <ebb9@byu.net>
41100
41101         test-alignof: fix typo with long double
41102         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
41103         compiler error.
41104
41105 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
41106
41107         Escape non-texinfo { and }s.
41108         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
41109         markup error.
41110
41111 2009-06-04  Jim Meyering  <meyering@redhat.com>
41112
41113         gitlog-to-changelog: don't infloop on an empty commit log
41114         * build-aux/gitlog-to-changelog: Warn about an empty log message.
41115         Reported by Boris Petersen <transacid@centerim.org>.
41116
41117 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
41118
41119         version-etc: extend for packagers
41120         Add three new configure options, intended for packagers:
41121           --with-packager="packager name"
41122           --with-packager-version="packager-specific version"
41123           --with-packager-bug-reports="packager bug reporting"
41124         An example with coreutils:
41125           $ ./configure \
41126             --with-packager=Gentoo \
41127             --with-packager-bug-report=http://bugs.gentoo.org/ \
41128             --with-packager-version="patchset 1.6"
41129           $ ./src/ls --version | head -n2
41130           ls (GNU coreutils) 7.1-dirty
41131           Packaged by Gentoo (patchset 1.6)
41132         Note that the bug reporting info via --help doesn't show up because
41133         coreutils uses its own custom emit_bug_reporting_address() implementation
41134         in src/system.h.  If it didn't, it'd look like:
41135           $ ./src/ls --help | tail -n4
41136           Report bugs to <bug-coreutils@gnu.org>.
41137           Report Gentoo bugs to <http://bugs.gentoo.org/>.
41138           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
41139           General help using GNU software: <http://www.gnu.org/gethelp/>.
41140         * lib/version-etc.c: Print new information, if provided.
41141         * m4/version-etc.m4: New file.
41142         * modules/version-etc (Files): Add m4/version-etc.m4.
41143         (configure.ac): Add gl_VERSION_ETC.
41144
41145 2009-05-31  Bruno Haible  <bruno@clisp.org>
41146
41147         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
41148         and 'int64_t'.
41149         * modules/alignof-tests (Dependencies): Add stdint.
41150         Reported by Eric Blake.
41151
41152 2009-05-31  Bruno Haible  <bruno@clisp.org>
41153
41154         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
41155         restriction due to compiler bugs.
41156         Reported by Eric Blake.
41157
41158 2009-05-31  Simon Josefsson  <simon@josefsson.org>
41159             Bruno Haible  <bruno@clisp.org>
41160
41161         Fix test-alignof failure.
41162         * lib/alignof.h (alignof_slot): New macro.
41163         (alignof_type): New macro, with the same semantics as the previous
41164         'alignof'.
41165         (alignof): Alias to alignof_slot.
41166         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
41167         check that the results are usable as constant expressions.
41168
41169 2009-05-31  Bruno Haible  <bruno@clisp.org>
41170
41171         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
41172         * tests/test-memchr.c (main): Check that memchr does not read past the
41173         first occurrence of the byte.
41174         * tests/test-strstr.c (main): Update comment.
41175         Suggested by Eric Blake.
41176
41177 2009-05-30  Bruno Haible  <bruno@clisp.org>
41178
41179         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
41180         detail how to use dumpbin.
41181         Reported by David Byron <dbyron@dbyron.com>.
41182
41183 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41184
41185         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
41186
41187 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41188
41189         * m4/manywarnings.m4: Add GCC 4.4 warnings.
41190
41191 2009-05-28  Bruno Haible  <bruno@clisp.org>
41192
41193         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
41194         build-aux/ files.
41195
41196 2009-05-28  Simon Josefsson  <simon@josefsson.org>
41197
41198         * gnulib-tool (func_import): Transform license on build-aux/ files too.
41199
41200 2009-05-27  Simon Josefsson  <simon@josefsson.org>
41201
41202         * gnulib-tool (sed_transform_main_lib_file)
41203         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
41204         regexps.
41205
41206 2009-05-26  Simon Josefsson  <simon@josefsson.org>
41207
41208         * tests/test-strstr.c: Add another self-test.
41209         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
41210         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
41211
41212 2009-05-23  Bruno Haible  <bruno@clisp.org>
41213
41214         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
41215         change.
41216
41217 2009-05-21  Bruno Haible  <bruno@clisp.org>
41218
41219         Simplify use of mode_t varargs.
41220         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
41221         uses 'mode_t' or 'int'.
41222         * lib/openat.c (openat): Likewise.
41223         * lib/open-safer.c (open_safer): Likewise.
41224         * m4/mode_t.m4: New file.
41225         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
41226         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
41227         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
41228         * modules/open (Files): Add m4/mode_t.m4.
41229         * modules/openat (Files): Likewise.
41230         * modules/fcntl-safer (Files): Likewise.
41231         Suggested by Eric Blake.
41232
41233 2009-05-21  Pádraig Brady  <P@draigbrady.com>
41234
41235         * doc/glibc-functions/fallocate.texi: New file.
41236         * doc/gnulib.texi: Include it.
41237
41238 2009-05-21  Eric Blake  <ebb9@byu.net>
41239             Bruno Haible  <bruno@clisp.org>
41240
41241         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
41242         invocations.
41243         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41244
41245 2009-05-21  Eric Blake  <ebb9@byu.net>
41246             Bruno Haible  <bruno@clisp.org>
41247
41248         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
41249         include_next. Fix of 2008-11-20 commit.
41250         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
41251         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
41252         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
41253         NEXT_MATH_H.
41254         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
41255         instead of NEXT_MATH_H.
41256
41257 2009-05-21  Bruno Haible  <bruno@clisp.org>
41258
41259         Avoid redefinition warnings for SIZE_MAX.
41260         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
41261         Reported by Simon Josefsson.
41262
41263 2009-05-21  Bruno Haible  <bruno@clisp.org>
41264
41265         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
41266         AC_CACHE_VAL.
41267
41268 2009-05-20  Bruno Haible  <bruno@clisp.org>
41269
41270         Make zeroptr.h work on mingw.
41271         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
41272         mprotect.
41273         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
41274         * modules/memchr2-tests (configure.ac): Likewise.
41275         * modules/memcmp-tests (configure.ac): Likewise.
41276         * modules/memmem-tests (configure.ac): Likewise.
41277         * modules/memrchr-tests (configure.ac): Likewise.
41278         Reported by Simon Josefsson.
41279
41280 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41281
41282         * tests/test-glob.c: Include string.h for strcmp prototype.
41283
41284 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41285
41286         * modules/getdelim (Depends-on): Add explicit stdint, although it
41287         was implicitly already pulled in via realloc-posix.
41288         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
41289
41290 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41291
41292         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
41293         G. Christensen" <tgc@jupiterrise.com>.
41294         * m4/sys_socket_h.m4: Check for sa_family_t.
41295         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
41296         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
41297         * tests/test-sys_socket.c: Check that sa_family_t works.
41298
41299 2009-05-18  Eric Blake  <ebb9@byu.net>
41300
41301         maint.mk: allow gnulib_dir in VPATH build
41302         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
41303
41304 2009-05-15  Jim Meyering  <meyering@redhat.com>
41305
41306         maint.mk: Give gnulib_dir a default definition.
41307         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
41308         Thus, most packages no longer need to specify this variable in cfg.mk
41309
41310 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
41311
41312         rename.m4: fix typos that would make non-mingw cross-configure fail
41313         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
41314
41315 2009-05-13  Eric Blake  <ebb9@byu.net>
41316
41317         mmap-anon: avoid out-of-order autoconf expansion
41318         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
41319         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
41320         * modules/memchr-tests (Depends-on): Add extensions.
41321         * modules/memchr2-tests (Depends-on): Add extensions.
41322         * modules/memcmp-tests (Depends-on): Add extensions.
41323         * modules/memmem-tests (Depends-on): Add extensions.
41324         * modules/memrchr-tests (Depends-on): Add extensions.
41325
41326 2009-05-13  Bruno Haible  <bruno@clisp.org>
41327
41328         Make some tests ISO C 99 compliant.
41329         * tests/zerosize-ptr.h: New file.
41330         * tests/test-memchr.c: Include zerosize-ptr.h.
41331         (main): Use a zero-size object pointer instead of NULL.
41332         * tests/test-memchr2.c: Include zerosize-ptr.h.
41333         (main): Use a zero-size object pointer instead of NULL.
41334         * tests/test-memcmp.c: Include zerosize-ptr.h.
41335         (main): Use a zero-size object pointer instead of NULL.
41336         * tests/test-memmem.c: Include zerosize-ptr.h.
41337         (main): Use a zero-size object pointer instead of NULL.
41338         * tests/test-memrchr.c: Include zerosize-ptr.h.
41339         (main): Use a zero-size object pointer instead of NULL.
41340         * modules/memchr-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/memchr2-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/memcmp-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/memmem-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         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
41357         m4/mmap-anon.m4.
41358         (Depends-on): Add getpagesize.
41359         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41360
41361 2009-05-12  Bruno Haible  <bruno@clisp.org>
41362
41363         Tests for module 'alignof'.
41364         * modules/alignof-tests: New file.
41365         * tests/test-alignof.c: New file.
41366
41367 2009-05-12  Bruno Haible  <bruno@clisp.org>
41368
41369         Fix alignof macro.
41370         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
41371         vendor compilers that are always correct.
41372
41373 2009-05-12  Bruno Haible  <bruno@clisp.org>
41374
41375         Make the MAP_ANONYMOUS detection work on HP-UX 11.
41376         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
41377         not whether its fully works.
41378
41379 2009-05-12  Bruno Haible  <bruno@clisp.org>
41380
41381         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
41382
41383 2009-05-12  Jim Meyering  <meyering@redhat.com>
41384
41385         * top/maint.mk: Adjust backslash alignment.
41386
41387 2009-05-11  Simon Josefsson  <simon@josefsson.org>
41388
41389         * top/maint.mk: Make $(srcdir)/build-aux configurable.
41390
41391 2009-05-11  Eric Blake  <ebb9@byu.net>
41392
41393         argp: avoid undefined behavior
41394         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
41395         macros.
41396
41397 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41398
41399         * tests/test-vc-list-files-git.sh: Do git config of user.email and
41400         user.name to prevent git commit from complaining.
41401
41402 2009-05-10  Bruno Haible  <bruno@clisp.org>
41403
41404         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
41405         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
41406         it rewrites every file name only once.
41407         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
41408
41409 2009-05-08  Bruno Haible  <bruno@clisp.org>
41410
41411         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
41412         instead of 'max'.
41413
41414 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41415
41416         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
41417         sockaddr_storage test.
41418
41419 2009-05-07  Simon Josefsson  <simon@josefsson.org>
41420
41421         * modules/sys_socket (Makefile.am): Substitute
41422         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
41423         * m4/sys_socket_h.m4: Check for sockaddr_storage.
41424         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
41425         * tests/test-sys_socket.c: Check sockaddr_storage.
41426
41427 2009-05-08  Bruno Haible  <bruno@clisp.org>
41428
41429         New module 'alignof'.
41430         * lib/alignof.h: New file.
41431         * modules/alignof: New file.
41432
41433 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41434             Bruno Haible  <bruno@clisp.org>
41435
41436         Fix test-file-has-acl on FreeBSD.
41437         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
41438         mask is implicitly added.
41439         * tests/test-file-has-acl.c: Include <signal.h>.
41440         (main): Terminate the test after 5 seconds.
41441         * modules/acl-tests (configure.ac): Check for alarm function.
41442
41443 2009-05-04  Bruno Haible  <bruno@clisp.org>
41444
41445         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
41446         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
41447         * modules/errno (configure.ac): Drop AC_REQUIRE.
41448         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
41449         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
41450
41451 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41452
41453         * modules/glob-tests: New module.
41454         * tests/test-glob.c: Add.
41455
41456 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41457
41458         * modules/fnmatch-tests: New module.
41459         * tests/test-fnmatch.c: Add.
41460
41461 2009-05-04  Eric Blake  <ebb9@byu.net>
41462
41463         maint: make the new no-submodule-changes rule VPATH-safe
41464         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
41465
41466 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41467             Bruno Haible  <bruno@clisp.org>
41468
41469         acl: Fix infinite loop on FreeBSD.
41470         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
41471         of return value from acl_get_entry.
41472         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
41473         Likewise.
41474
41475 2009-05-03  Bruno Haible  <bruno@clisp.org>
41476
41477         * lib/acl-internal.h (acl_entries): Clarify return value.
41478         * lib/acl_entries.c (acl_entries): Likewise.
41479
41480 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41481
41482         Bug fix in acl module.
41483         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
41484
41485 2009-05-03  Bruno Haible  <bruno@clisp.org>
41486
41487         Create gperf-generated file in the source dir, not in the build dir.
41488         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
41489         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
41490         * modules/unicase/locale-language (unicase/locale-languages.h):
41491         Likewise.
41492         * modules/unicase/special-casing (unicase/special-casing-table.h):
41493         Likewise.
41494         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
41495         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
41496         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
41497         Reported by Ralf Wildenhues.
41498
41499 2009-05-03  Bruno Haible  <bruno@clisp.org>
41500
41501         * modules/fnmatch (Description, configure.ac): Taken from
41502         fnmatch-posix.
41503         * modules/fnmatch-posix: Turn into a symbolic reference to the
41504         'fnmatch' module, and deprecate.
41505         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
41506
41507 2009-05-03  Bruno Haible  <bruno@clisp.org>
41508
41509         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
41510         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
41511         Reported by Ralf Wildenhues.
41512
41513 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41514
41515         * m4/fnmatch.m4: Fix fnmatch re-define.
41516
41517 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41518
41519         priv-set: new module and tests; adapt write-any-file
41520         * lib/priv-set.c: New file.
41521         * lib/priv-set.h: New file.
41522         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
41523         * lib/write-any-file.c: Simplify by using priv-set module.
41524         * m4/priv-set.m4: New file.
41525         * modules/priv-set: New file.
41526         * modules/unlinkdir: Add dependency on priv-set module.
41527         * modules/write-any-file: Likewise.
41528
41529         Tests for module 'priv-set'.
41530         * modules/priv-set-tests: New file.
41531         * tests/test-priv-set.c: New file.
41532
41533 2009-05-03  Jim Meyering  <meyering@redhat.com>
41534             Bruno Haible  <bruno@clisp.org>
41535
41536         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
41537         use the converted UTF-8 variant of the name instead.
41538
41539 2009-05-03  Jim Meyering  <meyering@redhat.com>
41540
41541         tests: tighten some getdate tests
41542         * tests/test-getdate.c (main): Tighten tests: require equality,
41543         not just greater than.  Set TZ envvar to UTC0.
41544
41545 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
41546
41547         getdate: correctly interpret "next monday" when run on a Monday
41548         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
41549         that e.g., "next tues" (when run on a tuesday) results in a date
41550         that is one week in the future, and not today's date.
41551         I.e., add a week when the wday is the same as the current one.
41552         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
41553         and earlier by Martin Bernreuther and Jan Minář.
41554         * tests/test-getdate.c (main): Check that "next DAY" is always in
41555         the future and that "last DAY" is always in the past.
41556
41557 2009-05-02  Jim Meyering  <meyering@redhat.com>
41558
41559         build: ensure that a release build fails when a submodule is unclean
41560         * top/maint.mk (no-submodule-changes): New rule.
41561         (alpha beta major): Depend on it.
41562
41563 2009-05-02  Bruno Haible  <bruno@clisp.org>
41564
41565         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
41566         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
41567         shell variable gl_fnmatch_required to detect which variant is
41568         requested.
41569         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
41570         gl_FUNC_FNMATCH_POSIX.
41571         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
41572         exclude fnmatch-posix.
41573
41574 2009-05-02  Bruno Haible  <bruno@clisp.org>
41575
41576         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
41577         * modules/mbsrtowcs (License): Change to LGPLv2+.
41578         * modules/strnlen1 (License): Likewise.
41579         Reported by Simon Josefsson.
41580
41581 2009-05-02  Bruno Haible  <bruno@clisp.org>
41582
41583         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
41584         "cross".
41585         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
41586         gnulib-tool was called with option --source-base=lib.
41587
41588 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41589
41590         Use automake *-local hooks without commands, for extensibility.
41591         * modules/localcharset (Makefile.am): Rename install-exec-local
41592         rule to install-exec-localcharset, and make it a prerequisite of
41593         install-exec-local.  Likewise, rename the uninstall-local rule to
41594         uninstall-localcharset, and make it a prerequisite of the former.
41595
41596 2009-05-01  Bruno Haible  <bruno@clisp.org>
41597
41598         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
41599         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41600         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
41601         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
41602         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
41603         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41604         m4/locale-zh.m4, m4/codeset.m4.
41605
41606         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41607         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
41608         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41609         m4/locale-zh.m4.
41610
41611         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
41612         REPLACE_WCRTOMB if mbstate_t must be replaced.
41613         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
41614         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
41615
41616 2009-05-01  Bruno Haible  <bruno@clisp.org>
41617
41618         Avoid compiler warnings when redefining macros defined by <libintl.h>.
41619         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
41620         dngettext, dcngettext, textdomain, bindtextdomain,
41621         bind_textdomain_codeset): Undefine before redefining.
41622
41623 2009-04-30  Bruno Haible  <bruno@clisp.org>
41624
41625         Fix bug introduced on 2009-04-25.
41626         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
41627         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
41628         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
41629         is defined.
41630         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
41631         is defined.
41632         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
41633         is defined.
41634         Reported by Elbert_Pol <elbert.pol@gmail.com>.
41635
41636 2009-04-28  Bruno Haible  <bruno@clisp.org>
41637
41638         Comment tweaks.
41639         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
41640         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
41641         * lib/unicase.h (u*_casexfrm): Likewise.
41642         Reported by Paolo Bonzini.
41643
41644 2009-04-28  Bruno Haible  <bruno@clisp.org>
41645
41646         Fix a compilation error.
41647         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
41648         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41649         Reported by Jim Meyering.
41650
41651 2009-04-27  Bruno Haible  <bruno@clisp.org>
41652
41653         New module 'libunistring'.
41654         * modules/libunistring: New file.
41655         * m4/libunistring.m4: New file.
41656         * MODULES.html.sh (Unicode string functions): Add it.
41657
41658 2009-04-27  Eric Blake  <ebb9@byu.net>
41659
41660         maint.mk: allow package-specific header to provide <config.h>
41661         * top/maint.mk (sc_require_config_h): New variable.
41662         (sc_require_config_h, sc_require_config_h_first): Use it.
41663
41664 2009-04-27  Simon Josefsson  <simon@josefsson.org>
41665
41666         * top/maint.mk (sc_avoid_if_before_free): Except
41667         useless-if-before-free script.
41668
41669 2009-04-27  Eric Blake  <ebb9@byu.net>
41670
41671         maintainer-makefile: depend on all required helper scripts
41672         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
41673         useless-if-before-free.
41674         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
41675         version, rather than assuming gnulib checkout is available.
41676         Reported by Simen Josefsson.
41677
41678 2009-04-26  Bruno Haible  <bruno@clisp.org>
41679
41680         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
41681         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
41682         "../" or "..".
41683
41684 2009-04-26  Bruno Haible  <bruno@clisp.org>
41685
41686         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
41687         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
41688         AC_LIB_HAVE_LINKFLAGS.
41689
41690 2009-04-26  Bruno Haible  <bruno@clisp.org>
41691
41692         Simplify calling convention of u*_conv_from_encoding.
41693         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
41694         u32_conv_from_encoding): Expect a resultbuf argument and return the
41695         result directly as a pointer.
41696         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
41697         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
41698         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
41699         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
41700         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
41701         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41702         Update.
41703         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
41704         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
41705         * lib/vasnprintf.c (VASNPRINTF): Update.
41706         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
41707         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
41708         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
41709         * NEWS: Mention the change.
41710
41711 2009-04-26  Bruno Haible  <bruno@clisp.org>
41712
41713         Simplify calling convention of u*_conv_to_encoding.
41714         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41715         u32_conv_to_encoding): Expect a resultbuf argument and return the
41716         result directly as a pointer.
41717         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41718         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
41719         freeing scaled_offsets if mem_iconveha failed.
41720         * lib/unicase/u-casexfrm.h (FUNC): Update.
41721         * lib/uninorm/u-normxfrm.h (FUNC): Update.
41722         * lib/vasnprintf.c (VASNPRINTF): Update.
41723         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
41724         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
41725         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
41726         * NEWS: Mention the change.
41727
41728 2009-04-26  Bruno Haible  <bruno@clisp.org>
41729
41730         Avoid test failures on AIX and OSF/1.
41731         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
41732         malloc(0).
41733         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41734         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41735         Likewise.
41736         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
41737         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
41738         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
41739         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
41740         * doc/posix-functions/malloc.texi: Document the portability problem
41741         related to malloc(0).
41742
41743 2009-04-26  Bruno Haible  <bruno@clisp.org>
41744
41745         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
41746         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
41747         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
41748
41749 2009-04-25  Bruno Haible  <bruno@clisp.org>
41750
41751         Avoid link error when creating a namespace clean library.
41752         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
41753         as macro with arguments if already defined as an alias.
41754         * lib/signbitf.c (gl_signbitf): Don't undefine.
41755         * lib/signbitd.c (gl_signbitd): Don't undefine.
41756         * lib/signbitl.c (gl_signbitl): Don't undefine.
41757
41758 2009-04-25  Jim Meyering  <meyering@redhat.com>
41759
41760         vc-list-files: fix another quoting bug
41761         * build-aux/vc-list-files: Avoid sed backslash expansion
41762         of pathological directory names.
41763
41764 2009-04-25  Eric Blake  <ebb9@byu.net>
41765
41766         vc-list-files: fix shell quoting error
41767         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
41768         timestamp.
41769
41770 2009-04-25  Jim Meyering  <meyering@redhat.com>
41771
41772         vc-list-files: restore lost functionality with subdir argument
41773         * build-aux/vc-list-files: When given a non-"." sub-directory
41774         argument, substitute the $dir/ prefix back onto each resulting name.
41775         Otherwise, coreutils' root_tests check would fail.
41776
41777 2009-04-24  Eric Blake  <ebb9@byu.net>
41778
41779         vc-list-files: ignore git symlinks
41780         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
41781         than ls-files, to ignore git symlinks.
41782
41783         maint.mk: import improvements from m4
41784         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
41785         (move_if_change): Delete unused macro.
41786         (news-date-check, vc-diff-check): Support VPATH builds.
41787         (announcement): Likewise.  Split --bootstrap-tools list...
41788         (boostrap-tools): ...into separate list, which can be overridden
41789         in cfg.mk.
41790         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
41791         requiring dependency on useless-if-before-free module.
41792         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
41793         Support VPATH builds.
41794
41795 2009-04-24  Jim Meyering  <meyering@redhat.com>
41796
41797         maint.mk: remove coreutils-specific rules and variables
41798         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
41799         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
41800         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
41801
41802         maint.mk: remove obsolete rule
41803         * top/maint.mk (rel-check): Remove rule.
41804         (WGET, WGETFLAGS): Remove now-unused variables.
41805
41806 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41807
41808         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
41809         consistency.
41810
41811         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
41812         '$(PATH_SEPARATOR)' instead of ':'.
41813
41814 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41815
41816         * lib/getopt1.c (main): Use 'const' for static array.
41817
41818 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41819
41820         * top/maint.mk: Sync with coreutils.
41821         * NEWS: Explain incompatibilities.
41822
41823 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41824             Bruno Haible  <bruno@clisp.org>
41825
41826         Fix cross-compilation results.
41827         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
41828         statement, as third argument of AC_TRY_RUN.
41829         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
41830         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
41831         Likewise.
41832         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41833         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
41834         Likewise.
41835         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
41836         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
41837         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
41838
41839 2009-04-20  Bruno Haible  <bruno@clisp.org>
41840
41841         Avoid test failure on mingw.
41842         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
41843
41844 2009-04-20  Bruno Haible  <bruno@clisp.org>
41845
41846         Avoid compilation error on mingw.
41847         * modules/localename-tests (Depends-on): Add locale.
41848
41849 2009-04-19  Bruno Haible  <bruno@clisp.org>
41850
41851         Support for building a shared library on Windows platforms.
41852         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
41853         (main): Test the presence of UNINORM_NFC here.
41854         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
41855         (main): Test the presence of UNINORM_NFD here.
41856         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
41857         (main): Test the presence of UNINORM_NFKC here.
41858         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
41859         (main): Test the presence of UNINORM_NFKD here.
41860
41861 2009-04-19  Bruno Haible  <bruno@clisp.org>
41862
41863         Avoid a compiler warning.
41864         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
41865         Change type of variable 'sequence'.
41866
41867 2009-04-19  Bruno Haible  <bruno@clisp.org>
41868
41869         * modules/configmake (Makefile.am): When the contents of configmake.h
41870         does not change, arrange to preserve its modification time.
41871
41872 2009-04-17  Simon Josefsson  <simon@josefsson.org>
41873
41874         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
41875         gettext domain.
41876
41877 2009-04-16  Jim Meyering  <meyering@redhat.com>
41878
41879         useless-if-before-free: improve conversion code
41880         * build-aux/useless-if-before-free: Adjust code-in-comment to match
41881         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
41882
41883 2009-04-14  Bruno Haible  <bruno@clisp.org>
41884
41885         * modules/fcntl (Depends-on): Add extensions.
41886         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
41887
41888 2009-04-12  Ben Pfaff  <blp@gnu.org>
41889
41890         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
41891         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
41892
41893 2009-03-20  Ben Pfaff  <blp@gnu.org>
41894
41895         Make rename replace existing destinations on Windows.
41896         * m4/rename.m4: Add test for Mingw.
41897         * lib/rename.c: Add rename replacement that uses MoveFileEx with
41898         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
41899         * doc/posix-functions/rename.texi: Document.
41900
41901 2009-04-10  Bruno Haible  <bruno@clisp.org>
41902
41903         New include file "iconveh.h".
41904         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
41905         * lib/striconveh.h: Include it.
41906         (enum iconv_ilseq_handler): Remove definition.
41907         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
41908         striconveh.h.
41909         * lib/striconveha.c: Include striconveh.h.
41910         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
41911         * modules/striconveh (Files): Add lib/iconveh.h.
41912         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
41913         lib/striconveh.h.
41914
41915 2009-04-10  Bruno Haible  <bruno@clisp.org>
41916
41917         * lib/uniconv.h: Update comment.
41918
41919 2009-04-10  Bruno Haible  <bruno@clisp.org>
41920
41921         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
41922         always.
41923         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
41924         * lib/unistr/u16-mbtouc-aux.c: Likewise.
41925         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
41926         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
41927         "unistring-notinline.h", so that the function gets defined always.
41928         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
41929         * lib/unistr/u8-uctomb.c: Likewise.
41930         * lib/unistr/u16-mbtouc.c: Likewise.
41931         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
41932         * lib/unistr/u16-uctomb.c: Likewise.
41933         * lib/unistr/u32-mbtouc.c: Likewise.
41934         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
41935         * lib/unistr/u32-uctomb.c: Likewise.
41936
41937 2009-04-10  Bruno Haible  <bruno@clisp.org>
41938
41939         Mark 'utime' obsolete.
41940         * modules/utime (Status, Notice): New sections.
41941         Suggested by Jim Meyering.
41942
41943         Fix cross-compile guess for utime test.
41944         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
41945         autoconf.
41946         * doc/posix-functions/utime.texi: Give more precisions.
41947         Reported by Jan <ipif@ymail.com>.
41948
41949 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
41950
41951         filevercmp: correct today's change
41952         * lib/filevercmp.c: Also handle coreutils' test inputs.
41953         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
41954
41955         Fix regression in 'filevercmp' module. Thanks Sven Joachim
41956         for reporting it.
41957         * lib/filevercmp.c: Special handle for "", "." and "..".
41958         * tests/test-filevercmp.c: Enlarge the set suite.
41959
41960 2009-04-07  Jim Meyering  <meyering@redhat.com>
41961
41962         useless-if-before-free: show how to remove braced useless free, too
41963         * build-aux/useless-if-before-free: still only in a comment, though.
41964
41965 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
41966
41967         maint.mk: import changes to syntax-check macros from coreutils
41968         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
41969         Use them in the relevant macros.
41970
41971 2009-04-06  Bruno Haible  <bruno@clisp.org>
41972
41973         Fix unportable use of bit-fields.
41974         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
41975         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
41976         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
41977
41978 2009-04-06  Bruno Haible  <bruno@clisp.org>
41979
41980         Avoid test failures on AIX and OSF/1.
41981         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
41982         that malloc(0) = NULL.
41983         * tests/unicase/test-u8-tolower.c (check): Likewise.
41984         * tests/unicase/test-u8-totitle.c (check): Likewise.
41985         * tests/unicase/test-u8-toupper.c (check): Likewise.
41986         * tests/unicase/test-u16-casefold.c (check): Likewise.
41987         * tests/unicase/test-u16-tolower.c (check): Likewise.
41988         * tests/unicase/test-u16-totitle.c (check): Likewise.
41989         * tests/unicase/test-u16-toupper.c (check): Likewise.
41990         * tests/unicase/test-u32-casefold.c (check): Likewise.
41991         * tests/unicase/test-u32-tolower.c (check): Likewise.
41992         * tests/unicase/test-u32-totitle.c (check): Likewise.
41993         * tests/unicase/test-u32-toupper.c (check): Likewise.
41994         * tests/uninorm/test-u8-nfc.c (check): Likewise.
41995         * tests/uninorm/test-u8-nfd.c (check): Likewise.
41996         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
41997         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
41998         * tests/uninorm/test-u16-nfc.c (check): Likewise.
41999         * tests/uninorm/test-u16-nfd.c (check): Likewise.
42000         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
42001         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
42002         * tests/uninorm/test-u32-nfc.c (check): Likewise.
42003         * tests/uninorm/test-u32-nfd.c (check): Likewise.
42004         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
42005         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
42006
42007 2009-04-05  Bruno Haible  <bruno@clisp.org>
42008
42009         Work around an autoconf limitation.
42010         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
42011         comment line if it would be longer than 3 KB.
42012
42013 2009-04-05  Bruno Haible  <bruno@clisp.org>
42014
42015         Avoid test failure with libiconv-1.13.
42016         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
42017         of the expected test results.
42018
42019 2009-04-05  Bruno Haible  <bruno@clisp.org>
42020
42021         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
42022         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
42023         that it should be installed.
42024
42025 2009-04-05  Bruno Haible  <bruno@clisp.org>
42026
42027         * gnulib-tool: New option --copy-file.
42028         (func_usage): Document it.
42029         (func_dest_tmpfilename): Moved out of func_import.
42030         (func_add_file, func_update_file): New functions, extracted from
42031         func_import.
42032         (func_import): Update.
42033
42034 2009-04-05  Karl Berry  <karl@gnu.org>
42035
42036         * README: prominently mention gnulib-tool.
42037         Rearrange sections so getting the code is near the top.
42038
42039 2009-04-05  Bruno Haible  <bruno@clisp.org>
42040
42041         * lib/unicase.h: Mention u*_cmp2.
42042         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42043         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
42044         * lib/unicase/ulc-casecmp.c: Likewise.
42045         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
42046         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
42047         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
42048         unistr/u8-cmp.
42049         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
42050         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
42051         unistr/u16-cmp.
42052         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
42053         unistr/u32-cmp.
42054
42055         * lib/uninorm.h: Mention u*_cmp2.
42056         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42057         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
42058         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
42059         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
42060         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
42061         unistr/u8-cmp.
42062         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
42063         unistr/u16-cmp.
42064         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
42065         unistr/u32-cmp.
42066
42067         New module 'unistr/u32-cmp2'.
42068         * lib/unistr/u32-cmp2.c: New file.
42069         * modules/unistr/u32-cmp2: New file.
42070
42071         New module 'unistr/u16-cmp2'.
42072         * lib/unistr/u16-cmp2.c: New file.
42073         * modules/unistr/u16-cmp2: New file.
42074
42075         New module 'unistr/u8-cmp2'.
42076         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
42077         * lib/unistr/u8-cmp2.c: New file.
42078         * lib/unistr/u-cmp2.h: New file.
42079         * modules/unistr/u8-cmp2: New file.
42080
42081 2009-04-05  Bruno Haible  <bruno@clisp.org>
42082
42083         * lib/unictype.h (uc_property_is_valid): New macro.
42084         * tests/unictype/test-pr_byname.c (main): Use it.
42085
42086         * lib/unistr.h: Doc fixes.
42087         * lib/uniconv.h: Doc fixes.
42088         * lib/unictype.h: Doc fixes.
42089
42090 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42091
42092         Port coreutils 7.2 to Solaris 8.
42093
42094         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
42095         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
42096         for Solaris 8.  This is a bit of a hack, as it means it's the
42097         caller's responsibility to add -lnsl if needed, but most likely it
42098         won't be needed since only getaddrinfo uses this and getaddrinfo
42099         isn't needed on Solaris 8.
42100
42101         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
42102         problem to Solaris 8 encountered with coreutils 7.2, which
42103         resulted in a message "fnmatch.c:292: warning: passing argument 4
42104         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
42105         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
42106
42107 2009-04-03  Simon Josefsson  <simon@josefsson.org>
42108
42109         * m4/ld-version-script.m4: Add FIXME comment.
42110
42111 2009-04-02  Simon Josefsson  <simon@josefsson.org>
42112
42113         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
42114         SOVERSION variable.
42115
42116 2009-04-02  Bruno Haible  <bruno@clisp.org>
42117
42118         * Makefile (info, html, dvi, pdf): Combine the rules.
42119         Suggested by Jim Meyering.
42120
42121 2009-04-01  Bruno Haible  <bruno@clisp.org>
42122
42123         * Makefile (info, html, dvi, pdf): New targets.
42124         Reported by Reuben Thomas <rrt@sc3d.org>.
42125
42126 2009-04-01  Bruno Haible  <bruno@clisp.org>
42127
42128         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
42129         can be put into PATH.
42130         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
42131
42132 2009-04-01  Bruno Haible  <bruno@clisp.org>
42133
42134         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
42135
42136 2009-04-01  Bruno Haible  <bruno@clisp.org>
42137
42138         Rename module 'visibility'.
42139         * modules/lib-symbol-visibility: Renamed from modules/visibility.
42140         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
42141         * doc/gnulib.texi: Update.
42142         * MODULES.html.sh (Misc): Update.
42143         * NEWS: Mention the change.
42144
42145 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42146
42147         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
42148         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
42149         Eric Blake <ebb9@byu.net> for review.
42150         * MODULES.html.sh: Add lib-msvc-compat.
42151         * doc/gnulib.texi: Link to new section.
42152         * m4/ld-output-def.m4: New file.
42153         * doc/ld-output-def.texi: New file.
42154
42155 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42156
42157         Rename ld-version-script to lib-symbol-versions.  Suggested by
42158         Bruno Haible <bruno@clisp.org>.
42159         * modules/ld-version-script: Renamed to lib-symbol-versions.
42160         * doc/ld-version-script.texi: Fix module name.
42161         * MODULES.html.sh: Add lib-symbol-versions.
42162
42163 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42164
42165         * modules/u64-tests: New file.
42166         * tests/test-u64.c: New file.
42167
42168 2009-03-04  Simon Josefsson  <simon@josefsson.org>
42169
42170         * MODULES.html.sh: Mention u64.
42171         * modules/u64: New module.
42172         * modules/crypto/sha512: Depend on u64 module instead of providing
42173         u64.h.
42174
42175 2009-03-27  Eric Blake  <ebb9@byu.net>
42176
42177         test-strerror: make debugging EAI_SYSTEM easier
42178         * modules/getaddrinfo-tests (Depends-on): Add strerror.
42179         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
42180         failure was EAI_SYSTEM.
42181
42182 2009-03-25  Bruno Haible  <bruno@clisp.org>
42183
42184         Fix a problem with --enable-relocatable on Solaris 7.
42185         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
42186         since 2008-02-24.
42187
42188 2009-03-25  Eric Blake  <ebb9@byu.net>
42189
42190         test-sockets: avoid gcc warning
42191         * tests/test-sockets.c (main): Silence compiler warning.
42192
42193 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42194
42195         New modules nproc, pthread, contributed by Glen Lenker.
42196
42197         * MODULES.html.sh: Add pthread, nproc.
42198         * lib/nproc.c: New file.
42199         * lib/nproc.h: New file.
42200         * lib/pthread.in.h: New file.
42201         * m4/pthread.m4: New file.
42202         * modules/nproc: New file.
42203         * modules/pthread: New file.
42204
42205 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42206
42207         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
42208         New variable.
42209
42210 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
42211
42212         filevercmp: handle simple~ and numbered.~3~ backup suffixes
42213         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
42214         * tests/test-filevercmp.c: Add tests for backup suffixes.
42215
42216 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42217
42218         * modules/stdlib (Depends-on): Add stdint, needed when defining
42219         struct random_data on, for example, HP-UX 10.20.  Reported by
42220         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42221
42222 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42223
42224         * lib/readline.c (readline): Call fflush on stdout after printing
42225         prompt.
42226
42227 2009-03-20  Bruno Haible  <bruno@clisp.org>
42228
42229         Remove dependency from 'close' module to -lws2_32 on native Windows.
42230         * lib/close-hook.h: New file.
42231         * lib/close-hook.c: New file.
42232         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
42233         w32sock.h.
42234         (_gl_close_fd_maybe_socket): Remove function.
42235         (rpl_close): Invoke execute_all_close_hooks instead of
42236         _gl_close_fd_maybe_socket.
42237         * lib/sockets.c: Include close-hook.h, w32sock.h.
42238         (close_fd_maybe_socket): New function, essentially from lib/close.c.
42239         (close_sockets_hook): New variable.
42240         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
42241         (gl_sockets_cleanup): Unregister it.
42242         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
42243         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
42244         * modules/close-hook: New file.
42245         * modules/close (Files): Remove lib/w32sock.h.
42246         (Depends-on): Add close-hook.
42247         (Link): Remove section.
42248         * modules/sockets (Files): Add lib/w32sock.h.
42249         (Depends-on): Add close-hook.
42250         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
42251         invocation.
42252         * NEWS: Mention that LIB_CLOSE is gone.
42253
42254 2009-03-23  Eric Blake  <ebb9@byu.net>
42255
42256         signal-tests: test previous patch
42257         * tests/test-signal.c: New file.
42258         * modules/signal-tests: Likewise.
42259
42260         signal.h: always support 'volatile sig_atomic_t'
42261         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
42262         (gl_SIGNAL_H_DEFAULTS): Add a default.
42263         * modules/signal (Makefile.am): Substitute if needed.
42264         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
42265         users can blindly add volatile.
42266         * doc/posix-headers/signal.texi (signal.h): Document it.
42267         Reported by Matthew Woehlke.
42268
42269 2009-03-23  Jim Meyering  <meyering@redhat.com>
42270
42271         pathmax: PATH_MAX: use pathconf only when available
42272         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
42273         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
42274         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
42275         This avoids a link failure in a PSP cross-compilation environment
42276         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
42277
42278         * lib/vasnprintf.c (divide): Fix typo in comment.
42279
42280 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42281
42282         * gnulib-tool (func_filter_filelist): Fix comment.
42283
42284 2009-03-20  Bruno Haible  <bruno@clisp.org>
42285
42286         Make sockets.h self-contained.
42287         * lib/sockets.c: Include sockets.h first.
42288         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
42289
42290 2009-03-19  Eric Blake  <ebb9@byu.net>
42291
42292         doc: mention more functions added in cygwin 1.7.0
42293         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
42294         addition.
42295         * doc/posix-functions/log2f.texi: Likewise.
42296
42297 2009-03-19  Jim Meyering  <meyering@redhat.com>
42298
42299         fsusage: avoid syntax error due to statement-before-declaration
42300         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
42301         after all declarations.  Reported by Matthew Woehlke in
42302         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
42303
42304 2009-03-18  Eric Blake  <ebb9@byu.net>
42305
42306         build-aux/compile: sync from automake
42307         * build-aux/compile: New file, from automake.
42308         * config/srclist.txt: Mention build-aux/compile.
42309
42310 2009-03-17  Bruno Haible  <bruno@clisp.org>
42311
42312         * lib/git-merge-changelog.c: Fix typo in comment.
42313         Reported by Reuben Thomas <rrt@sc3d.org>.
42314
42315 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
42316
42317         * m4/regex.m4: update and improve help for
42318         --without-included-regex.
42319
42320 2009-03-17  Simon Josefsson  <simon@josefsson.org>
42321
42322         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
42323         failure on missing include files.
42324
42325 2009-03-17  Eric Blake  <ebb9@byu.net>
42326
42327         doc: mention more functions added in cygwin 1.7.0
42328         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
42329         addition.
42330         * doc/posix-functions/fwscanf.texi: Likewise.
42331         * doc/posix-functions/swprintf.texi: Likewise.
42332         * doc/posix-functions/swscanf.texi: Likewise.
42333         * doc/posix-functions/vfwprintf.texi: Likewise.
42334         * doc/posix-functions/vfwscanf.texi: Likewise.
42335         * doc/posix-functions/vswprintf.texi: Likewise.
42336         * doc/posix-functions/vswscanf.texi: Likewise.
42337         * doc/posix-functions/vwprintf.texi: Likewise.
42338         * doc/posix-functions/vwscanf.texi: Likewise.
42339         * doc/posix-functions/wcscasecmp.texi: Likewise.
42340         * doc/posix-functions/wcsdup.texi: Likewise.
42341         * doc/posix-functions/wcsftime.texi: Likewise.
42342         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42343         * doc/posix-functions/wprintf.texi: Likewise.
42344         * doc/posix-functions/wscanf.texi: Likewise.
42345         * doc/glibc-functions/gethostbyname2.texi: Likewise.
42346
42347 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42348
42349         maint.mk: really add $(AM_MAKEFLAGS)
42350         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
42351         was inadvertently omitted in the last commit.
42352         Spotted by Bruno Haible.
42353
42354         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
42355         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
42356         $(AM_MAKEFLAGS)' rather than plain `make'.
42357
42358         gnulib-tool: execute $MAKE not make
42359         * gnulib-tool: Default $MAKE to 'make'.
42360         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
42361         than make.  Initialize $MAKE in the do-autobuild script.
42362
42363         gnulib-tool: use $MAKE not make in generated files
42364         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
42365         make, in generated files.  Initialize $MAKE in the do-autobuild
42366         script.
42367
42368         * top/GNUmakefile (_have-git-version-gen): Fix typo.
42369
42370         GNUmakefile: disable parallelism only for multiple, recursive targets
42371         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
42372         additions in the Makefile.
42373         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
42374         by Automake.
42375         (.NOTPARALLEL): Only disable parallel builds if multiple targets
42376         are listed on the command line and at least one of them is
42377         listed in $(ALL_RECURSIVE_TARGETS).
42378
42379 2009-03-14  Bruno Haible  <bruno@clisp.org>
42380
42381         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
42382         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
42383         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
42384         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
42385         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
42386         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
42387         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
42388         unistr/u8-uctomb.
42389         * modules/unistr/u8-strchr (Depends-on): Likewise.
42390         * modules/unistr/u8-strrchr (Depends-on): Likewise.
42391         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
42392         unistr/u16-uctomb.
42393         * modules/unistr/u16-strchr (Depends-on): Likewise.
42394         * modules/unistr/u16-strrchr (Depends-on): Likewise.
42395
42396 2009-03-12  Bruno Haible  <bruno@clisp.org>
42397
42398         Work around select() bug on Interix 3.5.
42399         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
42400         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
42401         * m4/select.m4: New file.
42402         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
42403         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
42404         * modules/select (Files): Add m4/select.m4.
42405         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
42406         * modules/nanosleep (Depends-on): Add select.
42407         * modules/poll (Depends-on): Likewise.
42408         * doc/posix-functions/select.texi: Mention the Interix bug.
42409         Reported by Markus Duft <mduft@gentoo.org>.
42410
42411         * lib/select.c: Renamed from lib/winsock-select.c.
42412         * modules/select (Files): Add lib/select.c, remove
42413         lib/winsock-select.c.
42414         (configure.ac): Update.
42415
42416 2009-03-12  Jim Meyering  <meyering@redhat.com>
42417
42418         avoid gcc warnings about unused macro definitions
42419         * lib/readtokens.c (STREQ): Remove unused definition.
42420         * lib/xmalloc.c (SIZE_MAX): Likewise.
42421         * lib/openat-die.c (N_): Likewise.
42422         * lib/mountlist.c (SIZE_MAX): Remove definition.
42423         Instead, include <stdint.h>.
42424         * lib/readutmp.c: Likewise.
42425         * modules/readutmp (Depends-on): Add stdint.
42426         * modules/mountlist (Depends-on): Add stdint.
42427         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
42428
42429 2009-03-10  Bruno Haible  <bruno@clisp.org>
42430
42431         Tests for module 'mbmemcasecoll'.
42432         * modules/mbmemcasecoll-tests: New file.
42433         * tests/test-mbmemcasecoll1.sh: New file.
42434         * tests/test-mbmemcasecoll2.sh: New file.
42435         * tests/test-mbmemcasecoll3.sh: New file.
42436         * tests/test-mbmemcasecoll.c: New file.
42437
42438         New module 'mbmemcasecoll'.
42439         * lib/mbmemcasecoll.h: New file.
42440         * lib/mbmemcasecoll.c: New file.
42441         * modules/mbmemcasecoll: New file.
42442
42443         * tests/test-mbmemcasecmp.h: New file, extracted from
42444         tests/test-mbmemcasecmp.c.
42445         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
42446         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
42447         (main): Update.
42448         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
42449
42450 2009-03-09  Bruno Haible  <bruno@clisp.org>
42451
42452         Tests for module 'mbmemcasecmp'.
42453         * modules/mbmemcasecmp-tests: New file.
42454         * tests/test-mbmemcasecmp1.sh: New file.
42455         * tests/test-mbmemcasecmp2.sh: New file.
42456         * tests/test-mbmemcasecmp3.sh: New file.
42457         * tests/test-mbmemcasecmp.c: New file.
42458
42459         New module 'mbmemcasecmp'.
42460         * lib/mbmemcasecmp.h: New file.
42461         * lib/mbmemcasecmp.c: New file.
42462         * modules/mbmemcasecmp: New file.
42463
42464 2009-03-09  Bruno Haible  <bruno@clisp.org>
42465
42466         Tests for module 'unicase/ulc-casecoll'.
42467         * modules/unicase/ulc-casecoll-tests: New file.
42468         * tests/unicase/test-ulc-casecoll1.sh: New file.
42469         * tests/unicase/test-ulc-casecoll2.sh: New file.
42470         * tests/unicase/test-ulc-casecoll.c: New file.
42471
42472         New module 'unicase/ulc-casecoll'.
42473         * lib/unicase.h (ulc_casecoll): New declaration.
42474         * lib/unicase/ulc-casecoll.c: New file.
42475         * modules/unicase/ulc-casecoll: New file.
42476
42477         New module 'unicase/ulc-casexfrm'.
42478         * lib/unicase.h (ulc_casexfrm): New declaration.
42479         * lib/unicase/ulc-casexfrm.c: New file.
42480         * modules/unicase/ulc-casexfrm: New file.
42481
42482 2009-03-09  Bruno Haible  <bruno@clisp.org>
42483
42484         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
42485         invocations.
42486
42487         * m4/mbscasecmp.m4: Remove file.
42488         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
42489         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
42490
42491         * m4/mbscasestr.m4: Remove file.
42492         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
42493         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
42494
42495         * m4/mbschr.m4: Remove file.
42496         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
42497         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
42498
42499         * m4/mbscspn.m4: Remove file.
42500         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
42501         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
42502
42503         * m4/mbslen.m4: Remove file.
42504         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
42505         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
42506
42507         * m4/mbsncasecmp.m4: Remove file.
42508         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
42509         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
42510
42511         * m4/mbsnlen.m4: Remove file.
42512         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
42513         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
42514
42515         * m4/mbspbrk.m4: Remove file.
42516         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
42517         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
42518
42519         * m4/mbspcasecmp.m4: Remove file.
42520         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
42521         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
42522
42523         * m4/mbsrchr.m4: Remove file.
42524         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
42525         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
42526
42527         * m4/mbssep.m4: Remove file.
42528         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
42529         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
42530
42531         * m4/mbsspn.m4: Remove file.
42532         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
42533         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
42534
42535         * m4/mbsstr.m4: Remove file.
42536         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
42537         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
42538
42539         * m4/mbstok_r.m4: Remove file.
42540         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
42541         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
42542
42543         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
42544
42545         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
42546         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
42547
42548         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
42549
42550 2009-03-08  Bruno Haible  <bruno@clisp.org>
42551
42552         Tests for module 'unicase/ulc-casecmp'.
42553         * modules/unicase/ulc-casecmp-tests: New file.
42554         * tests/unicase/test-ulc-casecmp1.sh: New file.
42555         * tests/unicase/test-ulc-casecmp2.sh: New file.
42556         * tests/unicase/test-ulc-casecmp.c: New file.
42557
42558         New module 'unicase/ulc-casecmp'.
42559         * lib/unicase.h (ulc_casecmp): New declaration.
42560         * lib/unicase/ulc-casecmp.c: New file.
42561         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
42562         'const SRC_UNIT *'.
42563         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
42564         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
42565         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
42566         * modules/unicase/ulc-casecmp: New file.
42567
42568         Tests for module 'unicase/u32-is-cased'.
42569         * modules/unicase/u32-is-cased-tests: New file.
42570         * tests/unicase/test-u32-is-cased.c: New file.
42571
42572         Tests for module 'unicase/u16-is-cased'.
42573         * modules/unicase/u16-is-cased-tests: New file.
42574         * tests/unicase/test-u16-is-cased.c: New file.
42575
42576         Tests for module 'unicase/u8-is-cased'.
42577         * modules/unicase/u8-is-cased-tests: New file.
42578         * tests/unicase/test-u8-is-cased.c: New file.
42579         * tests/unicase/test-is-cased.h: New file.
42580
42581         New module 'unicase/u32-is-cased'.
42582         * lib/unicase/u32-is-cased.c: New file.
42583         * modules/unicase/u32-is-cased: New file.
42584
42585         New module 'unicase/u16-is-cased'.
42586         * lib/unicase/u16-is-cased.c: New file.
42587         * modules/unicase/u16-is-cased: New file.
42588
42589         New module 'unicase/u8-is-cased'.
42590         * lib/unicase/u8-is-cased.c: New file.
42591         * lib/unicase/u-is-cased.h: New file.
42592         * modules/unicase/u8-is-cased: New file.
42593
42594         Tests for module 'unicase/u32-is-casefolded'.
42595         * modules/unicase/u32-is-casefolded-tests: New file.
42596         * tests/unicase/test-u32-is-casefolded.c: New file.
42597
42598         Tests for module 'unicase/u16-is-casefolded'.
42599         * modules/unicase/u16-is-casefolded-tests: New file.
42600         * tests/unicase/test-u16-is-casefolded.c: New file.
42601
42602         Tests for module 'unicase/u8-is-casefolded'.
42603         * modules/unicase/u8-is-casefolded-tests: New file.
42604         * tests/unicase/test-u8-is-casefolded.c: New file.
42605         * tests/unicase/test-is-casefolded.h: New file.
42606
42607         New module 'unicase/u32-is-casefolded'.
42608         * lib/unicase/u32-is-casefolded.c: New file.
42609         * modules/unicase/u32-is-casefolded: New file.
42610
42611         New module 'unicase/u16-is-casefolded'.
42612         * lib/unicase/u16-is-casefolded.c: New file.
42613         * modules/unicase/u16-is-casefolded: New file.
42614
42615         New module 'unicase/u8-is-casefolded'.
42616         * lib/unicase/u8-is-casefolded.c: New file.
42617         * modules/unicase/u8-is-casefolded: New file.
42618
42619         Tests for module 'unicase/u32-is-titlecase'.
42620         * modules/unicase/u32-is-titlecase-tests: New file.
42621         * tests/unicase/test-u32-is-titlecase.c: New file.
42622
42623         Tests for module 'unicase/u16-is-titlecase'.
42624         * modules/unicase/u16-is-titlecase-tests: New file.
42625         * tests/unicase/test-u16-is-titlecase.c: New file.
42626
42627         Tests for module 'unicase/u8-is-titlecase'.
42628         * modules/unicase/u8-is-titlecase-tests: New file.
42629         * tests/unicase/test-u8-is-titlecase.c: New file.
42630         * tests/unicase/test-is-titlecase.h: New file.
42631
42632         New module 'unicase/u32-is-titlecase'.
42633         * lib/unicase/u32-is-titlecase.c: New file.
42634         * modules/unicase/u32-is-titlecase: New file.
42635
42636         New module 'unicase/u16-is-titlecase'.
42637         * lib/unicase/u16-is-titlecase.c: New file.
42638         * modules/unicase/u16-is-titlecase: New file.
42639
42640         New module 'unicase/u8-is-titlecase'.
42641         * lib/unicase/u8-is-titlecase.c: New file.
42642         * modules/unicase/u8-is-titlecase: New file.
42643
42644         Tests for module 'unicase/u32-is-lowercase'.
42645         * modules/unicase/u32-is-lowercase-tests: New file.
42646         * tests/unicase/test-u32-is-lowercase.c: New file.
42647
42648         Tests for module 'unicase/u16-is-lowercase'.
42649         * modules/unicase/u16-is-lowercase-tests: New file.
42650         * tests/unicase/test-u16-is-lowercase.c: New file.
42651
42652         Tests for module 'unicase/u8-is-lowercase'.
42653         * modules/unicase/u8-is-lowercase-tests: New file.
42654         * tests/unicase/test-u8-is-lowercase.c: New file.
42655         * tests/unicase/test-is-lowercase.h: New file.
42656
42657         New module 'unicase/u32-is-lowercase'.
42658         * lib/unicase/u32-is-lowercase.c: New file.
42659         * modules/unicase/u32-is-lowercase: New file.
42660
42661         New module 'unicase/u16-is-lowercase'.
42662         * lib/unicase/u16-is-lowercase.c: New file.
42663         * modules/unicase/u16-is-lowercase: New file.
42664
42665         New module 'unicase/u8-is-lowercase'.
42666         * lib/unicase/u8-is-lowercase.c: New file.
42667         * modules/unicase/u8-is-lowercase: New file.
42668
42669         Tests for module 'unicase/u32-is-uppercase'.
42670         * modules/unicase/u32-is-uppercase-tests: New file.
42671         * tests/unicase/test-u32-is-uppercase.c: New file.
42672
42673         Tests for module 'unicase/u16-is-uppercase'.
42674         * modules/unicase/u16-is-uppercase-tests: New file.
42675         * tests/unicase/test-u16-is-uppercase.c: New file.
42676
42677         Tests for module 'unicase/u8-is-uppercase'.
42678         * modules/unicase/u8-is-uppercase-tests: New file.
42679         * tests/unicase/test-u8-is-uppercase.c: New file.
42680         * tests/unicase/test-is-uppercase.h: New file.
42681
42682         New module 'unicase/u32-is-uppercase'.
42683         * lib/unicase/u32-is-uppercase.c: New file.
42684         * modules/unicase/u32-is-uppercase: New file.
42685
42686         New module 'unicase/u16-is-uppercase'.
42687         * lib/unicase/u16-is-uppercase.c: New file.
42688         * modules/unicase/u16-is-uppercase: New file.
42689
42690         New module 'unicase/u8-is-uppercase'.
42691         * lib/unicase/u8-is-uppercase.c: New file.
42692         * modules/unicase/u8-is-uppercase: New file.
42693
42694         New module 'unicase/u32-is-invariant'.
42695         * lib/unicase/u32-is-invariant.c: New file.
42696         * modules/unicase/u32-is-invariant: New file.
42697
42698         New module 'unicase/u16-is-invariant'.
42699         * lib/unicase/u16-is-invariant.c: New file.
42700         * modules/unicase/u16-is-invariant: New file.
42701
42702         New module 'unicase/u8-is-invariant'.
42703         * lib/unicase/u8-is-invariant.c: New file.
42704         * lib/unicase/invariant.h: New file.
42705         * lib/unicase/u-is-invariant.h: New file.
42706         * modules/unicase/u8-is-invariant: New file.
42707
42708         Tests for module 'unicase/u32-casecoll'.
42709         * modules/unicase/u32-casecoll-tests: New file.
42710         * tests/unicase/test-u32-casecoll.c: New file.
42711
42712         Tests for module 'unicase/u16-casecoll'.
42713         * modules/unicase/u16-casecoll-tests: New file.
42714         * tests/unicase/test-u16-casecoll.c: New file.
42715
42716         Tests for module 'unicase/u8-casecoll'.
42717         * modules/unicase/u8-casecoll-tests: New file.
42718         * tests/unicase/test-u8-casecoll.c: New file.
42719
42720         New module 'unicase/u32-casecoll'.
42721         * lib/unicase/u32-casecoll.c: New file.
42722         * modules/unicase/u32-casecoll: New file.
42723
42724         New module 'unicase/u16-casecoll'.
42725         * lib/unicase/u16-casecoll.c: New file.
42726         * modules/unicase/u16-casecoll: New file.
42727
42728         New module 'unicase/u8-casecoll'.
42729         * lib/unicase/u8-casecoll.c: New file.
42730         * lib/unicase/u-casecoll.h: New file.
42731         * modules/unicase/u8-casecoll: New file.
42732
42733         New module 'unicase/u32-casexfrm'.
42734         * lib/unicase/u32-casexfrm.c: New file.
42735         * modules/unicase/u32-casexfrm: New file.
42736
42737         New module 'unicase/u16-casexfrm'.
42738         * lib/unicase/u16-casexfrm.c: New file.
42739         * modules/unicase/u16-casexfrm: New file.
42740
42741         New module 'unicase/u8-casexfrm'.
42742         * lib/unicase/u8-casexfrm.c: New file.
42743         * lib/unicase/u-casexfrm.h: New file.
42744         * modules/unicase/u8-casexfrm: New file.
42745
42746         Tests for module 'unicase/u32-casecmp'.
42747         * modules/unicase/u32-casecmp-tests: New file.
42748         * tests/unicase/test-u32-casecmp.c: New file.
42749
42750         Tests for module 'unicase/u16-casecmp'.
42751         * modules/unicase/u16-casecmp-tests: New file.
42752         * tests/unicase/test-u16-casecmp.c: New file.
42753
42754         Tests for module 'unicase/u8-casecmp'.
42755         * modules/unicase/u8-casecmp-tests: New file.
42756         * tests/unicase/test-u8-casecmp.c: New file.
42757         * tests/unicase/test-casecmp.h: New file.
42758
42759         New module 'unicase/u32-casecmp'.
42760         * lib/unicase/u32-casecmp.c: New file.
42761         * modules/unicase/u32-casecmp: New file.
42762
42763         New module 'unicase/u16-casecmp'.
42764         * lib/unicase/u16-casecmp.c: New file.
42765         * modules/unicase/u16-casecmp: New file.
42766
42767         New module 'unicase/u8-casecmp'.
42768         * lib/unicase/u8-casecmp.c: New file.
42769         * lib/unicase/u-casecmp.h: New file.
42770         * modules/unicase/u8-casecmp: New file.
42771
42772         Tests for module 'unicase/u32-casefold'.
42773         * modules/unicase/u32-casefold-tests: New file.
42774         * tests/unicase/test-u32-casefold.c: New file.
42775
42776         Tests for module 'unicase/u16-casefold'.
42777         * modules/unicase/u16-casefold-tests: New file.
42778         * tests/unicase/test-u16-casefold.c: New file.
42779
42780         Tests for module 'unicase/u8-casefold'.
42781         * modules/unicase/u8-casefold-tests: New file.
42782         * tests/unicase/test-u8-casefold.c: New file.
42783
42784         New module 'unicase/u32-casefold'.
42785         * lib/unicase/u32-casefold.c: New file.
42786         * modules/unicase/u32-casefold: New file.
42787
42788         New module 'unicase/u16-casefold'.
42789         * lib/unicase/u16-casefold.c: New file.
42790         * modules/unicase/u16-casefold: New file.
42791
42792         New module 'unicase/u8-casefold'.
42793         * lib/unicase/u8-casefold.c: New file.
42794         * lib/unicase/u-casefold.h: New file.
42795         * modules/unicase/u8-casefold: New file.
42796
42797         New module 'unicase/tocasefold'.
42798         * lib/unicase/casefold.h: New file.
42799         * lib/unicase/tocasefold.c: New file.
42800         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
42801         * modules/unicase/tocasefold: New file.
42802
42803         Tests for module 'unicase/u32-totitle'.
42804         * modules/unicase/u32-totitle-tests: New file.
42805         * tests/unicase/test-u32-totitle.c: New file.
42806
42807         Tests for module 'unicase/u16-totitle'.
42808         * modules/unicase/u16-totitle-tests: New file.
42809         * tests/unicase/test-u16-totitle.c: New file.
42810
42811         Tests for module 'unicase/u8-totitle'.
42812         * modules/unicase/u8-totitle-tests: New file.
42813         * tests/unicase/test-u8-totitle.c: New file.
42814
42815         New module 'unicase/u32-totitle'.
42816         * lib/unicase/u32-totitle.c: New file.
42817         * modules/unicase/u32-totitle: New file.
42818
42819         New module 'unicase/u16-totitle'.
42820         * lib/unicase/u16-totitle.c: New file.
42821         * modules/unicase/u16-totitle: New file.
42822
42823         New module 'unicase/u8-totitle'.
42824         * lib/unicase/u8-totitle.c: New file.
42825         * lib/unicase/u-totitle.h: New file.
42826         * modules/unicase/u8-totitle: New file.
42827
42828         Tests for module 'unicase/u32-tolower'.
42829         * modules/unicase/u32-tolower-tests: New file.
42830         * tests/unicase/test-u32-tolower.c: New file.
42831
42832         Tests for module 'unicase/u16-tolower'.
42833         * modules/unicase/u16-tolower-tests: New file.
42834         * tests/unicase/test-u16-tolower.c: New file.
42835
42836         Tests for module 'unicase/u8-tolower'.
42837         * modules/unicase/u8-tolower-tests: New file.
42838         * tests/unicase/test-u8-tolower.c: New file.
42839
42840         New module 'unicase/u32-tolower'.
42841         * lib/unicase/u32-tolower.c: New file.
42842         * modules/unicase/u32-tolower: New file.
42843
42844         New module 'unicase/u16-tolower'.
42845         * lib/unicase/u16-tolower.c: New file.
42846         * modules/unicase/u16-tolower: New file.
42847
42848         New module 'unicase/u8-tolower'.
42849         * lib/unicase/u8-tolower.c: New file.
42850         * modules/unicase/u8-tolower: New file.
42851
42852         Tests for module 'unicase/u32-toupper'.
42853         * modules/unicase/u32-toupper-tests: New file.
42854         * tests/unicase/test-u32-toupper.c: New file.
42855
42856         Tests for module 'unicase/u16-toupper'.
42857         * modules/unicase/u16-toupper-tests: New file.
42858         * tests/unicase/test-u16-toupper.c: New file.
42859
42860         Tests for module 'unicase/u8-toupper'.
42861         * modules/unicase/u8-toupper-tests: New file.
42862         * tests/unicase/test-u8-toupper.c: New file.
42863
42864         New module 'unicase/u32-toupper'.
42865         * lib/unicase/u32-toupper.c: New file.
42866         * modules/unicase/u32-toupper: New file.
42867
42868         New module 'unicase/u16-toupper'.
42869         * lib/unicase/u16-toupper.c: New file.
42870         * modules/unicase/u16-toupper: New file.
42871
42872         New module 'unicase/u8-toupper'.
42873         * lib/unicase/u8-toupper.c: New file.
42874         * modules/unicase/u8-toupper: New file.
42875
42876         New module 'unicase/u32-casemap'.
42877         * lib/unicase/u32-casemap.c: New file.
42878         * modules/unicase/u32-casemap: New file.
42879
42880         New module 'unicase/u16-casemap'.
42881         * lib/unicase/u16-casemap.c: New file.
42882         * modules/unicase/u16-casemap: New file.
42883
42884         New module 'unicase/u8-casemap'.
42885         * lib/unicase/unicasemap.h: New file.
42886         * lib/unicase/u8-casemap.c: New file.
42887         * lib/unicase/u-casemap.h: New file.
42888         * modules/unicase/u8-casemap: New file.
42889
42890         New module 'unicase/special-casing'.
42891         * lib/unicase/special-casing.h: New file.
42892         * lib/unicase/special-casing.c: New file.
42893         * lib/unicase/special-casing-table.gperf: New file, generated by
42894         gen-uni-tables.c.
42895         * modules/unicase/special-casing: New file.
42896
42897         Tests for module 'unicase/locale-language'.
42898         * modules/unicase/locale-language-tests: New file.
42899         * tests/unicase/test-locale-language.sh: New file.
42900         * tests/unicase/test-locale-language.c: New file.
42901
42902         New module 'unicase/locale-language'.
42903         * lib/unicase/locale-language.c: New file.
42904         * lib/unicase/locale-languages.gperf: New file.
42905         * modules/unicase/locale-language: New file.
42906
42907         Generate more tables for case conversion and case folding.
42908         * lib/gen-uni-tables.c (SCC_*): New enum items.
42909         (struct special_casing_rule): New type.
42910         (casing_rules, num_casing_rules, allocated_casing_rules): New
42911         variables.
42912         (add_casing_rule, fill_casing_rules): New functions.
42913         (struct casefold_rule): New type.
42914         (casefolding_rules, num_casefolding_rules,
42915         allocated_casefolding_rules): New variables.
42916         (fill_casefolding_rules): New function.
42917         (unicode_casefold): New variable.
42918         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
42919         sort_casing_rules, output_casing_rules): New functions.
42920         (main): Accept to more arguments: SpecialCasing.txt and
42921         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
42922         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
42923         Output mapping for casefolding.
42924
42925         * lib/unicase.h: Include stdbool.h, uninorm.h.
42926         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
42927         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
42928         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
42929         arguments.
42930         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
42931         resultp arguments.
42932         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
42933         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
42934         resultp arguments.
42935         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
42936         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
42937         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
42938         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
42939         declarations.
42940         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
42941
42942 2009-03-08  Bruno Haible  <bruno@clisp.org>
42943
42944         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42945         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
42946         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
42947         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42948
42949 2009-03-07  Bruno Haible  <bruno@clisp.org>
42950
42951         Adjust u*_normcmp, u*_normcoll API.
42952         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42953         u16_normcoll, u32_normcoll): Change failure conventions.
42954         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
42955         errno and return -1.
42956         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42957
42958 2009-03-07  Bruno Haible  <bruno@clisp.org>
42959
42960         Tests for module 'uninorm/u32-normcoll'.
42961         * modules/uninorm/u32-normcoll-tests: New file.
42962         * tests/uninorm/test-u32-normcoll.c: New file.
42963
42964         Tests for module 'uninorm/u16-normcoll'.
42965         * modules/uninorm/u16-normcoll-tests: New file.
42966         * tests/uninorm/test-u16-normcoll.c: New file.
42967
42968         Tests for module 'uninorm/u8-normcoll'.
42969         * modules/uninorm/u8-normcoll-tests: New file.
42970         * tests/uninorm/test-u8-normcoll.c: New file.
42971
42972 2009-03-07  Bruno Haible  <bruno@clisp.org>
42973
42974         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
42975         tests/uninorm/test-u32-normcmp.c.
42976         * tests/uninorm/test-u32-normcmp.c: Include it.
42977         (test_nonascii): New function, extracted from main. Add some more
42978         tests.
42979         (main): Invoke test_ascii and test_nonascii.
42980         * modules/uninorm/u32-normcmp-tests (Files): Add
42981         tests/uninorm/test-u32-normcmp.h.
42982         (Depends-on): Remove uninorm/u32-normcmp.
42983
42984         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
42985         tests/uninorm/test-u16-normcmp.c.
42986         * tests/uninorm/test-u16-normcmp.c: Include it.
42987         (test_nonascii): New function, extracted from main. Add some more
42988         tests.
42989         (main): Invoke test_ascii and test_nonascii.
42990         * modules/uninorm/u16-normcmp-tests (Files): Add
42991         tests/uninorm/test-u16-normcmp.h.
42992         (Depends-on): Remove uninorm/u16-normcmp.
42993
42994         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
42995         tests/uninorm/test-u8-normcmp.c.
42996         * tests/uninorm/test-u8-normcmp.c: Include it.
42997         (test_nonascii): New function, extracted from main. Add some more
42998         tests.
42999         (main): Invoke test_ascii and test_nonascii.
43000         * modules/uninorm/u8-normcmp-tests (Files): Add
43001         tests/uninorm/test-u8-normcmp.h.
43002         (Depends-on): Remove uninorm/u8-normcmp.
43003
43004 2009-03-07  Bruno Haible  <bruno@clisp.org>
43005
43006         New module 'uninorm/u32-normcoll'.
43007         * lib/uninorm/u32-normcoll.c: New file.
43008         * modules/uninorm/u32-normcoll: New file.
43009
43010         New module 'uninorm/u16-normcoll'.
43011         * lib/uninorm/u16-normcoll.c: New file.
43012         * modules/uninorm/u16-normcoll: New file.
43013
43014         New module 'uninorm/u8-normcoll'.
43015         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
43016         declarations.
43017         * lib/uninorm/u8-normcoll.c: New file.
43018         * lib/uninorm/u-normcoll.h: New file.
43019         * modules/uninorm/u8-normcoll: New file.
43020
43021         New module 'uninorm/u32-normxfrm'.
43022         * lib/uninorm/u32-normxfrm.c: New file.
43023         * modules/uninorm/u32-normxfrm: New file.
43024
43025         New module 'uninorm/u16-normxfrm'.
43026         * lib/uninorm/u16-normxfrm.c: New file.
43027         * modules/uninorm/u16-normxfrm: New file.
43028
43029         New module 'uninorm/u8-normxfrm'.
43030         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
43031         declarations.
43032         * lib/uninorm/u8-normxfrm.c: New file.
43033         * lib/uninorm/u-normxfrm.h: New file.
43034         * modules/uninorm/u8-normxfrm: New file.
43035
43036 2009-03-07  Bruno Haible  <bruno@clisp.org>
43037
43038         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
43039         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
43040         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
43041
43042 2009-03-07  Bruno Haible  <bruno@clisp.org>
43043
43044         New module 'memxfrm'.
43045         * lib/memxfrm.h: New file.
43046         * lib/memxfrm.c: New file.
43047         * modules/memxfrm: New file.
43048
43049 2009-03-07  Bruno Haible  <bruno@clisp.org>
43050
43051         New module 'memcmp2'.
43052         * lib/memcmp2.h: New file.
43053         * lib/memcmp2.c: New file.
43054         * modules/memcmp2: New file.
43055
43056 2009-03-07  Bruno Haible  <bruno@clisp.org>
43057
43058         Tests for module 'uninorm/decomposing-form'.
43059         * modules/uninorm/decomposing-form-tests: New file.
43060         * tests/uninorm/test-decomposing-form.c: New file.
43061
43062         New module 'uninorm/decomposing-form'.
43063         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
43064         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
43065         Add 'decomposing_variant' field.
43066         * lib/uninorm/decomposing-form.c: New file.
43067         * lib/uninorm/nfc.c (uninorm_nfc): Update.
43068         * lib/uninorm/nfd.c (uninorm_nfd): Update.
43069         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
43070         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
43071         * modules/uninorm/decomposing-form: New file.
43072         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
43073         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
43074
43075 2009-03-07  Bruno Haible  <bruno@clisp.org>
43076
43077         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
43078         strings.
43079
43080 2009-03-06  Bruno Haible  <bruno@clisp.org>
43081
43082         Tests for module 'uninorm/u32-normcmp'.
43083         * tests/uninorm/test-u32-normcmp.c: New file.
43084         * modules/uninorm/u32-normcmp-tests: New file.
43085
43086         Tests for module 'uninorm/u16-normcmp'.
43087         * tests/uninorm/test-u16-normcmp.c: New file.
43088         * modules/uninorm/u16-normcmp-tests: New file.
43089
43090         Tests for module 'uninorm/u8-normcmp'.
43091         * tests/uninorm/test-u8-normcmp.c: New file.
43092         * modules/uninorm/u8-normcmp-tests: New file.
43093
43094         New module 'uninorm/u32-normcmp'.
43095         * lib/uninorm/u32-normcmp.c: New file.
43096         * modules/uninorm/u32-normcmp: New file.
43097
43098         New module 'uninorm/u16-normcmp'.
43099         * lib/uninorm/u16-normcmp.c: New file.
43100         * modules/uninorm/u16-normcmp: New file.
43101
43102         New module 'uninorm/u8-normcmp'.
43103         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
43104         declarations.
43105         * lib/uninorm/u8-normcmp.c: New file.
43106         * lib/uninorm/u-normcmp.h: New file.
43107         * modules/uninorm/u8-normcmp: New file.
43108
43109 2009-03-06  Bruno Haible  <bruno@clisp.org>
43110
43111         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
43112         Reported by Eric Blake.
43113
43114 2009-03-06  Eric Blake  <ebb9@byu.net>
43115             Bruno Haible  <bruno@clisp.org>
43116
43117         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
43118         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
43119         condition.
43120         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43121         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
43122         condition.
43123         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43124
43125 2009-03-06  Eric Blake  <ebb9@byu.net>
43126
43127         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
43128         to avoid compiler warnings.
43129         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
43130
43131 2009-03-05  Bruno Haible  <bruno@clisp.org>
43132
43133         * tests/test-ftell.c (main): Disable test beyond end of file on
43134         FreeMiNT.
43135         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43136
43137 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
43138
43139         * lib/filevercmp.c: Move hidden files up in ordering.
43140         * tests/test-filevercmp.c: Add tests for hidden files.
43141
43142 2009-03-04  Bruno Haible  <bruno@clisp.org>
43143
43144         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
43145         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
43146         AM_CFLAGS.
43147         Reported by Simon Josefsson.
43148
43149 2009-03-03  Bruno Haible  <bruno@clisp.org>
43150
43151         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
43152         Reported by Simon Josefsson.
43153
43154         * doc/ld-version-script.texi: Update node reference.
43155
43156 2009-03-03  Bruno Haible  <bruno@clisp.org>
43157
43158         * modules/visibility (License): Change to 'unlimited'.
43159         Suggested by Simon Josefsson.
43160
43161 2009-03-03  Jim Meyering  <meyering@redhat.com>
43162
43163         unlinkdir: cannot_unlink_dir may modify process state
43164         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
43165         it's neither thread-safe nor appropriate for use in a library.
43166
43167 2009-03-03  Eric Blake  <ebb9@byu.net>
43168
43169         test-closein: silence test under Darwin
43170         * tests/test-closein.sh: Ignore stderr from cat, since we don't
43171         care if it dies from EPIPE or EBADF.
43172
43173 2009-03-03  Bruno Haible  <bruno@clisp.org>
43174
43175         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
43176         earlier.
43177         * doc/visibility.texi: Fix @node and @section.
43178
43179 2009-03-03  Simon Josefsson  <simon@josefsson.org>
43180
43181         * doc/gnulib.texi: Link to sections for ld version script and
43182         visibility.
43183         * doc/visibility.texi: Add @node and @section.
43184         * modules/ld-version-script: New module.
43185         * m4/ld-version-script.m4: New file.
43186         * doc/ld-version-script.texi: New file.
43187
43188 2009-03-02  David Lutterkort  <lutter@redhat.com>
43189
43190         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
43191         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43192
43193 2009-03-02  Bruno Haible  <bruno@clisp.org>
43194
43195         * doc/visibility.texi: Mention libtool's -export-symbols option.
43196
43197 2009-03-02  Jim Meyering  <meyering@redhat.com>
43198
43199         announce-gen: new option: --no-print-checksums
43200         * build-aux/announce-gen (usage): Describe it.
43201         (print_checksums): Print a newline here, not in the [*] footnote.
43202         (main): Honor it.
43203
43204 2009-03-01  Bruno Haible  <bruno@clisp.org>
43205
43206         Use socklen_t in the native Windows replacements prototypes.
43207         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
43208         instead of 'int'.
43209         * lib/getsockopt.c (rpl_getsockopt): Likewise.
43210         * lib/setsockopt.c (rpl_setsockopt): Likewise.
43211         * modules/getsockopt (Depends-on): Add socklen.
43212         * modules/setsockopt (Depends-on): Add socklen.
43213
43214 2009-03-01  Bruno Haible  <bruno@clisp.org>
43215
43216         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
43217         least 4.2.
43218
43219 2009-03-01  Eric Blake  <ebb9@byu.net>
43220             Bruno Haible  <bruno@clisp.org>
43221
43222         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
43223         error messages.
43224         * lib/wait-process.c (wait_subprocess): Omit error message about
43225         deadly signal sent to the child of termsigp != NULL.
43226
43227 2009-03-01  Eric Blake  <ebb9@byu.net>
43228
43229         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
43230
43231 2009-03-01  Bruno Haible  <bruno@clisp.org>
43232
43233         Avoid a gcc warning.
43234         * tests/test-sched.c (b): Make global.
43235         Reported by Eric Blake.
43236
43237 2009-01-19  Martin Lambers  <marlam@marlam.de>
43238
43239         Provide POSIX semantics for socket timeout options on W32.
43240         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
43241         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
43242         * modules/setsockopt: Depend on sys_time module for struct timeval.
43243         * modules/getsockopt: Depend on sys_time module for struct timeval.
43244
43245 2009-03-01  Simon Josefsson  <simon@josefsson.org>
43246
43247         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
43248         __USE_GNU, for consistency with netdb.in.h.
43249         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43250
43251 2009-03-01  Bruno Haible  <bruno@clisp.org>
43252
43253         More support for FreeMiNT.
43254         * lib/fseeko.c (rpl_fseeko): Complete last commit.
43255         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43256
43257 2009-03-01  Bruno Haible  <bruno@clisp.org>
43258
43259         More support for FreeMiNT.
43260         * lib/fpurge.c (fpurge): Correct last commit.
43261         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43262
43263 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43264
43265         Fix unportable awk script in vc-list-files.
43266         * build-aux/vc-list-files: In the replacement awk script, use
43267         substr with a second argument of 1, not zero.
43268         Report by Simon Josefsson.
43269
43270 2009-02-28  Bruno Haible  <bruno@clisp.org>
43271
43272         More support for FreeMiNT.
43273         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
43274         to FreeMiNT today.
43275         * lib/fwriting.c (fwriting): Likewise.
43276         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
43277
43278 2009-02-28  Bruno Haible  <bruno@clisp.org>
43279
43280         * tests/test-freadseek.c (main): Disable test beyond end of file on
43281         FreeMiNT.
43282         * tests/test-ftello.c (main): Likewise.
43283         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43284
43285 2009-02-28  Bruno Haible  <bruno@clisp.org>
43286
43287         Add tentative support for FreeMiNT.
43288         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
43289         * lib/fpurge.c (fpurge): Likewise.
43290         * lib/freadable.c (freadable): Likewise.
43291         * lib/freading.c (freading): Likewise.
43292         * lib/freadptr.c (freadptr): Likewise.
43293         * lib/freadseek.c (freadptrinc): Likewise.
43294         * lib/fseeko.c (rpl_fseeko): Likewise.
43295         * lib/fseterr.c (fseterr): Likewise.
43296         * lib/fwritable.c (fwritable): Likewise.
43297         * lib/fwriting.c (fwriting): Likewise.
43298         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
43299         Hourihane.
43300         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43301
43302 2009-02-28  Bruno Haible  <bruno@clisp.org>
43303
43304         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
43305         SIGCHLD.
43306         Reported by Jim Meyering.
43307
43308 2009-02-28  Bruno Haible  <bruno@clisp.org>
43309
43310         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
43311         Mention the results of these tests on various platforms.
43312         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
43313         order.
43314         * doc/posix-functions/printf.texi: Likewise.
43315         * doc/posix-functions/snprintf.texi: Likewise.
43316         * doc/posix-functions/sprintf.texi: Likewise.
43317         * doc/posix-functions/vfprintf.texi: Likewise.
43318         * doc/posix-functions/vprintf.texi: Likewise.
43319         * doc/posix-functions/vsnprintf.texi: Likewise.
43320         * doc/posix-functions/vsprintf.texi: Likewise.
43321         * doc/glibc-functions/obstack_printf.texi: Likewise.
43322         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
43323
43324 2009-02-28  Bruno Haible  <bruno@clisp.org>
43325
43326         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
43327         Reported by Loïc Minier <lool@dooz.org>.
43328
43329 2009-02-27  Bruno Haible  <bruno@clisp.org>
43330
43331         * gnulib-tool (func_import): Make the sed expression used to create the
43332         sed script for updating the .gitignore file POSIX compliant.
43333         Reported by Eric Blake.
43334
43335 2009-02-27  Bruno Haible  <bruno@clisp.org>
43336
43337         * gnulib-tool (sed): Don't alias as "sed --posix".
43338         Reported by Eric Blake.
43339
43340 2009-02-27  Bruno Haible  <bruno@clisp.org>
43341
43342         Avoid test link errors.
43343         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
43344         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
43345         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
43346         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
43347         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43348
43349 2009-02-27  Bruno Haible  <bruno@clisp.org>
43350
43351         Avoid spurious "(cached)" in configure output.
43352         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
43353         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
43354         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43355         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43356         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43357         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
43358         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43359         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
43360         Reported by Eric Blake.
43361
43362 2009-02-27  Eric Blake  <ebb9@byu.net>
43363
43364         printf: fix regression in previous patch
43365         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
43366
43367 2009-02-27  Bruno Haible  <bruno@clisp.org>
43368
43369         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
43370         value.
43371         * lib/stdint.in.h: Likewise.
43372         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
43373
43374 2009-02-27  Eric Blake  <ebb9@byu.net>
43375
43376         doc: mention more functions added in cygwin 1.7.0
43377         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
43378         addition.
43379         * doc/posix-functions/open_wmemstream.texi: Likewise.
43380         * doc/posix-functions/wcsnlen.texi: Likewise.
43381         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43382         * doc/posix-functions/wcstod.texi: Likewise.
43383         * doc/posix-functions/wcstof.texi: Likewise.
43384         * doc/posix-functions/wcstoimax.texi: Likewise.
43385         * doc/posix-functions/wcstok.texi: Likewise.
43386         * doc/posix-functions/wcstoumax.texi: Likewise.
43387
43388         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
43389         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
43390         * doc/posix-functions/fprintf.texi: Update.
43391         * doc/posix-functions/printf.texi: Update.
43392         * doc/posix-functions/snprintf.texi: Update.
43393         * doc/posix-functions/sprintf.texi: Update.
43394         * doc/posix-functions/vfprintf.texi: Update.
43395         * doc/posix-functions/vprintf.texi: Update.
43396         * doc/posix-functions/vsnprintf.texi: Update.
43397         * doc/posix-functions/vsprintf.texi: Update.
43398         * doc/glibc-functions/obstack_printf.texi: Update.
43399         * doc/glibc-functions/obstack_vprintf.texi: Update.
43400
43401 2009-02-26  Eric Blake  <ebb9@byu.net>
43402
43403         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
43404         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
43405         compilation bug by using runtime conversion.
43406         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
43407         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
43408         * modules/ceill-tests (Files): Use nan.h.
43409         * modules/floorl-tests (Files): Likewise.
43410         * modules/frexpl-tests (Files): Likewise.
43411         * modules/isnanl-tests (Files): Likewise.
43412         * modules/ldexpl-tests (Files): Likewise.
43413         * modules/roundl-tests (Files): Likewise.
43414         * modules/truncl-tests (Files): Likewise.
43415         * tests/test-ceill.c (main): Use a working NaN.
43416         * tests/test-floorl.c (main): Likewise.
43417         * tests/test-frexpl.c (main): Likewise.
43418         * tests/test-isnan.c (test_long_double): Likewise.
43419         * tests/test-isnanl.h (main): Likewise.
43420         * tests/test-ldexpl.h (main): Likewise.
43421         * tests/test-roundl.h (main): Likewise.
43422         * tests/test-truncl.h (main): Likewise.
43423         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
43424
43425 2009-02-26  Eric Blake  <ebb9@byu.net>
43426             Bruno Haible  <bruno@clisp.org>
43427
43428         Work around a *printf bug with %ls on Solaris.
43429         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
43430         precision is specified, sprintf stops converting the wide string
43431         argument when the number of bytes that have been produced by this
43432         conversion equals or exceeds the precision.
43433         * doc/posix-functions/fprintf.texi: Update.
43434         * doc/posix-functions/printf.texi: Update.
43435         * doc/posix-functions/snprintf.texi: Update.
43436         * doc/posix-functions/sprintf.texi: Update.
43437         * doc/posix-functions/vfprintf.texi: Update.
43438         * doc/posix-functions/vprintf.texi: Update.
43439         * doc/posix-functions/vsnprintf.texi: Update.
43440         * doc/posix-functions/vsprintf.texi: Update.
43441         * doc/glibc-functions/obstack_printf.texi: Update.
43442         * doc/glibc-functions/obstack_vprintf.texi: Update.
43443
43444 2009-02-26  Eric Blake  <ebb9@byu.net>
43445
43446         stdlib: favor compiler check of random.h
43447         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
43448         to avoid an ObjC random.h installed by Swarm.
43449
43450 2009-02-26  Bruno Haible  <bruno@clisp.org>
43451
43452         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
43453         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
43454         Reported by Gary V. Vaughan <gary@gnu.org>.
43455
43456 2009-02-26  Bruno Haible  <bruno@clisp.org>
43457
43458         Fix *printf behaviour regarding the %ls directive.
43459         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
43460         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
43461         NEED_PRINTF_DIRECTIVE_LS.
43462         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
43463         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43464         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43465         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
43466         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
43467         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
43468         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43469         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43470         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43471         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43472         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43473         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
43474         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43475         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43476         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43477         * doc/posix-functions/fprintf.texi: Update.
43478         * doc/posix-functions/printf.texi: Update.
43479         * doc/posix-functions/snprintf.texi: Update.
43480         * doc/posix-functions/sprintf.texi: Update.
43481         * doc/posix-functions/vfprintf.texi: Update.
43482         * doc/posix-functions/vprintf.texi: Update.
43483         * doc/posix-functions/vsnprintf.texi: Update.
43484         * doc/posix-functions/vsprintf.texi: Update.
43485         * doc/glibc-functions/obstack_printf.texi: Update.
43486         * doc/glibc-functions/obstack_vprintf.texi: Update.
43487         Reported by Eric Blake.
43488
43489 2009-02-25  Bruno Haible  <bruno@clisp.org>
43490
43491         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
43492         with known value.
43493         Reported by Gary V. Vaughan <gary@gnu.org>.
43494
43495 2009-02-25  Bruno Haible  <bruno@clisp.org>
43496
43497         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
43498         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
43499         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
43500         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
43501         Reported by Gary V. Vaughan <gary@gnu.org>.
43502
43503 2009-02-25  Bruno Haible  <bruno@clisp.org>
43504
43505         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
43506         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
43507         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
43508         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
43509         Reported by Gary V. Vaughan <gary@gnu.org>.
43510
43511 2009-02-25  Eric Blake  <ebb9@byu.net>
43512
43513         tests: skip fseek/ftell tests if ungetc is broken
43514         * m4/ungetc.m4: New file.
43515         * modules/fseek-tests: Split test, so ungetc dependency is
43516         separate from rest of test.
43517         * modules/fseeko-tests: Likewise.
43518         * modules/ftell-tests: Likewise.
43519         * modules/ftello-tests: Likewise.
43520         * tests/test-fseek.c (main): Isolate ungetc dependency.
43521         * tests/test-fseeko.c (main): Likewise.
43522         * tests/test-ftell.c (main): Likewise.
43523         * tests/test-ftello.c (main): Likewise.
43524         * tests/test-fseek2.sh: New file.
43525         * tests/test-fseeko2.sh: Likewise.
43526         * tests/test-ftell2.sh: Likewise.
43527         * tests/test-ftello2.sh: Likewise.
43528
43529 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
43530
43531         test-getaddrinfo: fix usage of skip return code 77
43532         * tests/test-gettaddrinfo.c: Return skip code 77 only
43533         for first occurance of skip (4x77 is not 77)
43534
43535 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
43536
43537         strtod: avoid C99 decl-after-statement
43538         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
43539
43540 2009-02-24  Eric Blake  <ebb9@byu.net>
43541
43542         strtod: detect HP-UX 11.31 bug
43543         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
43544         Reported by Gary V. Vaughan.
43545
43546 2009-02-23  Bruno Haible  <bruno@clisp.org>
43547
43548         Fix invalid read past end of memory block.
43549         * lib/vasnprintf.c (DCHAR_SET): Define.
43550         (local_wcslen): Define only when needed.
43551         (local_strnlen, local_wcsnlen): New functions.
43552         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
43553         directives that involve a conversion ourselves.
43554         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
43555         wcsnlen, mbrtowc, wcrtomb.
43556         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
43557         * tests/test-vasprintf-posix.c (test_function): Likewise.
43558         * tests/test-snprintf-posix.h (test_function): Likewise.
43559         * tests/test-sprintf-posix.h (test_function): Likewise.
43560         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43561
43562 2009-02-22  Bruno Haible  <bruno@clisp.org>
43563
43564         Implement new clarified decomposition of Hangul syllables.
43565         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
43566         of type LTV, return only a pairwise decomposition.
43567         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
43568         Likewise.
43569         * tests/uninorm/test-decomposition.c (main): Updated expected result.
43570         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
43571         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
43572
43573 2009-02-22  Bruno Haible  <bruno@clisp.org>
43574
43575         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
43576         zero-length results and shrink excess allocated memory.
43577         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
43578         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
43579         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
43580         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
43581         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
43582         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
43583         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
43584         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
43585         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
43586         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
43587         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
43588         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
43589
43590 2009-02-21  Bruno Haible  <bruno@clisp.org>
43591
43592         * doc/gnulib.texi: Include safe-alloc.texi earlier.
43593         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
43594         spaces after a period. Put a space between a macro name and its
43595         argument list. Trivial rewordings.
43596         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
43597         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
43598         (main): Return 0 explicitly.
43599
43600 2009-02-21  Bruno Haible  <bruno@clisp.org>
43601
43602         Tests for module 'uninorm/filter'.
43603         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
43604         * modules/uninorm/filter-tests: New file.
43605
43606         New module 'uninorm/filter'.
43607         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
43608         uninorm_filter_flush, uninorm_filter_free): New declarations.
43609         * lib/uninorm/uninorm-filter.c: New file.
43610         * modules/uninorm/filter: New file.
43611
43612 2009-02-21  Bruno Haible  <bruno@clisp.org>
43613
43614         Tests for module 'uninorm/nfkc'.
43615         * tests/uninorm/test-nfkc.c: New file.
43616         * tests/uninorm/test-u8-nfkc.c: New file.
43617         * tests/uninorm/test-u16-nfkc.c: New file.
43618         * tests/uninorm/test-u32-nfkc.c: New file.
43619         * tests/uninorm/test-u32-nfkc-big.sh: New file.
43620         * tests/uninorm/test-u32-nfkc-big.c: New file.
43621         * modules/uninorm/nfkc-tests: New file.
43622
43623         New module 'uninorm/nfkc'.
43624         * lib/uninorm/nfkc.c: New file.
43625         * modules/uninorm/nfkc: New file.
43626
43627         Tests for module 'uninorm/nfkd'.
43628         * tests/uninorm/test-nfkd.c: New file.
43629         * tests/uninorm/test-u8-nfkd.c: New file.
43630         * tests/uninorm/test-u16-nfkd.c: New file.
43631         * tests/uninorm/test-u32-nfkd.c: New file.
43632         * tests/uninorm/test-u32-nfkd-big.sh: New file.
43633         * tests/uninorm/test-u32-nfkd-big.c: New file.
43634         * modules/uninorm/nfkd-tests: New file.
43635
43636         New module 'uninorm/nfkd'.
43637         * lib/uninorm/nfkd.c: New file.
43638         * modules/uninorm/nfkd: New file.
43639
43640         Tests for module 'uninorm/nfc'.
43641         * tests/uninorm/test-nfc.c: New file.
43642         * tests/uninorm/test-u8-nfc.c: New file.
43643         * tests/uninorm/test-u16-nfc.c: New file.
43644         * tests/uninorm/test-u32-nfc.c: New file.
43645         * tests/uninorm/test-u32-nfc-big.sh: New file.
43646         * tests/uninorm/test-u32-nfc-big.c: New file.
43647         * modules/uninorm/nfc-tests: New file.
43648
43649         New module 'uninorm/nfc'.
43650         * lib/uninorm/nfc.c: New file.
43651         * modules/uninorm/nfc: New file.
43652
43653         Tests for module 'uninorm/nfd'.
43654         * tests/uninorm/test-nfd.c: New file.
43655         * tests/uninorm/test-u8-nfd.c: New file.
43656         * tests/uninorm/test-u16-nfd.c: New file.
43657         * tests/uninorm/test-u32-nfd.c: New file.
43658         * tests/uninorm/test-u32-nfd-big.sh: New file.
43659         * tests/uninorm/test-u32-nfd-big.c: New file.
43660         * tests/uninorm/test-u32-normalize-big.h: New file.
43661         * tests/uninorm/test-u32-normalize-big.c: New file.
43662         * tests/uninorm/NormalizationTest.txt: New file, created from
43663         Unicode 5.1.0 NormalizationTest.txt.
43664         * modules/uninorm/nfd-tests: New file.
43665
43666         New module 'uninorm/nfd'.
43667         * lib/uninorm/nfd.c: New file.
43668         * modules/uninorm/nfd: New file.
43669
43670         New module 'uninorm/u32-normalize'.
43671         * lib/uninorm/u32-normalize.c: New file.
43672         * modules/uninorm/u32-normalize: New file.
43673
43674         New module 'uninorm/u16-normalize'.
43675         * lib/uninorm/u16-normalize.c: New file.
43676         * modules/uninorm/u16-normalize: New file.
43677
43678         New module 'uninorm/u8-normalize'.
43679         * lib/uninorm/u8-normalize.c: New file.
43680         * lib/uninorm/normalize-internal.h: New file.
43681         * lib/uninorm/u-normalize-internal.h: New file.
43682         * modules/uninorm/u8-normalize: New file.
43683
43684         New module 'uninorm/decompose-internal'.
43685         * lib/uninorm/decompose-internal.c: New file.
43686         * modules/uninorm/decompose-internal: New file.
43687
43688         Tests for module 'uninorm/composition'.
43689         * tests/uninorm/test-composition.c: New file.
43690         * modules/uninorm/composition-tests: New file.
43691
43692         New module 'uninorm/composition'.
43693         * lib/uninorm/composition.c: New file.
43694         * lib/uninorm/composition-table.gperf: New file, generated by
43695         gen-uni-tables.
43696         * modules/uninorm/composition: New file.
43697
43698         Tests for module 'uninorm/compat-decomposition'.
43699         * tests/uninorm/test-compat-decomposition.c: New file.
43700         * modules/uninorm/compat-decomposition-tests: New file.
43701
43702         New module 'uninorm/compat-decomposition'.
43703         * lib/uninorm/decompose-internal.h: New file.
43704         * lib/uninorm/compat-decomposition.c: New file.
43705         * modules/uninorm/compat-decomposition: New file.
43706
43707         Tests for module 'uninorm/canonical-decomposition'.
43708         * tests/uninorm/test-canonical-decomposition.c: New file.
43709         * modules/uninorm/canonical-decomposition-tests: New file.
43710
43711         New module 'uninorm/canonical-decomposition'.
43712         * lib/uninorm/canonical-decomposition.c: New file.
43713         * modules/uninorm/canonical-decomposition: New file.
43714
43715         Tests for module 'uninorm/decomposition'.
43716         * tests/uninorm/test-decomposition.c: New file.
43717         * modules/uninorm/decomposition-tests: New file.
43718
43719         New module 'uninorm/decomposition'.
43720         * lib/uninorm/decomposition.c: New file.
43721         * modules/uninorm/decomposition: New file.
43722
43723         New module 'uninorm/decomposition-table'.
43724         * lib/uninorm/decomposition-table.h: New file.
43725         * lib/uninorm/decomposition-table.c: New file.
43726         * lib/uninorm/decomposition-table1.h: New file, generated by
43727         gen-uni-tables.
43728         * lib/uninorm/decomposition-table2.h: New file, generated by
43729         gen-uni-tables.
43730         * modules/uninorm/decomposition-table: New file.
43731
43732         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
43733         (UC_DECOMP_*): New enumeration items.
43734         (get_decomposition): New function.
43735         (struct decomp_table): New type.
43736         (output_decomposition, output_decomposition_tables): New functions.
43737         (unicode_composition_exclusions): New variable.
43738         (fill_composition_exclusions, debug_output_composition_tables): New
43739         functions.
43740         (main): Accept one more argument. Invoke fill_composition_exclusions.
43741         Output decomposition and composition tables.
43742
43743         New module 'uninorm/base'.
43744         * lib/uninorm.h: New file.
43745         * lib/unictype.h: Update comment.
43746         * modules/uninorm/base: New file.
43747
43748 2009-02-21  David Lutterkort  <lutter@redhat.com>
43749
43750         Tests for module 'safe-alloc'.
43751         * tests/test-safe-alloc.c: New file.
43752         * modules/safe-alloc-tests: New file.
43753
43754         New module 'safe-alloc'.
43755         * lib/safe-alloc.h: New file.
43756         * lib/safe-alloc.c: New file.
43757         * m4/safe-alloc.m4: New file.
43758         * modules/safe-alloc: New file.
43759         * doc/safe-alloc.texi: New file.
43760         * doc/gnulib.texi: Include it.
43761         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
43762         safe-alloc.
43763
43764 2009-02-18  Bruno Haible  <bruno@clisp.org>
43765
43766         Fix link error on non-glibc systems.
43767         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
43768         variable.
43769         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43770
43771 2009-02-18  Jim Meyering  <meyering@redhat.com>
43772
43773         fts: avoid used-uninitialized error due to recent change
43774         * lib/fts.c (fts_read): Guard uses of the new member,
43775         parent->fts_n_dirs_remaining, since it's not relevant for
43776         the parent of a directory specified on the command-line.
43777
43778 2009-02-17  James Youngman  <jay@gnu.org>
43779             Bruno Haible  <bruno@clisp.org>
43780
43781         * m4/include_next.m4: Reformulate comment.
43782
43783 2009-02-16  Jim Meyering  <meyering@redhat.com>
43784
43785         fts: add #if guards so that the fts_lgpl module still builds
43786         * lib/fts.c: Guard just-added hash-table-using parts with
43787         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
43788         Reported by Simon Josefsson.
43789
43790 2009-02-15  Bruno Haible  <bruno@clisp.org>
43791
43792         * modules/array-mergesort-tests: New file.
43793         * tests/test-array-mergesort.c: New file.
43794
43795         New module 'array-mergesort'.
43796         * modules/array-mergesort: New file.
43797         * lib/array-mergesort.h: New file.
43798
43799 2009-02-15  Bruno Haible  <bruno@clisp.org>
43800
43801         Fix 2009-02-07 commit.
43802         * lib/gen-uni-tables.c (output_predicate, output_category,
43803         output_combclass, output_bidi_category, output_decimal_digit,
43804         output_digit, output_numeric, output_mirror, output_scripts,
43805         output_ident_category, output_simple_mapping): Fix format directives.
43806         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
43807
43808 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
43809
43810         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
43811         fixes are available from IBM.
43812
43813 2009-02-13  Jim Meyering  <meyering@redhat.com>
43814
43815         fts: arrange not to stat non-directories in more cases
43816         This makes GNU find (when it doesn't need to stat each file)
43817         *much* more efficient at traversing reiserfs file systems.
43818         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
43819         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
43820         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
43821         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
43822         (leaf_optimization_applies): New function.
43823         (LCO_hash, LCO_compare): New helper functions.
43824         (link_count_optimize_ok): New function.
43825         (fts_stat): Initialize new member (if dir).
43826         (fts_read): Decrement parent's fts_n_dirs_remaining count if
43827         we've just stat'ed a directory.  Skip the stat call when possible.
43828         ---
43829         Note this AFS-related exchange:
43830         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
43831         and note find's pioctl call in find/fstype.c.
43832         But that is necessary only if you want to enable the
43833         optimization for AFS, and for now, I don't.
43834
43835         fts: move a function definition "up" (no semantic change)
43836         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
43837         "up" to precede upcoming use of a related function.
43838
43839 2009-02-11  Jim Meyering  <meyering@redhat.com>
43840
43841         fts: correct internal computation of nlinks (optimization-related)
43842         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
43843         whether the current entry is a directory, so don't test it.
43844
43845 2009-02-10  Bruno Haible  <bruno@clisp.org>
43846
43847         Tests for module 'uniwbrk/ulc-wordbreaks'.
43848         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
43849         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
43850         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
43851
43852         Tests for module 'uniwbrk/u32-wordbreaks'.
43853         * modules/uniwbrk/u32-wordbreaks-tests: New file.
43854         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
43855
43856         Tests for module 'uniwbrk/u16-wordbreaks'.
43857         * modules/uniwbrk/u16-wordbreaks-tests: New file.
43858         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
43859
43860         Tests for module 'uniwbrk/u8-wordbreaks'.
43861         * modules/uniwbrk/u8-wordbreaks-tests: New file.
43862         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
43863
43864 2009-02-10  Bruno Haible  <bruno@clisp.org>
43865
43866         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
43867         property.
43868         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
43869         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
43870         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
43871
43872 2009-02-10  Simon Josefsson  <simon@josefsson.org>
43873
43874         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
43875         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
43876
43877 2009-02-10  Bruno Haible  <bruno@clisp.org>
43878
43879         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
43880         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
43881         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
43882         * lib/unilbrk/u8-possible-linebreaks.c: Update.
43883         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
43884         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
43885
43886 2009-02-09  Simon Josefsson  <simon@josefsson.org>
43887
43888         * lib/sockets.h (gl_fd_to_handle): New function.
43889
43890         * tests/test-sockets.c: Call gl_fd_to_handle.
43891
43892 2009-02-09  Bruno Haible  <bruno@clisp.org>
43893
43894         * doc/havelib.texi: Document the conventions on bi-arch systems.
43895
43896 2009-02-08  Bruno Haible  <bruno@clisp.org>
43897
43898         Document the AC_LIB_LINKFLAGS macro.
43899         * doc/havelib.texi: New file, mostly written on 2005-05-24.
43900         * doc/gnulib.texi: Include it.
43901
43902 2009-02-08  Bruno Haible  <bruno@clisp.org>
43903
43904         Fix wrong order of sections, compared to TOC.
43905         * doc/gnulib.texi: Include relocatable-maint.texi after the
43906         "Regular expressions" node, not before.
43907
43908 2009-02-08  Bruno Haible  <bruno@clisp.org>
43909
43910         Tests for module 'unicase/totitle'.
43911         * modules/unicase/totitle-tests: New file.
43912
43913         Tests for module 'unicase/tolower'.
43914         * modules/unicase/tolower-tests: New file.
43915
43916         Tests for module 'unicase/toupper'.
43917         * modules/unicase/toupper-tests: New file.
43918         * tests/unicase/test-mapping-part1.h: New file.
43919         * tests/unicase/test-mapping-part2.h: New file.
43920
43921         New module 'unicase/totitle'.
43922         * modules/unicase/totitle: New file.
43923         * lib/unicase/totitle.c: New file.
43924
43925         New module 'unicase/tolower'.
43926         * modules/unicase/tolower: New file.
43927         * lib/unicase/tolower.c: New file.
43928
43929         New module 'unicase/toupper'.
43930         * modules/unicase/toupper: New file.
43931         * lib/unicase/toupper.c: New file.
43932         * lib/unicase/simple-mapping.h: New file.
43933
43934         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
43935         (mapping_table): New structure.
43936         (output_simple_mapping): New function.
43937         (main): Invoke output_simple_mapping_test and output_simple_mapping.
43938         * modules/gen-uni-tables (Description): Update.
43939         * lib/unicase/toupper.h: New file, automatically generated by
43940         gen-uni-tables.
43941         * lib/unicase/tolower.h: New file, automatically generated by
43942         gen-uni-tables.
43943         * lib/unicase/totitle.h: New file, automatically generated by
43944         gen-uni-tables.
43945         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
43946         gen-uni-tables.
43947         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
43948         gen-uni-tables.
43949         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
43950         gen-uni-tables.
43951
43952         New module 'unicase/base'.
43953         * modules/unicase/base: New file.
43954         * lib/unicase.h: New file.
43955
43956 2009-02-08  Bruno Haible  <bruno@clisp.org>
43957
43958         New module 'uniwbrk/ulc-wordbreaks'.
43959         * modules/uniwbrk/ulc-wordbreaks: New file.
43960         * lib/uniwbrk/ulc-wordbreaks.c: New file.
43961
43962         New module 'uniwbrk/u32-wordbreaks'.
43963         * modules/uniwbrk/u32-wordbreaks: New file.
43964         * lib/uniwbrk/u32-wordbreaks.c: New file.
43965
43966         New module 'uniwbrk/u16-wordbreaks'.
43967         * modules/uniwbrk/u16-wordbreaks: New file.
43968         * lib/uniwbrk/u16-wordbreaks.c: New file.
43969
43970         New module 'uniwbrk/u8-wordbreaks'.
43971         * modules/uniwbrk/u8-wordbreaks: New file.
43972         * lib/uniwbrk/u8-wordbreaks.c: New file.
43973         * lib/uniwbrk/u-wordbreaks.h: New file.
43974
43975         New module 'uniwbrk/table'.
43976         * modules/uniwbrk/table: New file.
43977         * lib/uniwbrk/wbrktable.h: New file.
43978         * lib/uniwbrk/wbrktable.c: New file.
43979
43980         New module 'uniwbrk/wordbreak-property'.
43981         * modules/uniwbrk/wordbreak-property: New file.
43982         * lib/uniwbrk/wordbreak-property.c: New file.
43983
43984         * lib/gen-uni-tables.c (WBP_*): New enum items.
43985         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
43986         (unicode_org_wbp): New variable.
43987         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
43988         New functions.
43989         (wbp_table): New structure.
43990         (output_wbp, output_wbrk_tables): New functions.
43991         (main): Accept additional argument. Invoke fill_org_wbp,
43992         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
43993         output_wbrk_tables.
43994         * modules/gen-uni-tables (Description): Update.
43995         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
43996         gen-uni-tables.
43997
43998         New module 'uniwbrk/base'.
43999         * modules/uniwbrk/base: New file.
44000         * lib/uniwbrk.h: New file.
44001
44002 2009-02-08  Bruno Haible  <bruno@clisp.org>
44003
44004         Update to Unicode 5.1.0.
44005         * lib/gen-uni-tables.c (is_property_alphabetic): Include
44006         U+2185..U+2188.
44007         (is_property_default_ignorable_code_point): Don't include characters
44008         of category Cc or Cs and not-a-characters.
44009         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
44010         U+0D79, U+109E, U+109F, U+A60C.
44011         * lib/unictype/bidi_of.h: Regenerated.
44012         * lib/unictype/blocks.h: Regenerated.
44013         * lib/unictype/categ_C.h: Regenerated.
44014         * lib/unictype/categ_Cf.h: Regenerated.
44015         * lib/unictype/categ_Cn.h: Regenerated.
44016         * lib/unictype/categ_L.h: Regenerated.
44017         * lib/unictype/categ_Ll.h: Regenerated.
44018         * lib/unictype/categ_Lm.h: Regenerated.
44019         * lib/unictype/categ_Lo.h: Regenerated.
44020         * lib/unictype/categ_Lu.h: Regenerated.
44021         * lib/unictype/categ_M.h: Regenerated.
44022         * lib/unictype/categ_Mc.h: Regenerated.
44023         * lib/unictype/categ_Me.h: Regenerated.
44024         * lib/unictype/categ_Mn.h: Regenerated.
44025         * lib/unictype/categ_N.h: Regenerated.
44026         * lib/unictype/categ_Nd.h: Regenerated.
44027         * lib/unictype/categ_Nl.h: Regenerated.
44028         * lib/unictype/categ_No.h: Regenerated.
44029         * lib/unictype/categ_P.h: Regenerated.
44030         * lib/unictype/categ_Pd.h: Regenerated.
44031         * lib/unictype/categ_Pe.h: Regenerated.
44032         * lib/unictype/categ_Pf.h: Regenerated.
44033         * lib/unictype/categ_Pi.h: Regenerated.
44034         * lib/unictype/categ_Po.h: Regenerated.
44035         * lib/unictype/categ_Ps.h: Regenerated.
44036         * lib/unictype/categ_S.h: Regenerated.
44037         * lib/unictype/categ_Sk.h: Regenerated.
44038         * lib/unictype/categ_Sm.h: Regenerated.
44039         * lib/unictype/categ_So.h: Regenerated.
44040         * lib/unictype/categ_of.h: Regenerated.
44041         * lib/unictype/combining.h: Regenerated.
44042         * lib/unictype/ctype_alnum.h: Regenerated.
44043         * lib/unictype/ctype_alpha.h: Regenerated.
44044         * lib/unictype/ctype_graph.h: Regenerated.
44045         * lib/unictype/ctype_lower.h: Regenerated.
44046         * lib/unictype/ctype_print.h: Regenerated.
44047         * lib/unictype/ctype_punct.h: Regenerated.
44048         * lib/unictype/ctype_upper.h: Regenerated.
44049         * lib/unictype/decdigit.h: Regenerated.
44050         * lib/unictype/digit.h: Regenerated.
44051         * lib/unictype/mirror.h: Regenerated.
44052         * lib/unictype/numeric.h: Regenerated.
44053         * lib/unictype/pr_alphabetic.h: Regenerated.
44054         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
44055         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
44056         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
44057         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
44058         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
44059         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
44060         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
44061         * lib/unictype/pr_combining.h: Regenerated.
44062         * lib/unictype/pr_dash.h: Regenerated.
44063         * lib/unictype/pr_decimal_digit.h: Regenerated.
44064         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
44065         * lib/unictype/pr_deprecated.h: Regenerated.
44066         * lib/unictype/pr_diacritic.h: Regenerated.
44067         * lib/unictype/pr_extender.h: Regenerated.
44068         * lib/unictype/pr_format_control.h: Regenerated.
44069         * lib/unictype/pr_grapheme_base.h: Regenerated.
44070         * lib/unictype/pr_grapheme_extend.h: Regenerated.
44071         * lib/unictype/pr_grapheme_link.h: Regenerated.
44072         * lib/unictype/pr_id_continue.h: Regenerated.
44073         * lib/unictype/pr_id_start.h: Regenerated.
44074         * lib/unictype/pr_ideographic.h: Regenerated.
44075         * lib/unictype/pr_ignorable_control.h: Regenerated.
44076         * lib/unictype/pr_lowercase.h: Regenerated.
44077         * lib/unictype/pr_math.h: Regenerated.
44078         * lib/unictype/pr_numeric.h: Regenerated.
44079         * lib/unictype/pr_other_alphabetic.h: Regenerated.
44080         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
44081         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
44082         * lib/unictype/pr_other_id_continue.h: Regenerated.
44083         * lib/unictype/pr_other_lowercase.h: Regenerated.
44084         * lib/unictype/pr_other_math.h: Regenerated.
44085         * lib/unictype/pr_punctuation.h: Regenerated.
44086         * lib/unictype/pr_sentence_terminal.h: Regenerated.
44087         * lib/unictype/pr_soft_dotted.h: Regenerated.
44088         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
44089         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
44090         * lib/unictype/pr_unified_ideograph.h: Regenerated.
44091         * lib/unictype/pr_uppercase.h: Regenerated.
44092         * lib/unictype/pr_xid_continue.h: Regenerated.
44093         * lib/unictype/pr_xid_start.h: Regenerated.
44094         * lib/unictype/pr_zero_width.h: Regenerated.
44095         * lib/unictype/scripts.h: Regenerated.
44096         * lib/unictype/scripts_byname.gperf: Regenerated.
44097         * lib/unictype/sy_java_ident.h: Regenerated.
44098         * lib/unilbrk/lbrkprop1.h: Regenerated.
44099         * lib/unilbrk/lbrkprop2.h: Regenerated.
44100         * tests/unictype/test-categ_C.c: Regenerated.
44101         * tests/unictype/test-categ_Cf.c: Regenerated.
44102         * tests/unictype/test-categ_Cn.c: Regenerated.
44103         * tests/unictype/test-categ_L.c: Regenerated.
44104         * tests/unictype/test-categ_Ll.c: Regenerated.
44105         * tests/unictype/test-categ_Lm.c: Regenerated.
44106         * tests/unictype/test-categ_Lo.c: Regenerated.
44107         * tests/unictype/test-categ_Lu.c: Regenerated.
44108         * tests/unictype/test-categ_M.c: Regenerated.
44109         * tests/unictype/test-categ_Mc.c: Regenerated.
44110         * tests/unictype/test-categ_Me.c: Regenerated.
44111         * tests/unictype/test-categ_Mn.c: Regenerated.
44112         * tests/unictype/test-categ_N.c: Regenerated.
44113         * tests/unictype/test-categ_Nd.c: Regenerated.
44114         * tests/unictype/test-categ_Nl.c: Regenerated.
44115         * tests/unictype/test-categ_No.c: Regenerated.
44116         * tests/unictype/test-categ_P.c: Regenerated.
44117         * tests/unictype/test-categ_Pd.c: Regenerated.
44118         * tests/unictype/test-categ_Pe.c: Regenerated.
44119         * tests/unictype/test-categ_Pf.c: Regenerated.
44120         * tests/unictype/test-categ_Pi.c: Regenerated.
44121         * tests/unictype/test-categ_Po.c: Regenerated.
44122         * tests/unictype/test-categ_Ps.c: Regenerated.
44123         * tests/unictype/test-categ_S.c: Regenerated.
44124         * tests/unictype/test-categ_Sk.c: Regenerated.
44125         * tests/unictype/test-categ_Sm.c: Regenerated.
44126         * tests/unictype/test-categ_So.c: Regenerated.
44127         * tests/unictype/test-ctype_alnum.c: Regenerated.
44128         * tests/unictype/test-ctype_alpha.c: Regenerated.
44129         * tests/unictype/test-ctype_graph.c: Regenerated.
44130         * tests/unictype/test-ctype_lower.c: Regenerated.
44131         * tests/unictype/test-ctype_print.c: Regenerated.
44132         * tests/unictype/test-ctype_punct.c: Regenerated.
44133         * tests/unictype/test-ctype_upper.c: Regenerated.
44134         * tests/unictype/test-decdigit.h: Regenerated.
44135         * tests/unictype/test-digit.h: Regenerated.
44136         * tests/unictype/test-numeric.h: Regenerated.
44137         * tests/unictype/test-pr_alphabetic.c: Regenerated.
44138         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
44139         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
44140         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
44141         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
44142         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
44143         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
44144         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
44145         * tests/unictype/test-pr_combining.c: Regenerated.
44146         * tests/unictype/test-pr_dash.c: Regenerated.
44147         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
44148         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
44149         * tests/unictype/test-pr_deprecated.c: Regenerated.
44150         * tests/unictype/test-pr_diacritic.c: Regenerated.
44151         * tests/unictype/test-pr_extender.c: Regenerated.
44152         * tests/unictype/test-pr_format_control.c: Regenerated.
44153         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
44154         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
44155         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
44156         * tests/unictype/test-pr_id_continue.c: Regenerated.
44157         * tests/unictype/test-pr_id_start.c: Regenerated.
44158         * tests/unictype/test-pr_ideographic.c: Regenerated.
44159         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
44160         * tests/unictype/test-pr_lowercase.c: Regenerated.
44161         * tests/unictype/test-pr_math.c: Regenerated.
44162         * tests/unictype/test-pr_numeric.c: Regenerated.
44163         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
44164         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
44165         Regenerated.
44166         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
44167         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
44168         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
44169         * tests/unictype/test-pr_other_math.c: Regenerated.
44170         * tests/unictype/test-pr_punctuation.c: Regenerated.
44171         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
44172         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
44173         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
44174         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
44175         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
44176         * tests/unictype/test-pr_uppercase.c: Regenerated.
44177         * tests/unictype/test-pr_xid_continue.c: Regenerated.
44178         * tests/unictype/test-pr_xid_start.c: Regenerated.
44179         * tests/unictype/test-pr_zero_width.c: Regenerated.
44180
44181         Update to Unicode 5.1.0.
44182         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
44183         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
44184         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
44185         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
44186         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
44187         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
44188         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
44189         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
44190         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
44191         (nonspacing_table_ind): Update.
44192         * tests/uniwidth/test-uc_width2.sh: Update expected result.
44193
44194         Update to Unicode 5.1.0.
44195         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
44196         code transform.
44197         * lib/uniname/uniname.c (unicode_character_name,
44198         unicode_name_character): Add the range 0x1Fxxx to the code transform.
44199         * lib/uniname/uninames.h: Regenerated.
44200         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
44201
44202 2009-02-07  Bruno Haible  <bruno@clisp.org>
44203
44204         Merge gen-ctype and gen-lbrk into a single program.
44205         * lib/gen-uni-tables.c: New file, incorporating
44206         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
44207         Add directory prefixes to the names of the generated files.
44208         * lib/unictype/gen-ctype.c: Remove file.
44209         * lib/unilbrk/gen-lbrk.c: Remove file.
44210         * modules/gen-uni-tables: New file.
44211         * modules/unictype/gen-ctype: Remove file.
44212         * modules/unilbrk/gen-lbrk: Remove file.
44213
44214 2009-02-07  Bruno Haible  <bruno@clisp.org>
44215
44216         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
44217
44218         New module 'unistr/u32-strcoll'.
44219         * modules/unistr/u32-strcoll: New file.
44220         * lib/unistr/u32-strcoll.c: New file.
44221
44222         New module 'unistr/u16-strcoll'.
44223         * modules/unistr/u16-strcoll: New file.
44224         * lib/unistr/u16-strcoll.c: New file.
44225
44226         New module 'unistr/u8-strcoll'.
44227         * modules/unistr/u8-strcoll: New file.
44228         * lib/unistr/u8-strcoll.c: New file.
44229         * lib/unistr/u-strcoll.h: New file.
44230
44231 2009-02-07  Bruno Haible  <bruno@clisp.org>
44232
44233         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
44234         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44235         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44236         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
44237         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
44238         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
44239
44240 2009-02-07  Bruno Haible  <bruno@clisp.org>
44241
44242         Make 64-bit clean.
44243         * lib/unictype/gen-ctype.c (output_predicate, output_category,
44244         output_combclass, output_bidi_category, output_decimal_digit,
44245         output_digit, output_numeric, output_mirror, output_scripts,
44246         output_ident_category): Use proper width specifier in format strings.
44247
44248 2009-02-07  Bruno Haible  <bruno@clisp.org>
44249
44250         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
44251         failure behaviour.
44252
44253 2009-02-07  Jim Meyering  <meyering@redhat.com>
44254
44255         regex: avoid compilation failure with upcoming gcc-4.4
44256         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
44257         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
44258         "... error: integer overflow in preprocessor expression".
44259
44260 2009-02-05  Ben Pfaff  <blp@gnu.org>
44261
44262         Fix link errors on Windows when close module is used.
44263         * modules/close: Add $(LIB_CLOSE) to Link section.
44264         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
44265         $(LIB_CLOSE) on Windows.
44266
44267 2009-02-05  Jim Meyering  <meyering@redhat.com>
44268
44269         still avoid unused-parameter warnings, but do it cleanly
44270         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
44271         (get_fs_usage): Cast to void instead.
44272         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
44273         (dev_from_mount_options, read_file_system_list): Cast to void.
44274         Prompted by Bruno Haible.
44275
44276 2009-02-04  Jim Meyering  <meyering@redhat.com>
44277
44278         fsusage.c: correct copyright year
44279         * lib/fsusage.c: Reflect year in which the change is pushed into
44280
44281         avoid misc. warnings
44282         * lib/fsusage.c (UNUSED_PARAM): Define.
44283         (get_fs_usage): Mark parameter "disk" as unused.
44284         * lib/getugroups.c (getgrent): Use "void" in prototype.
44285         * lib/mountlist.c: Mark unused parameters.
44286         (read_file_system_list): Declare a local with "const".
44287         * lib/nanosleep.c (getnow): Declare static.
44288         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
44289
44290         dirfd: set errno upon failure
44291         * lib/dirfd.c: Include <errno.h>.
44292         Set errno to ENOTSUP when returning -1.
44293         * modules/dirfd (Depends-on): Add errno.
44294         Suggested by John Kodis <kodis@comcast.net>.
44295
44296 2009-02-01  Bruno Haible  <bruno@clisp.org>
44297
44298         Don't assume sizeof (long) >= sizeof (void *).
44299         * lib/memcmp.c: Include stdint.h.
44300         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
44301         srcp2 to 'const byte *'.
44302         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
44303         types to uintptr_t.
44304         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
44305         * modules/memcmp (Depends-on): Add stdint.
44306         Reported by Ozkan Sezer <sezeroz@gmail.com>.
44307
44308 2009-01-30  Eric Blake  <ebb9@byu.net>
44309
44310         fix more require-before-expand issues
44311         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
44312         expand, AC_PROG_AWK.
44313         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
44314
44315 2009-01-28  Eric Blake  <ebb9@byu.net>
44316
44317         version-etc: use consistent URL formatting
44318         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
44319         Improve formatting.  Use fputs for string without %.
44320
44321 2009-01-28  Jim Meyering  <meyering@redhat.com>
44322
44323         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
44324         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
44325         "underquoted definition of NAME" from autoconf-2.59.
44326
44327 2009-01-28  Bruno Haible  <bruno@clisp.org>
44328
44329         * doc/gnulib.texi: Add "Obsolete modules" to index.
44330
44331 2009-01-28  Jim Meyering  <meyering@redhat.com>
44332
44333         useless-if-before-free: recognize more variants
44334         * build-aux/useless-if-before-free: Also recognize e.g.,
44335         if (NULL != p) free (p);
44336
44337 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
44338
44339         test-getaddrinfo: skip (don't fail) this test when there's no network
44340         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
44341         on the presumption that it means you lack network access.
44342
44343 2009-01-26  Jim Meyering  <meyering@redhat.com>
44344
44345         fflush: avoid warnings on modern systems
44346         * lib/fflush.c (rpl_fflush): Move declarations of locals,
44347         pos and result, into scopes where they're used.
44348
44349 2009-01-26  Eric Blake  <ebb9@byu.net>
44350
44351         Silence warning reintroduced by recent extensions patch.
44352         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
44353         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
44354         autoconf.
44355
44356         Backport improved autoconf semantics of AC_DEFUN_ONCE.
44357         * m4/00gnulib.m4: New file.
44358         * gnulib-tool (func_get_filelist): Always use it.
44359         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
44360         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
44361
44362 2009-01-25  Bruno Haible  <bruno@clisp.org>
44363
44364         Make test-quotearg work on MacOS X and AIX.
44365         * tests/test-quotearg.sh: New file.
44366         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
44367         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
44368         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
44369         include <libintl.h>.
44370         (fake_locale): Remove variable.
44371         (gettext, dgettext, dcgettext): Remove functions.
44372         (main): Instead of setting a fake locale, set a real locale. Call
44373         textdomain and bindtextdomain.
44374         * modules/quotearg-tests (Files): Add the new files.
44375         (Depends-on): Add gettext, setenv, unsetenv.
44376         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
44377         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
44378         Augment TESTS_ENVIRONMENT.
44379
44380 2009-01-25  Bruno Haible  <bruno@clisp.org>
44381
44382         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
44383         fr_FR.ISO8859-1 locale on MacOS X.
44384         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
44385         ja_JP.eucJP locale on MacOS X.
44386         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
44387         zh_CN.GB18030 locale on MacOS X.
44388
44389 2009-01-25  Bruno Haible  <bruno@clisp.org>
44390
44391         Avoid link errors on MacOS X 10.3.
44392         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
44393         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44394
44395 2009-01-25  Bruno Haible  <bruno@clisp.org>
44396
44397         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44398         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
44399         * modules/pipe (Files): Remove m4/posix_spawn.m4.
44400         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44401         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
44402         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44403         posix_spawnattr_init, posix_spawnattr_setsigmask,
44404         posix_spawnattr_setflags, posix_spawnattr_destroy.
44405
44406         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44407         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
44408         * modules/execute (Files): Remove m4/posix_spawn.m4.
44409         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44410         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44411         posix_spawnattr_init, posix_spawnattr_setsigmask,
44412         posix_spawnattr_setflags, posix_spawnattr_destroy.
44413
44414 2009-01-25  Bruno Haible  <bruno@clisp.org>
44415
44416         * lib/glthread/threadlib.c: Include <stdlib.h>.
44417
44418 2009-01-25  Bruno Haible  <bruno@clisp.org>
44419
44420         * lib/glthread/threadlib.c (dummy): New declaration.
44421
44422 2009-01-25  Bruno Haible  <bruno@clisp.org>
44423
44424         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
44425         multibyte characters also for the GB18030 encoding. Don't crash when
44426         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
44427
44428 2009-01-25  Bruno Haible  <bruno@clisp.org>
44429
44430         Avoid redefining 'struct random_data' on OSF/1 5.1.
44431         * lib/stdlib.in.h: Include <random.h> if it exists.
44432         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
44433         HAVE_RANDOM_H. Include <random.h> when testing whether
44434         'struct random_data' exists.
44435         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
44436
44437 2009-01-25  Bruno Haible  <bruno@clisp.org>
44438
44439         Don't install charset.alias on MacOS X >= 10.3.
44440         * lib/localcharset.c (DARWIN7): New macro.
44441         (get_charset_aliases): Hardcode the result for Darwin7.
44442         * modules/localcharset (install-exec-local): Don't install
44443         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
44444
44445 2009-01-25  Bruno Haible  <bruno@clisp.org>
44446
44447         Don't install charset.alias on mingw and Cygwin.
44448         * modules/localcharset (install-exec-local): Don't install
44449         charset.alias on mingw and Cygwin, if the file does not yet exist.
44450         The result for these platforms is hardcoded in localcharset.c.
44451
44452 2009-01-25  Bruno Haible  <bruno@clisp.org>
44453
44454         Make it possible again to use AC_GNU_SOURCE together with gnulib.
44455         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
44456         before requiring AC_USE_SYSTEM_EXTENSIONS.
44457
44458 2009-01-25  Jim Meyering  <meyering@redhat.com>
44459
44460         c-strtod: avoid warnings
44461         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
44462         "assignment discards qualifiers from pointer target type" warnings.
44463
44464 2009-01-24  Bruno Haible  <bruno@clisp.org>
44465
44466         Add support for non-UTF-8 locales on MacOS X.
44467         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
44468         canonical encodings. For Darwin 7 and newer, don't map traditional
44469         encodings to UTF-8.
44470         Reported by Vincent Lefevre <vincent@vinc17.org>
44471         at <http://savannah.gnu.org/bugs/?25235>.
44472
44473 2009-01-24  Bruno Haible  <bruno@clisp.org>
44474
44475         * doc/gnulib.texi (Obsolete modules): New section.
44476         Reported by Mike Frysinger <vapier@gentoo.org>.
44477
44478 2009-01-24  Bruno Haible  <bruno@clisp.org>
44479
44480         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
44481         (%.dvi): New rule.
44482
44483 2009-01-24  Bruno Haible  <bruno@clisp.org>
44484
44485         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
44486         Reported by Eric Blake.
44487
44488 2009-01-24  Bruno Haible  <bruno@clisp.org>
44489
44490         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
44491         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
44492         Reported by Gary V. Vaughan <gary@gnu.org>.
44493
44494 2009-01-24  Bruno Haible  <bruno@clisp.org>
44495
44496         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
44497
44498 2009-01-23  Bruno Haible  <bruno@clisp.org>
44499
44500         Make c-strtod, c-strtold usable in libraries.
44501         * lib/c-strtod.c: Include string.h instead of xalloc.h.
44502         (C_STRTOD): Call strdup instead of xstrdup.
44503         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
44504         * modules/c-strtold (Depends-on): Likewise.
44505         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
44506         * NEWS: Mention the change.
44507         Reported by Michael Gold <mgold@ncf.ca>.
44508
44509 2009-01-23  Jim Meyering  <meyering@redhat.com>
44510
44511         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
44512         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
44513         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
44514
44515 2009-01-23  Simon Josefsson  <simon@josefsson.org>
44516
44517         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
44518         GNU CoreUtils.
44519         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
44520         * modules/version-etc (Description): Update.
44521
44522 2009-01-22  Bruno Haible  <bruno@clisp.org>
44523
44524         Cache the C locale object.
44525         * lib/c-strtod.c (c_locale_cache): New variable.
44526         (c_locale): New function.
44527         (C_STRTOD): Use it, and don't call freelocale.
44528         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
44529         Suggested by Paolo Bonzini.
44530
44531 2009-01-21  Bruno Haible  <bruno@clisp.org>
44532
44533         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
44534         conditions other than overflow.
44535
44536 2009-01-21  Bruno Haible  <bruno@clisp.org>
44537
44538         * lib/c-strtod.c: Include errno.h.
44539         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
44540         value from STRTOD_L and STRTOD.
44541
44542 2009-01-21  Bruno Haible  <bruno@clisp.org>
44543         and Jim Meyering  <meyering@redhat.com>
44544
44545         nanosleep: skip configure test (fail it) for apple universal builds
44546         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
44547         universal builds, assume that nanosleep does not work.
44548         * modules/nanosleep (Depends-on): Add multiarch.
44549
44550         mktime: skip configure test (fail it) for apple universal builds
44551         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
44552         universal builds, assume that mktime does not work.
44553         * modules/mktime (Depends-on): Add multiarch.
44554
44555 2009-01-21  Eric Blake  <ebb9@byu.net>
44556
44557         multiarch: avoid expand-before-require warning
44558         * modules/multiarch (configure.ac): Require, rather than expand,
44559         gl_MULTIARCH.
44560         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
44561         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
44562         enforce that all clients require it.  Partial reversion of
44563         2008-12-29 patch.
44564
44565         error: avoid expand-before-require warning
44566         * modules/errno (configure.ac): Require, rather than expand,
44567         gl_HEADER_ERRNO_H.
44568         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
44569         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
44570         enforce that all clients require it.
44571
44572         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
44573         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
44574         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
44575         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
44576
44577 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
44578
44579         Revert:
44580         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44581
44582         regex: do not depend on obsolete modules.
44583         * modules/regex: Remove memcmp and memmove.
44584
44585 2009-01-20  Bruno Haible  <bruno@clisp.org>
44586
44587         Make the 'link' module link on Windows NT 4.
44588         * lib/link.c (_WIN32_WINNT): Don't define.
44589         (CreateHardLinkFuncType): New type.
44590         (CreateHardLinkFunc, initialized): New variables.
44591         (initialize): New function.
44592         (link): Invoke CreateHardLink indirectly through the function pointer.
44593
44594 2009-01-20  Bruno Haible  <bruno@clisp.org>
44595
44596         Fix compilation failure on mingw.
44597         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
44598
44599 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
44600
44601         * doc/c-strtod.texi: Mention a couple of restrictions.
44602
44603 2009-01-20  Jim Meyering  <meyering@redhat.com>
44604
44605         gettimeofday: move more declarations out of functions
44606         * lib/gettimeofday.c: Move extern declarations of tzset and
44607         gmtime out of containing functions.  Prompted by Bruno Haible.
44608
44609 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44610
44611         regex: do not depend on obsolete modules.
44612         * modules/regex: Remove memcmp and memmove.
44613
44614 2009-01-19  Bruno Haible  <bruno@clisp.org>
44615
44616         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44617         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
44618         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44619         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
44620         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
44621
44622 2009-01-19  Bruno Haible  <bruno@clisp.org>
44623
44624         * tests/test-link.c: Include <errno.h>.
44625         (main): Exit with code 77 when a hard link cannot be created due to
44626         the file system.
44627         * tests/test-link.sh: Skip test when a hard link cannot be created due
44628         to the file system.
44629         Suggested by Eric Blake.
44630
44631 2009-01-19  Martin Lambers  <marlam@marlam.de>
44632
44633         * modules/link-tests: New file.
44634         * tests/test-link.sh: New file.
44635         * tests/test-link.c: New file.
44636
44637 2009-01-19  Eric Blake  <ebb9@byu.net>
44638
44639         doc: mention another function added in cygwin 1.7.0
44640         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
44641         Another new function in cygwin 1.7.
44642
44643 2009-01-19  Bruno Haible  <bruno@clisp.org>
44644
44645         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44646         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
44647         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
44648         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44649         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44650         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
44651         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44652         * m4/md4.m4 (gl_MD4): Likewise.
44653         * m4/md5.m4 (gl_MD5): Likewise.
44654         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
44655         * m4/sha1.m4 (gl_SHA1): Likewise.
44656         * m4/sha256.m4 (gl_SHA256): Likewise.
44657         * m4/sha512.m4 (gl_SHA512): Likewise.
44658
44659 2009-01-19  Bruno Haible  <bruno@clisp.org>
44660
44661         * modules/uniname/uniname-tests (Depends-on): Add progname.
44662         * tests/uniname/test-uninames.c: Include progname.h.
44663         (main): Call set_program_name.
44664
44665         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
44666         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
44667         (main): Call set_program_name.
44668
44669         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
44670         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
44671         (main): Call set_program_name.
44672
44673         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
44674         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
44675         (main): Call set_program_name.
44676
44677         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
44678         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
44679         (main): Call set_program_name.
44680
44681         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
44682         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
44683         (main): Call set_program_name.
44684
44685         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
44686         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
44687         (main): Call set_program_name.
44688
44689         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
44690         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
44691         (main): Call set_program_name.
44692
44693         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
44694         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
44695         (main): Call set_program_name.
44696
44697 2009-01-19  Eric Blake  <ebb9@byu.net>
44698
44699         test-unistd: test previous patch
44700         * tests/test-unistd.c: Test *_FILENO macros.
44701
44702         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
44703         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44704         Guarantee a definition.
44705         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
44706         * modules/unistd-safer (Depends-on): Add dependency on unistd.
44707         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
44708         * lib/dup-safer.c (STDERR_FILENO): Likewise.
44709         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44710         Likewise.
44711         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
44712         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
44713         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44714         Likewise.
44715         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
44716         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
44717         (STDERR_FILENO): Likewise.
44718         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
44719         (STDERR_FILENO): Likewise.
44720         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
44721         (STDERR_FILENO): Likewise.
44722         Reported by Elbert Pol.
44723
44724 2009-01-19  Eric Blake  <ebb9@byu.net>
44725
44726         doc: mention more functions added in cygwin 1.7.0
44727         * doc/posix-functions/abort.texi (abort): Update wording related
44728         to cygwin.
44729         * doc/posix-functions/daylight.texi (daylight): Likewise.
44730         * doc/posix-functions/optarg.texi (optarg): Likewise.
44731         * doc/posix-functions/optarg.texi (opterr): Likewise.
44732         * doc/posix-functions/optarg.texi (optind): Likewise.
44733         * doc/posix-functions/optarg.texi (optopt): Likewise.
44734         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
44735         worked in 1.5.x, and was withdrawn in 1.7.
44736         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
44737         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
44738         cygwin versions.
44739         * doc/posix-functions/perror.texi (perror): Likewise.
44740         * doc/posix-functions/printf.texi (printf): Likewise.
44741         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
44742         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
44743         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
44744         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
44745         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44746         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
44747         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44748         Likewise.
44749         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44750         Likewise.
44751         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
44752         this function.
44753         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
44754         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
44755         Likewise.
44756         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
44757         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
44758         * doc/posix-functions/confstr.texi (confstr): Likewise.
44759         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
44760         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
44761         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
44762         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
44763         * doc/posix-functions/fputws.texi (fputws): Likewise.
44764         * doc/posix-functions/fwide.texi (fwide): Likewise.
44765         * doc/posix-functions/getwc.texi (getwc): Likewise.
44766         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
44767         * doc/posix-functions/putwc.texi (putwc): Likewise.
44768         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
44769         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
44770         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
44771         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
44772         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
44773         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
44774         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
44775         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
44776         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
44777         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
44778         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
44779
44780 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44781
44782         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
44783         * lib/ioctl.c: Include <sys/ioctl.h>.
44784
44785 2009-01-19  Simon Josefsson  <simon@josefsson.org>
44786
44787         * modules/getdate-tests (Depends-on): Add progname.
44788         * tests/test-getdate.c: Use progname module, to avoid link errors
44789         on non-glibc systems.
44790
44791 2009-01-18  Simon Josefsson  <simon@josefsson.org>
44792
44793         * modules/filenamecat-tests (Depends-on): Add progname.
44794         * modules/fstrcmp-tests (Depends-on): Likewise.
44795
44796         * tests/test-filenamecat.c: Use progname module, to avoid link
44797         errors on non-glibc systems.
44798         * tests/test-fstrcmp.c: Likewise.
44799
44800 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44801
44802         gettimeofday: avoid warning: nested extern declaration of 'localtime'
44803         * lib/gettimeofday.c: Move extern declaration out of function.
44804
44805 2009-01-18  Bruno Haible  <bruno@clisp.org>
44806
44807         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
44808         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
44809         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
44810
44811 2009-01-18  Bruno Haible  <bruno@clisp.org>
44812
44813         * lib/strftime.c (MEMPCPY): Remove unused macro.
44814         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
44815
44816 2009-01-18  Martin Lambers  <marlam@marlam.de>
44817
44818         New module 'link'.
44819         * lib/unistd.in.h (link): New declaration.
44820         * lib/link.c: New file.
44821         * m4/link.m4: New file.
44822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
44823         HAVE_LINK.
44824         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
44825         * modules/link: New file.
44826         * doc/posix-functions/link.texi: Mention the new module.
44827
44828 2009-01-18  Bruno Haible  <bruno@clisp.org>
44829
44830         * tests/test-avltree_list.c (main): Call set_program_name.
44831         * tests/test-avltree_oset.c (main): Likewise.
44832         * tests/test-obstack-printf.c: Include progname.h.
44833         (main): Call set_program_name.
44834         * tests/test-quotearg.c: Include progname.h.
44835         (main): Call set_program_name.
44836         * tests/test-xmemdup0.c: Include progname.h.
44837         (main): Call set_program_name.
44838
44839 2009-01-18  Bruno Haible  <bruno@clisp.org>
44840
44841         New module 'alphasort'.
44842         * lib/dirent.in.h (alphasort): New declaration.
44843         * lib/alphasort.c: New file, from glibc with modifications.
44844         * m4/alphasort.m4: New file.
44845         * modules/alphasort: New file.
44846         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
44847         HAVE_ALPHASORT.
44848         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
44849         HAVE_ALPHASORT.
44850         * doc/posix-functions/alphasort.texi: Mention the new module and the
44851         portability problems.
44852
44853 2009-01-18  Bruno Haible  <bruno@clisp.org>
44854
44855         New module 'scandir'.
44856         * lib/dirent.in.h (scandir): New declaration.
44857         * lib/scandir.c: New file, from glibc with modifications.
44858         * m4/scandir.m4: New file.
44859         * modules/scandir: New file.
44860         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
44861         HAVE_SCANDIR.
44862         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
44863         HAVE_SCANDIR.
44864         * doc/posix-functions/scandir.texi: Mention the new module and the
44865         portability problems.
44866
44867 2009-01-17  Bruno Haible  <bruno@clisp.org>
44868
44869         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
44870         Update documentation.
44871         (func_remove_suffix): Escape all dots in the suffix. Update
44872         documentation.
44873         (func_filter_filelist): Update documentation.
44874         Reported by Ralf Wildenhues.
44875
44876 2009-01-17  Bruno Haible  <bruno@clisp.org>
44877
44878         * modules/dprintf-posix-tests: New file.
44879         * tests/test-dprintf-posix.sh: New file.
44880         * tests/test-dprintf-posix.c: New file.
44881
44882         New modules 'dprintf', 'dprintf-posix'.
44883         * lib/stdio.in.h (dprintf): New declaration.
44884         * lib/dprintf.c: New file.
44885         * m4/dprintf.m4: New file.
44886         * m4/dprintf-posix.m4: New file.
44887         * modules/dprintf: New file.
44888         * modules/dprintf-posix: New file.
44889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
44890         HAVE_DPRINTF, REPLACE_DPRINTF.
44891         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
44892         HAVE_DPRINTF, REPLACE_DPRINTF.
44893         * doc/posix-functions/dprintf.texi: Mention the new modules.
44894
44895 2009-01-17  Bruno Haible  <bruno@clisp.org>
44896
44897         * modules/vdprintf-posix-tests: New file.
44898         * tests/test-vdprintf-posix.sh: New file.
44899         * tests/test-vdprintf-posix.c: New file.
44900
44901         New modules 'vdprintf', 'vdprintf-posix'.
44902         * lib/stdio.in.h (vdprintf): New declaration.
44903         * lib/vdprintf.c: New file.
44904         * m4/vdprintf.m4: New file.
44905         * m4/vdprintf-posix.m4: New file.
44906         * modules/vdprintf: New file.
44907         * modules/vdprintf-posix: New file.
44908         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
44909         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44910         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
44911         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44912         * doc/posix-functions/vdprintf.texi: Mention the new modules.
44913
44914 2009-01-17  Bruno Haible  <bruno@clisp.org>
44915
44916         Fix replacement of fopen on mingw.
44917         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
44918         mingw.
44919
44920 2009-01-17  Bruno Haible  <bruno@clisp.org>
44921
44922         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
44923         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
44924
44925 2009-01-17  Bruno Haible  <bruno@clisp.org>
44926
44927         Avoid test-fflush2.sh failure on mingw.
44928         * tests/test-fflush2.c: Include binary-io.h.
44929         (main): Put standard input into binary mode.
44930         * modules/fflush-tests (Depends-on): Add binary-io.
44931
44932 2009-01-17  Bruno Haible  <bruno@clisp.org>
44933
44934         * lib/wchar.in.h: In another particular situation, include only the
44935         system's <wchar.h> file.
44936         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
44937         Reported by Albert Chin-A-Young <china@thewrittenword.com>
44938         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
44939
44940 2009-01-17  Bruno Haible  <bruno@clisp.org>
44941
44942         Support for stripping executables in --enable-relocatable.
44943         * build-aux/install-reloc: Expect one more argument, or an environment
44944         variable RELOC_STRIP_PROG. If set, strip the destination program and
44945         its wrapper.
44946         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
44947         RELOC_STRIP_PROG.
44948         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
44949         to set RELOCATABLE_STRIP.
44950         * NEWS: Mention the new Makefile requirement.
44951
44952 2009-01-17  Bruno Haible  <bruno@clisp.org>
44953
44954         * build-aux/install-reloc: Remove debugging information left over by
44955         C compiler on MacOS X.
44956
44957 2009-01-17  Bruno Haible  <bruno@clisp.org>
44958
44959         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
44960         * lib/progreloc.c (find_executable): Fix type of pointer passed to
44961         _NSGetExecutablePath.
44962
44963 2009-01-16  Jim Meyering  <meyering@redhat.com>
44964
44965         strerror: avoid warnings about discarding "const"
44966         * lib/strerror.c (rpl_strerror): Instead of returning a const
44967         string from each and every "case", use a variable, and add a single
44968         cast after the switch.
44969
44970 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
44971
44972         * lib/arpa_inet.in.h: Add extern "C" block for C++.
44973
44974 2009-01-16  Bruno Haible  <bruno@clisp.org>
44975
44976         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
44977         array initializer syntax that also works in C++ mode.
44978         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44979
44980 2009-01-16  Jim Meyering  <meyering@redhat.com>
44981
44982         poll: suppress a warning
44983         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
44984         to ignore "...unsigned expression < 0 is always false" warnings.
44985
44986 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
44987
44988         poll: remove declarations of unused variables
44989         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
44990         sockbuf and optlen.
44991
44992 2009-01-15  Bruno Haible  <bruno@clisp.org>
44993
44994         Make fflush-after-ungetc POSIX compliant on BSD systems.
44995         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
44996         (clear_ungetc_buffer): Implement also for other systems.
44997         (rpl_fflush): On glibc systems, invoke
44998         clear_ungetc_buffer_preserving_position. Otherwise, invoke
44999         clear_ungetc_buffer after fetching the stream's position, not before.
45000
45001 2009-01-15  Bruno Haible  <bruno@clisp.org>
45002
45003         Make fflush-after-ungetc POSIX compliant on glibc systems.
45004         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
45005         after ungetc.
45006         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
45007         (rpl_fflush): On glibc systems, simply call the system's fflush
45008         function after clearing the ungetc buffer.
45009         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
45010         Instead, lseek only to the end of file, then use the system's fseeko
45011         for the rest. On glibc systems, reset the EOF indicator bit.
45012
45013 2009-01-15  Jim Meyering  <meyering@redhat.com>
45014
45015         openmp.m4: revert quote-adding change, for portability to older autoconf
45016         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
45017         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
45018         Simon Josefsson noticed the problem when using autoconf-2.61.
45019
45020 2009-01-15  Bruno Haible  <bruno@clisp.org>
45021
45022         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
45023         * tests/test-fflush2.c (ASSERT): Always fail.
45024         (main): Add two tests for fflush() after ungetc(), taking into account
45025         the Austin Group's clarification.
45026         Suggested by Eric Blake.
45027
45028 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
45029
45030         mktime.m4: remove K&R-style function prototypes
45031         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
45032         for the Sun C++ compiler.
45033
45034 2009-01-14  Bruno Haible  <bruno@clisp.org>
45035
45036         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
45037         while including <wchar.h>.
45038         * lib/wchar.in.h: In two particular situations on HP-UX, include only
45039         the system's <wchar.h> file.
45040         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45041
45042 2009-01-14  Bruno Haible  <bruno@clisp.org>
45043
45044         * m4/csharp.m4: Don't mention gettext on the serial number line.
45045         * m4/csharpexec.m4: Likewise.
45046         * m4/eaccess.m4: Likewise.
45047         * m4/javaexec.m4: Likewise.
45048         * m4/sig_atomic_t.m4: Likewise.
45049         * m4/tmpdir.m4: Likewise.
45050         * m4/intldir.m4: Bump gettext version.
45051         * m4/lib-ld.m4: Likewise.
45052
45053 2009-01-14  Bruno Haible  <bruno@clisp.org>
45054
45055         * lib/progname.c (set_program_name): Add more comments.
45056         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45057
45058 2009-01-14  Simon Josefsson  <simon@josefsson.org>
45059
45060         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
45061         were sys/stat.h does not define it.
45062
45063 2009-01-14  Jim Meyering  <meyering@redhat.com>
45064
45065         many *.m4 files: improve m4 quoting
45066         99% of this change was performed by running the following commands:
45067         git ls-files | grep '\.m4$' | xargs perl -pi \
45068           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
45069           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45070           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45071           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
45072         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
45073         The remainder were to add Copyright dates, increment serial numbers,
45074         undo some changes in comments, exclude m4/intl.m4, and add quotes
45075         around the "1" in ",1" where the unusual spacing prohibited the
45076         above regexps from doing the job.  For more details, see
45077         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
45078         * m4/acl.m4: Modified.
45079         * m4/afs.m4: Likewise.
45080         * m4/alloca.m4: Likewise.
45081         * m4/argp.m4: Likewise.
45082         * m4/argz.m4: Likewise.
45083         * m4/atexit.m4: Likewise.
45084         * m4/bison-i18n.m4: Likewise.
45085         * m4/bison.m4: Likewise.
45086         * m4/byteswap.m4: Likewise.
45087         * m4/c-stack.m4: Likewise.
45088         * m4/c-strtod.m4: Likewise.
45089         * m4/calloc.m4: Likewise.
45090         * m4/canonicalize-lgpl.m4: Likewise.
45091         * m4/chown.m4: Likewise.
45092         * m4/clock_time.m4: Likewise.
45093         * m4/codeset.m4: Likewise.
45094         * m4/copy-file.m4: Likewise.
45095         * m4/csharp.m4: Likewise.
45096         * m4/csharpcomp.m4: Likewise.
45097         * m4/csharpexec.m4: Likewise.
45098         * m4/d-ino.m4: Likewise.
45099         * m4/d-type.m4: Likewise.
45100         * m4/dirfd.m4: Likewise.
45101         * m4/double-slash-root.m4: Likewise.
45102         * m4/eaccess.m4: Likewise.
45103         * m4/eealloc.m4: Likewise.
45104         * m4/environ.m4: Likewise.
45105         * m4/errno_h.m4: Likewise.
45106         * m4/euidaccess.m4: Likewise.
45107         * m4/execute.m4: Likewise.
45108         * m4/fatal-signal.m4: Likewise.
45109         * m4/fchdir.m4: Likewise.
45110         * m4/fcntl_h.m4: Likewise.
45111         * m4/fileblocks.m4: Likewise.
45112         * m4/filenamecat.m4: Likewise.
45113         * m4/findprog.m4: Likewise.
45114         * m4/flexmember.m4: Likewise.
45115         * m4/fnmatch.m4: Likewise.
45116         * m4/fopen.m4: Likewise.
45117         * m4/fpending.m4: Likewise.
45118         * m4/fprintf-posix.m4: Likewise.
45119         * m4/free.m4: Likewise.
45120         * m4/frexp.m4: Likewise.
45121         * m4/frexpl.m4: Likewise.
45122         * m4/fsusage.m4: Likewise.
45123         * m4/ftruncate.m4: Likewise.
45124         * m4/gc-camellia.m4: Likewise.
45125         * m4/gc-random.m4: Likewise.
45126         * m4/gc.m4: Likewise.
45127         * m4/getaddrinfo.m4: Likewise.
45128         * m4/getcwd-abort-bug.m4: Likewise.
45129         * m4/getcwd-path-max.m4: Likewise.
45130         * m4/getdate.m4: Likewise.
45131         * m4/getdomainname.m4: Likewise.
45132         * m4/getgroups.m4: Likewise.
45133         * m4/gethostname.m4: Likewise.
45134         * m4/gethrxtime.m4: Likewise.
45135         * m4/getline.m4: Likewise.
45136         * m4/getloadavg.m4: Likewise.
45137         * m4/getndelim2.m4: Likewise.
45138         * m4/getpass.m4: Likewise.
45139         * m4/gettext.m4: Likewise.
45140         * m4/gettime.m4: Likewise.
45141         * m4/gettimeofday.m4: Likewise.
45142         * m4/gnulib-common.m4: Likewise.
45143         * m4/group-member.m4: Likewise.
45144         * m4/host-os.m4: Likewise.
45145         * m4/iconv.m4: Likewise.
45146         * m4/iconv_open.m4: Likewise.
45147         * m4/inet_ntop.m4: Likewise.
45148         * m4/inet_pton.m4: Likewise.
45149         * m4/inline.m4: Likewise.
45150         * m4/intldir.m4: Likewise.
45151         * m4/intlmacosx.m4: Likewise.
45152         * m4/intmax.m4: Likewise.
45153         * m4/intmax_t.m4: Likewise.
45154         * m4/inttypes.m4: Likewise.
45155         * m4/inttypes_h.m4: Likewise.
45156         * m4/inttypes-pri.m4: Likewise.
45157         * m4/isapipe.m4: Likewise.
45158         * m4/isnand.m4: Likewise.
45159         * m4/isnanf.m4: Likewise.
45160         * m4/isnanl.m4: Likewise.
45161         * m4/javacomp.m4: Likewise.
45162         * m4/javaexec.m4: Likewise.
45163         * m4/jm-winsz1.m4: Likewise.
45164         * m4/jm-winsz2.m4: Likewise.
45165         * m4/lchown.m4: Likewise.
45166         * m4/lcmessage.m4: Likewise.
45167         * m4/ldexpl.m4: Likewise.
45168         * m4/lib-ld.m4: Likewise.
45169         * m4/lib-link.m4: Likewise.
45170         * m4/libsigsegv.m4: Likewise.
45171         * m4/link-follow.m4: Likewise.
45172         * m4/localcharset.m4: Likewise.
45173         * m4/locale-fr.m4: Likewise.
45174         * m4/locale-ja.m4: Likewise.
45175         * m4/locale-tr.m4: Likewise.
45176         * m4/locale-zh.m4: Likewise.
45177         * m4/lock.m4: Likewise.
45178         * m4/longlong.m4: Likewise.
45179         * m4/ls-mntd-fs.m4: Likewise.
45180         * m4/lstat.m4: Likewise.
45181         * m4/malloc.m4: Likewise.
45182         * m4/mathl.m4: Likewise.
45183         * m4/mbrtowc.m4: Likewise.
45184         * m4/mbstate_t.m4: Likewise.
45185         * m4/mbswidth.m4: Likewise.
45186         * m4/memchr.m4: Likewise.
45187         * m4/memcmp.m4: Likewise.
45188         * m4/memcpy.m4: Likewise.
45189         * m4/memmem.m4: Likewise.
45190         * m4/memmove.m4: Likewise.
45191         * m4/mempcpy.m4: Likewise.
45192         * m4/memrchr.m4: Likewise.
45193         * m4/memset.m4: Likewise.
45194         * m4/minmax.m4: Likewise.
45195         * m4/mkdir-slash.m4: Likewise.
45196         * m4/mkdtemp.m4: Likewise.
45197         * m4/mktime.m4: Likewise.
45198         * m4/mmap-anon.m4: Likewise.
45199         * m4/mountlist.m4: Likewise.
45200         * m4/nanosleep.m4: Likewise.
45201         * m4/nls.m4: Likewise.
45202         * m4/nocrash.m4: Likewise.
45203         * m4/open.m4: Likewise.
45204         * m4/openat.m4: Likewise.
45205         * m4/openmp.m4: Likewise.
45206         * m4/pathmax.m4: Likewise.
45207         * m4/perl.m4: Likewise.
45208         * m4/physmem.m4: Likewise.
45209         * m4/pipe.m4: Likewise.
45210         * m4/po.m4: Likewise.
45211         * m4/poll.m4: Likewise.
45212         * m4/posixtm.m4: Likewise.
45213         * m4/posixver.m4: Likewise.
45214         * m4/printf-frexp.m4: Likewise.
45215         * m4/printf-frexpl.m4: Likewise.
45216         * m4/printf-posix.m4: Likewise.
45217         * m4/printf-posix-rpl.m4: Likewise.
45218         * m4/printf.m4: Likewise.
45219         * m4/progtest.m4: Likewise.
45220         * m4/putenv.m4: Likewise.
45221         * m4/readline.m4: Likewise.
45222         * m4/readlink.m4: Likewise.
45223         * m4/readutmp.m4: Likewise.
45224         * m4/realloc.m4: Likewise.
45225         * m4/regex.m4: Likewise.
45226         * m4/relocatable.m4: Likewise.
45227         * m4/relocatable-lib.m4: Likewise.
45228         * m4/rename-dest-slash.m4: Likewise.
45229         * m4/rename.m4: Likewise.
45230         * m4/rmdir-errno.m4: Likewise.
45231         * m4/rmdir.m4: Likewise.
45232         * m4/roundf.m4: Likewise.
45233         * m4/roundl.m4: Likewise.
45234         * m4/rpmatch.m4: Likewise.
45235         * m4/save-cwd.m4: Likewise.
45236         * m4/selinux-selinux-h.m4: Likewise.
45237         * m4/setenv.m4: Likewise.
45238         * m4/settime.m4: Likewise.
45239         * m4/sig2str.m4: Likewise.
45240         * m4/sig_atomic_t.m4: Likewise.
45241         * m4/signalblocking.m4: Likewise.
45242         * m4/signbit.m4: Likewise.
45243         * m4/sigpipe.m4: Likewise.
45244         * m4/sockets.m4: Likewise.
45245         * m4/sockpfaf.m4: Likewise.
45246         * m4/st_dm_mode.m4: Likewise.
45247         * m4/stat-time.m4: Likewise.
45248         * m4/stdbool.m4: Likewise.
45249         * m4/stdint.m4: Likewise.
45250         * m4/stdint_h.m4: Likewise.
45251         * m4/stpcpy.m4: Likewise.
45252         * m4/stpncpy.m4: Likewise.
45253         * m4/strcase.m4: Likewise.
45254         * m4/strchrnul.m4: Likewise.
45255         * m4/strcspn.m4: Likewise.
45256         * m4/strdup.m4: Likewise.
45257         * m4/strftime.m4: Likewise.
45258         * m4/strndup.m4: Likewise.
45259         * m4/strnlen.m4: Likewise.
45260         * m4/strpbrk.m4: Likewise.
45261         * m4/strptime.m4: Likewise.
45262         * m4/strsep.m4: Likewise.
45263         * m4/strtod.m4: Likewise.
45264         * m4/strtoimax.m4: Likewise.
45265         * m4/strtok_r.m4: Likewise.
45266         * m4/strtol.m4: Likewise.
45267         * m4/strtoll.m4: Likewise.
45268         * m4/strtoul.m4: Likewise.
45269         * m4/strtoull.m4: Likewise.
45270         * m4/strtoumax.m4: Likewise.
45271         * m4/strverscmp.m4: Likewise.
45272         * m4/threadlib.m4: Likewise.
45273         * m4/timegm.m4: Likewise.
45274         * m4/tm_gmtoff.m4: Likewise.
45275         * m4/tmpdir.m4: Likewise.
45276         * m4/tmpfile.m4: Likewise.
45277         * m4/tzset.m4: Likewise.
45278         * m4/uintmax_t.m4: Likewise.
45279         * m4/unlinkdir.m4: Likewise.
45280         * m4/unlocked-io.m4: Likewise.
45281         * m4/uptime.m4: Likewise.
45282         * m4/userspec.m4: Likewise.
45283         * m4/utimbuf.m4: Likewise.
45284         * m4/utime.m4: Likewise.
45285         * m4/utimes-null.m4: Likewise.
45286         * m4/utimes.m4: Likewise.
45287         * m4/vararrays.m4: Likewise.
45288         * m4/vasnprintf.m4: Likewise.
45289         * m4/vfprintf-posix.m4: Likewise.
45290         * m4/vprintf-posix.m4: Likewise.
45291         * m4/wait-process.m4: Likewise.
45292         * m4/wchar_t.m4: Likewise.
45293         * m4/wint_t.m4: Likewise.
45294         * m4/write-any-file.m4: Likewise.
45295         * m4/yield.m4: Likewise.
45296
45297 2009-01-13  Bruno Haible  <bruno@clisp.org>
45298
45299         Avoid test-copy-file.sh failures when ACL support insufficient.
45300         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
45301         TESTS_ENVIRONMENT.
45302         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
45303         Reported by Jim Meyering.
45304
45305 2009-01-13  Bruno Haible  <bruno@clisp.org>
45306
45307         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
45308         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
45309         * modules/unistdio/u8-printf-parse (Files): Likewise.
45310         * modules/unistdio/u32-printf-parse (Files): Likewise.
45311         * modules/unistdio/ulc-printf-parse (Files): Likewise.
45312
45313 2009-01-13  Simon Josefsson  <simon@josefsson.org>
45314
45315         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
45316         and m4/inttypes_h.m4 too.
45317
45318 2009-01-12  Eric Blake  <ebb9@byu.net>
45319
45320         tests: IRIX 6.2 cc can't compile -0.0 into .data
45321         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
45322         rather than at compile-time.
45323         * tests/test-floorl.c (minus_zero): Likewise.
45324         * tests/test-frexpl.c (minus_zero): Likewise.
45325         * tests/test-isnan.c (minus_zerol): Likewise.
45326         * tests/test-isnanl.h (minus_zero): Likewise.
45327         * tests/test-ldexpl.c (minus_zero): Likewise.
45328         * tests/test-roundl.c (minus_zero): Likewise.
45329         * tests/test-signbit.c (minus_zerol): Likewise.
45330         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45331         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45332         * tests/test-truncl.c (minus_zero): Likewise.
45333         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45334         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45335         Reported by Tom G. Christensen and Nelson H. F. Beebe.
45336
45337 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45338
45339         regex: fix glibc bug 9697
45340         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
45341         handling.
45342
45343 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45344
45345         regex: fix glibc bug 697
45346         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
45347         being NULL also if there are no backreferences.
45348
45349 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45350
45351         regex: merge glibc changes
45352         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
45353         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
45354         re_string_skip_chars, re_string_reconstruct): Likewise.
45355         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
45356
45357 2009-01-07  Jim Meyering  <meyering@redhat.com>
45358
45359         poll: filter through cppi
45360         * lib/poll.c: Indent cpp directives to reflect nesting.
45361
45362 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
45363
45364         poll: don't return uninitialized
45365         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
45366
45367 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
45368
45369         avoid compile failure on AIX 6.1
45370         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
45371         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
45372
45373 2009-01-04  Jim Meyering  <meyering@redhat.com>
45374
45375         remove duplicate inclusion of <stdio.h>
45376         * tests/test-fprintf-posix.c: Likewise.
45377         * tests/test-printf-posix.c: Likewise.
45378         * tests/test-snprintf-posix.c: Likewise.
45379         * tests/test-sprintf-posix.c: Likewise.
45380         * tests/test-vasprintf-posix.c: Likewise.
45381         * tests/test-vfprintf-posix.c: Likewise.
45382         * tests/test-vprintf-posix.c: Likewise.
45383         * tests/test-vsnprintf-posix.c: Likewise.
45384         * tests/test-vsprintf-posix.c: Likewise.
45385
45386 2009-01-03  Jim Meyering  <meyering@redhat.com>
45387
45388         gnulib-tool: fix sed-based filtering
45389         * gnulib-tool (func_filter_filelist): Remove extra backslash
45390         in sed_fff_filter definition.
45391
45392 2009-01-02  Jim Meyering  <meyering@redhat.com>
45393
45394         strftime: avoid compilation failure on Solaris 2.6
45395         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
45396         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
45397         Don't #define mbrlen or mbsinit, since now they're guaranteed to
45398         be available.  Reported by Tom G. Christensen.  Details in
45399         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
45400
45401 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45402             Bruno Haible  <bruno@clisp.org>
45403
45404         Speed up gnulib-tool by doing more string processing through shell
45405         built-ins.
45406         * gnulib-tool (fast_func_append): New variable.
45407         (func_remove_prefix, func_remove_suffix): New functions.
45408         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
45409         (func_filter_filelist): New function.
45410         (func_get_dependencies): Use func_remove_suffix instead of sed.
45411         (func_get_automake_snippet): Use func_filter_filelist instead of a
45412         subshell and sed invocation.
45413
45414 2009-01-01  Bruno Haible  <bruno@clisp.org>
45415
45416         Fix a security bug.
45417         * gnulib-tool (func_import, import, update): Don't allow the characters
45418         '"', '$', '`', '\' in macro arguments that become part of commands that
45419         are evaluated.
45420
45421 2009-01-01  Bruno Haible  <bruno@clisp.org>
45422
45423         * gnulib-tool (func_reset_sigpipe): Add more comments.
45424
45425 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45426
45427         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
45428         func_emit_tests_Makefile_am, func_import): Abort loops early if we
45429         already know the answer.
45430
45431 2009-01-01  Jim Meyering  <meyering@redhat.com>
45432
45433         * lib/version-etc.c (version_etc_va): Update copyright year.
45434
45435 2008-12-30  Bruno Haible  <bruno@clisp.org>
45436
45437         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
45438         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
45439         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
45440
45441 2008-12-29  Eric Blake  <ebb9@byu.net>
45442
45443         multiarch: avoid autoconf AC_REQUIRE bug
45444         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
45445         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
45446         2.63 and older.
45447         Reported by Bruno Haible, and analyzed in
45448         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
45449
45450 2008-12-29  Bruno Haible  <bruno@clisp.org>
45451
45452         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
45453         files in subdirectories correctly.
45454         Reported by Ralf Wildenhues.
45455
45456 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45457
45458         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
45459         rather than 'join FILE -', for Solaris join.
45460
45461 2008-12-29  Bruno Haible  <bruno@clisp.org>
45462
45463         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
45464         quoting.
45465         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
45466         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
45467         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
45468         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
45469         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45470         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
45471         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
45472         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
45473         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45474         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
45475         * m4/nls.m4 (AM_NLS): Likewise.
45476         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
45477         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
45478         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
45479         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
45480         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
45481         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
45482         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
45483         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
45484         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
45485         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45486         * m4/xsize.m4 (gl_XSIZE): Likewise.
45487         Suggested by Jim Meyering.
45488
45489 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45490
45491         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
45492         * lib/parse-duration.c: use a switch instead of cascading if's.
45493
45494 2008-12-29  Eric Blake  <ebb9@byu.net>
45495
45496         wchar.h: supply WEOF on Irix 5.3
45497         * lib/wchar.in.h (wint_t): Also supply WEOF.
45498         * lib/wctype.in.h (wint_t): Likewise.
45499         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
45500         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
45501         Reported by Tom G. Christensen.
45502
45503 2008-12-26  Bruno Haible  <bruno@clisp.org>
45504
45505         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
45506         i486, i586, i686.
45507
45508 2008-12-26  Bruno Haible  <bruno@clisp.org>
45509
45510         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
45511
45512 2008-12-26  Bruno Haible  <bruno@clisp.org>
45513
45514         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
45515         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
45516         not __STDC_CONSTANT_MACROS.
45517         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45518
45519 2008-12-25  Bruno Haible  <bruno@clisp.org>
45520
45521         Add support for universal builds to vasnprintf.
45522         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
45523         universal builds, guess no.
45524         * modules/vasnprintf-posix (Depends-on): Add multiarch.
45525         * modules/vasprintf-posix (Depends-on): Likewise.
45526         * modules/fprintf-posix (Depends-on): Likewise.
45527         * modules/vfprintf-posix (Depends-on): Likewise.
45528         * modules/snprintf-posix (Depends-on): Likewise.
45529         * modules/vsnprintf-posix (Depends-on): Likewise.
45530         * modules/sprintf-posix (Depends-on): Likewise.
45531         * modules/vsprintf-posix (Depends-on): Likewise.
45532         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45533         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45534         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45535         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45536         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45537         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45538         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45539
45540         Add support for universal builds to <inttypes.h>.
45541         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
45542         _SCNu64_PREFIX): In Apple
45543         universal builds, define directly, using _LP64.
45544         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
45545         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
45546         * modules/inttypes (Depends-on): Add multiarch.
45547         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45548
45549         Add support for universal builds to <stdint.h>.
45550         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
45551         universal builds, define directly, using _LP64.
45552         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
45553         Apple universal builds, don't test for the size and suffix of ptrdiff_t
45554         and size_t.
45555         * modules/stdint (Depends-on): Add multiarch.
45556         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45557
45558         New module 'multiarch'.
45559         * modules/multiarch: New file.
45560         * m4/multiarch.m4: New file.
45561
45562 2008-12-25  Bruno Haible  <bruno@clisp.org>
45563
45564         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
45565
45566 2008-12-25  Bruno Haible  <bruno@clisp.org>
45567
45568         * modules/btowc (License): Relicense under LGPLv2+.
45569         * modules/mbsinit (License): Likewise.
45570         * modules/mbrtowc (License): Likewise.
45571         * modules/wcrtomb (License): Likewise.
45572         * modules/streq (License): Likewise.
45573         Reported by David Lutterkort <lutter@redhat.com>.
45574
45575 2008-12-23  Bruno Haible  <bruno@clisp.org>
45576
45577         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
45578
45579 2008-12-23  Bruno Haible  <bruno@clisp.org>
45580
45581         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
45582         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
45583         GETADDRINFO_LIB, not in LIBS.
45584         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
45585         * modules/canon-host (Link): Likewise.
45586         * NEWS: Mention the change.
45587         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
45588         GETADDRINFO_LIB.
45589
45590 2008-12-22  Bruno Haible  <bruno@clisp.org>
45591
45592         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
45593         * doc/posix-functions/iswalpha_l.texi: Likewise.
45594         * doc/posix-functions/iswblank_l.texi: Likewise.
45595         * doc/posix-functions/iswcntrl_l.texi: Likewise.
45596         * doc/posix-functions/iswctype_l.texi: Likewise.
45597         * doc/posix-functions/iswdigit_l.texi: Likewise.
45598         * doc/posix-functions/iswgraph_l.texi: Likewise.
45599         * doc/posix-functions/iswlower_l.texi: Likewise.
45600         * doc/posix-functions/iswprint_l.texi: Likewise.
45601         * doc/posix-functions/iswpunct_l.texi: Likewise.
45602         * doc/posix-functions/iswspace_l.texi: Likewise.
45603         * doc/posix-functions/iswupper_l.texi: Likewise.
45604         * doc/posix-functions/iswxdigit_l.texi: Likewise.
45605         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
45606         * doc/posix-functions/open_wmemstream.texi: Likewise.
45607         * doc/posix-functions/swscanf.texi: Likewise.
45608         * doc/posix-functions/towctrans_l.texi: Likewise.
45609         * doc/posix-functions/towlower.texi: Likewise.
45610         * doc/posix-functions/towlower_l.texi: Likewise.
45611         * doc/posix-functions/towupper.texi: Likewise.
45612         * doc/posix-functions/towupper_l.texi: Likewise.
45613         * doc/posix-functions/vfwprintf.texi: Likewise.
45614         * doc/posix-functions/vfwscanf.texi: Likewise.
45615         * doc/posix-functions/vswscanf.texi: Likewise.
45616         * doc/posix-functions/vwprintf.texi: Likewise.
45617         * doc/posix-functions/vwscanf.texi: Likewise.
45618         * doc/posix-functions/wcpcpy.texi: Likewise.
45619         * doc/posix-functions/wcpncpy.texi: Likewise.
45620         * doc/posix-functions/wcscasecmp.texi: Likewise.
45621         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
45622         * doc/posix-functions/wcscoll_l.texi: Likewise.
45623         * doc/posix-functions/wcsdup.texi: Likewise.
45624         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45625         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
45626         * doc/posix-functions/wcsnlen.texi: Likewise.
45627         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45628         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
45629         * doc/posix-functions/wctrans_l.texi: Likewise.
45630         * doc/posix-functions/wctype_l.texi: Likewise.
45631         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
45632         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
45633         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
45634         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
45635         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
45636         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
45637         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
45638         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
45639         * doc/glibc-functions/wcschrnul.texi: Likewise.
45640         * doc/glibc-functions/wcsftime_l.texi: Likewise.
45641         * doc/glibc-functions/wcstod_l.texi: Likewise.
45642         * doc/glibc-functions/wcstof_l.texi: Likewise.
45643         * doc/glibc-functions/wcstol_l.texi: Likewise.
45644         * doc/glibc-functions/wcstold_l.texi: Likewise.
45645         * doc/glibc-functions/wcstoll_l.texi: Likewise.
45646         * doc/glibc-functions/wcstoq.texi: Likewise.
45647         * doc/glibc-functions/wcstoul_l.texi: Likewise.
45648         * doc/glibc-functions/wcstoull_l.texi: Likewise.
45649         * doc/glibc-functions/wcstouq.texi: Likewise.
45650         * doc/glibc-functions/wmempcpy.texi: Likewise.
45651
45652 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
45653             Eric Blake  <ebb9@byu.net>
45654             Paolo Bonzini  <bonzini@gnu.org>
45655             Bruno Haible  <bruno@clisp.org>
45656
45657         Make c-stack work on Haiku.
45658         * lib/c-stack.c (SA_ONSTACK): Define fallback.
45659         (c_stack_action): Use SA_ONSTACK flag.
45660
45661 2008-12-22  Bruno Haible  <bruno@clisp.org>
45662
45663         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
45664
45665 2008-12-22  Bruno Haible  <bruno@clisp.org>
45666
45667         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
45668         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
45669         being overridden.
45670         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
45671         New macros.
45672         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
45673         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
45674         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
45675         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
45676
45677 2008-12-22  Bruno Haible  <bruno@clisp.org>
45678
45679         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
45680         from test code.
45681
45682 2008-12-22  Eric Blake  <ebb9@byu.net>
45683
45684         Avoid gcc warnings on cygwin.
45685         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
45686         Avoid unused variable.
45687         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
45688         Likewise.
45689
45690 2008-12-22  Bruno Haible  <bruno@clisp.org>
45691
45692         Remove HAVE_MBRTOWC conditionals.
45693         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
45694         (mbscasecmp): Assume mbrtowc function.
45695         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
45696         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
45697         * lib/mbschr.c: Include mbuiter.h unconditionally.
45698         (mbschr): Assume mbrtowc function.
45699         * lib/mbscspn.c: Include mbuiter.h unconditionally.
45700         (mbscspn): Assume mbrtowc function.
45701         * lib/mbslen.c: Include mbuiter.h unconditionally.
45702         (mbslen): Assume mbrtowc function.
45703         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
45704         (mbsncasecmp): Assume mbrtowc function.
45705         * lib/mbsnlen.c: Include mbiter.h unconditionally.
45706         (mbsnlen): Assume mbrtowc function.
45707         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
45708         (mbspbrk): Assume mbrtowc function.
45709         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
45710         (mbspcasecmp): Assume mbrtowc function.
45711         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
45712         (mbsrchr): Assume mbrtowc function.
45713         * lib/mbssep.c: Include mbuiter.h unconditionally.
45714         (mbssep): Assume mbrtowc function.
45715         * lib/mbsspn.c: Include mbuiter.h unconditionally.
45716         (mbsspn): Assume mbrtowc function.
45717         * lib/mbsstr.c: Include mbuiter.h unconditionally.
45718         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
45719         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
45720         (mbstok_r): Assume mbrtowc function.
45721         * lib/propername.c: Include mbuiter.h unconditionally.
45722         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
45723         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
45724         (trim2): Assume mbrtowc function.
45725         * lib/mbswidth.c (mbsinit): Remove fallback definition.
45726         (mbsnwidth): Assume mbrtowc function.
45727         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
45728         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
45729         fallback definitions.
45730         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
45731
45732 2008-12-22  Bruno Haible  <bruno@clisp.org>
45733
45734         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
45735
45736 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
45737
45738         * modules/regex: Request emulations for the mb*/wc* functions we need.
45739         * m4/regex.m4: Don't look for those functions here.
45740         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
45741
45742 2008-12-22  Bruno Haible  <bruno@clisp.org>
45743
45744         * modules/fnmatch (Depends-on): Remove duplicated dependency.
45745
45746 2008-12-21  Bruno Haible  <bruno@clisp.org>
45747
45748         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
45749         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
45750         (Include): Remove conditionalization.
45751         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
45752         (Include): Remove conditionalization.
45753         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
45754         (Include): Remove conditionalization.
45755         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
45756         * m4/mbfile.m4 (gl_MBFILE): Likewise.
45757         * NEWS: Mention the change.
45758         Reported by Alan Hourihane <alanh@fairlite.co.uk>
45759         via Sergey Poznyakoff <gray@gnu.org.ua>.
45760
45761 2008-12-21  Bruno Haible  <bruno@clisp.org>
45762
45763         * MODULES.html.sh (Extended multibyte and wide character utilities
45764         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
45765         wcrtomb, wcsrtombs.
45766         (Support for systems lacking POSIX:2008): Add accept, bind, close,
45767         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
45768         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
45769         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
45770
45771 2008-12-21  Bruno Haible  <bruno@clisp.org>
45772
45773         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
45774
45775 2008-12-21  Bruno Haible  <bruno@clisp.org>
45776
45777         * modules/wcsnrtombs-tests: New file.
45778         * tests/test-wcsnrtombs1.sh: New file.
45779         * tests/test-wcsnrtombs2.sh: New file.
45780         * tests/test-wcsnrtombs3.sh: New file.
45781         * tests/test-wcsnrtombs4.sh: New file.
45782         * tests/test-wcsnrtombs.c: New file.
45783
45784         New module 'wcsnrtombs'.
45785         * lib/wchar.in.h (wcsnrtombs): New declaration.
45786         * lib/wcsnrtombs.c: New file.
45787         * lib/wcsrtombs-state.c: New file.
45788         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
45789         (internal_state): Remove variable.
45790         * m4/wcsnrtombs.m4: New file.
45791         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
45792         compilation units.
45793         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
45794         HAVE_WCSNRTOMBS.
45795         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
45796         HAVE_WCSNRTOMBS.
45797         * modules/wcsnrtombs: New file.
45798         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
45799         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
45800
45801 2008-12-21  Bruno Haible  <bruno@clisp.org>
45802
45803         * modules/wcsrtombs-tests: New file.
45804         * tests/test-wcsrtombs1.sh: New file.
45805         * tests/test-wcsrtombs2.sh: New file.
45806         * tests/test-wcsrtombs3.sh: New file.
45807         * tests/test-wcsrtombs4.sh: New file.
45808         * tests/test-wcsrtombs.c: New file.
45809
45810         New module 'wcsrtombs'.
45811         * lib/wchar.in.h (wcsrtombs): New declaration.
45812         * lib/wcsrtombs.c: New file.
45813         * m4/wcsrtombs.m4: New file.
45814         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
45815         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45816         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
45817         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45818         * modules/wcsrtombs: New file.
45819         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
45820         bugs.
45821
45822 2008-12-21  Bruno Haible  <bruno@clisp.org>
45823
45824         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
45825         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
45826         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
45827         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
45828         if not correct.
45829         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
45830         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
45831         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45832         m4/locale-zh.m4, m4/codeset.m4.
45833         * doc/posix-functions/wcrtomb.texi: Document the bug.
45834
45835 2008-12-21  Bruno Haible  <bruno@clisp.org>
45836
45837         Work around a btowc() bug on IRIX 6.5.
45838         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
45839         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
45840         REPLACE_WTOBC if not.
45841         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
45842         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
45843         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
45844
45845 2008-12-21  Bruno Haible  <bruno@clisp.org>
45846
45847         * modules/wcrtomb-tests: New file.
45848         * tests/test-wcrtomb.sh: New file.
45849         * tests/test-wcrtomb.c: New file.
45850
45851         New module 'wcrtomb'.
45852         * lib/wchar.in.h (wcrtomb): New declaration.
45853         * lib/wcrtomb.c: New file.
45854         * m4/wcrtomb.m4: New file.
45855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
45856         HAVE_WCRTOMB.
45857         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
45858         HAVE_WCRTOMB.
45859         * modules/wcrtomb: New file.
45860         * doc/posix-functions/wcrtomb.texi: Mention the new module.
45861
45862 2008-12-21  Bruno Haible  <bruno@clisp.org>
45863
45864         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
45865         * modules/mbsrtowcs (Files): Likewise.
45866         * modules/wctob (Files): Likewise.
45867         * modules/c-strcase-tests (Files): Likewise.
45868         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
45869         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
45870         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
45871         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
45872         * modules/vasnprintf-posix-tests (Files): Likewise.
45873
45874 2008-12-21  William Pursell  <bill.pursell@gmail.com>
45875
45876         gitlog-to-changelog: pass all command-line arguments to git-log
45877         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
45878         it is sometimes convenient to filter the commits in various ways.
45879         gitlog-to-changelog only allows --since to specify a start date,
45880         but git-log itself supports many other filtering mechanisms.
45881         At the moment, I want to filter by branch name.  Rather than
45882         adding a --branch option to gitlog-to-changelog, it seems more
45883         flexible to simply pass all options directly to git-log and let
45884         git do the work.  Notice that this effectively makes --since a
45885         redundant option for gitlog-to-changelog, but removing it would
45886         require current usage to change since calls would then require
45887         an additional '--'.
45888
45889 2008-12-21  Bruno Haible  <bruno@clisp.org>
45890
45891         * modules/mbsnrtowcs-tests: New file.
45892         * tests/test-mbsnrtowcs1.sh: New file.
45893         * tests/test-mbsnrtowcs2.sh: New file.
45894         * tests/test-mbsnrtowcs3.sh: New file.
45895         * tests/test-mbsnrtowcs4.sh: New file.
45896         * tests/test-mbsnrtowcs.c: New file.
45897
45898         New module 'mbsnrtowcs'.
45899         * lib/wchar.in.h (mbsnrtowcs): New declaration.
45900         * lib/mbsnrtowcs.c: New file.
45901         * lib/mbsrtowcs-state.c: New file.
45902         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
45903         (internal_state): Remove variable.
45904         * m4/mbsnrtowcs.m4: New file.
45905         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
45906         compilation units.
45907         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
45908         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45909         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
45910         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45911         * modules/mbsnrtowcs: New file.
45912         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
45913         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
45914         portability problem.
45915
45916 2008-12-21  Bruno Haible  <bruno@clisp.org>
45917
45918         Work around mbsrtowcs bug.
45919         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
45920         (gl_FUNC_MBSRTOWCS): Invoke it.
45921         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45922         m4/locale-zh.m4.
45923         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
45924
45925 2008-12-21  Bruno Haible  <bruno@clisp.org>
45926
45927         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
45928
45929 2008-12-21  Bruno Haible  <bruno@clisp.org>
45930
45931         Update doc for AIX.
45932         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
45933         16-bit wchar_t type.
45934         * doc/posix-functions/btowc.texi: Likewise.
45935         * doc/posix-functions/fgetwc.texi: Likewise.
45936         * doc/posix-functions/fgetws.texi: Likewise.
45937         * doc/posix-functions/fputwc.texi: Likewise.
45938         * doc/posix-functions/fputws.texi: Likewise.
45939         * doc/posix-functions/fwide.texi: Likewise.
45940         * doc/posix-functions/fwprintf.texi: Likewise.
45941         * doc/posix-functions/fwscanf.texi: Likewise.
45942         * doc/posix-functions/getwchar.texi: Likewise.
45943         * doc/posix-functions/getwc.texi: Likewise.
45944         * doc/posix-functions/iswalnum.texi: Likewise.
45945         * doc/posix-functions/iswalpha.texi: Likewise.
45946         * doc/posix-functions/iswblank.texi: Likewise.
45947         * doc/posix-functions/iswcntrl.texi: Likewise.
45948         * doc/posix-functions/iswctype.texi: Likewise.
45949         * doc/posix-functions/iswdigit.texi: Likewise.
45950         * doc/posix-functions/iswgraph.texi: Likewise.
45951         * doc/posix-functions/iswlower.texi: Likewise.
45952         * doc/posix-functions/iswprint.texi: Likewise.
45953         * doc/posix-functions/iswpunct.texi: Likewise.
45954         * doc/posix-functions/iswspace.texi: Likewise.
45955         * doc/posix-functions/iswupper.texi: Likewise.
45956         * doc/posix-functions/iswxdigit.texi: Likewise.
45957         * doc/posix-functions/mbrtowc.texi: Likewise.
45958         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45959         * doc/posix-functions/mbstowcs.texi: Likewise.
45960         * doc/posix-functions/mbtowc.texi: Likewise.
45961         * doc/posix-functions/putwchar.texi: Likewise.
45962         * doc/posix-functions/putwc.texi: Likewise.
45963         * doc/posix-functions/swprintf.texi: Likewise.
45964         * doc/posix-functions/tolower.texi: Likewise.
45965         * doc/posix-functions/toupper.texi: Likewise.
45966         * doc/posix-functions/towctrans.texi: Likewise.
45967         * doc/posix-functions/ungetwc.texi: Likewise.
45968         * doc/posix-functions/vswprintf.texi: Likewise.
45969         * doc/posix-functions/wcrtomb.texi: Likewise.
45970         * doc/posix-functions/wcscat.texi: Likewise.
45971         * doc/posix-functions/wcschr.texi: Likewise.
45972         * doc/posix-functions/wcscmp.texi: Likewise.
45973         * doc/posix-functions/wcscoll.texi: Likewise.
45974         * doc/posix-functions/wcscpy.texi: Likewise.
45975         * doc/posix-functions/wcscspn.texi: Likewise.
45976         * doc/posix-functions/wcsftime.texi: Likewise.
45977         * doc/posix-functions/wcslen.texi: Likewise.
45978         * doc/posix-functions/wcsncat.texi: Likewise.
45979         * doc/posix-functions/wcsncmp.texi: Likewise.
45980         * doc/posix-functions/wcsncpy.texi: Likewise.
45981         * doc/posix-functions/wcspbrk.texi: Likewise.
45982         * doc/posix-functions/wcsrchr.texi: Likewise.
45983         * doc/posix-functions/wcsrtombs.texi: Likewise.
45984         * doc/posix-functions/wcsspn.texi: Likewise.
45985         * doc/posix-functions/wcsstr.texi: Likewise.
45986         * doc/posix-functions/wcstod.texi: Likewise.
45987         * doc/posix-functions/wcstof.texi: Likewise.
45988         * doc/posix-functions/wcstoimax.texi: Likewise.
45989         * doc/posix-functions/wcstok.texi: Likewise.
45990         * doc/posix-functions/wcstold.texi: Likewise.
45991         * doc/posix-functions/wcstoll.texi: Likewise.
45992         * doc/posix-functions/wcstol.texi: Likewise.
45993         * doc/posix-functions/wcstombs.texi: Likewise.
45994         * doc/posix-functions/wcstoull.texi: Likewise.
45995         * doc/posix-functions/wcstoul.texi: Likewise.
45996         * doc/posix-functions/wcstoumax.texi: Likewise.
45997         * doc/posix-functions/wcswidth.texi: Likewise.
45998         * doc/posix-functions/wcsxfrm.texi: Likewise.
45999         * doc/posix-functions/wctob.texi: Likewise.
46000         * doc/posix-functions/wctomb.texi: Likewise.
46001         * doc/posix-functions/wctrans.texi: Likewise.
46002         * doc/posix-functions/wctype.texi: Likewise.
46003         * doc/posix-functions/wcwidth.texi: Likewise.
46004         * doc/posix-functions/wmemchr.texi: Likewise.
46005         * doc/posix-functions/wmemcmp.texi: Likewise.
46006         * doc/posix-functions/wmemcpy.texi: Likewise.
46007         * doc/posix-functions/wmemmove.texi: Likewise.
46008         * doc/posix-functions/wmemset.texi: Likewise.
46009         * doc/posix-functions/wprintf.texi: Likewise.
46010         * doc/posix-functions/wscanf.texi: Likewise.
46011
46012 2008-12-21  Bruno Haible  <bruno@clisp.org>
46013
46014         Update doc for HP-UX 11.11.
46015         * doc/posix-functions/btowc.texi: Clarify that the function is missing
46016         in HP-UX version 11.00, not in all versions of HP-UX 11.
46017         * doc/posix-functions/fwide.texi: Likewise.
46018         * doc/posix-functions/fwprintf.texi: Likewise.
46019         * doc/posix-functions/fwscanf.texi: Likewise.
46020         * doc/posix-functions/inet_ntop.texi: Likewise.
46021         * doc/posix-functions/inet_pton.texi: Likewise.
46022         * doc/posix-functions/mbrlen.texi: Likewise.
46023         * doc/posix-functions/mbrtowc.texi: Likewise.
46024         * doc/posix-functions/mbsinit.texi: Likewise.
46025         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46026         * doc/posix-functions/swprintf.texi: Likewise.
46027         * doc/posix-functions/swscanf.texi: Likewise.
46028         * doc/posix-functions/towctrans.texi: Likewise.
46029         * doc/posix-functions/vfwprintf.texi: Likewise.
46030         * doc/posix-functions/vswprintf.texi: Likewise.
46031         * doc/posix-functions/vwprintf.texi: Likewise.
46032         * doc/posix-functions/wcrtomb.texi: Likewise.
46033         * doc/posix-functions/wcsrtombs.texi: Likewise.
46034         * doc/posix-functions/wcsstr.texi: Likewise.
46035         * doc/posix-functions/wctob.texi: Likewise.
46036         * doc/posix-functions/wctrans.texi: Likewise.
46037         * doc/posix-functions/wmemchr.texi: Likewise.
46038         * doc/posix-functions/wmemcmp.texi: Likewise.
46039         * doc/posix-functions/wmemcpy.texi: Likewise.
46040         * doc/posix-functions/wmemmove.texi: Likewise.
46041         * doc/posix-functions/wmemset.texi: Likewise.
46042         * doc/posix-functions/wprintf.texi: Likewise.
46043         * doc/posix-functions/wscanf.texi: Likewise.
46044
46045 2008-12-21  Bruno Haible  <bruno@clisp.org>
46046
46047         Work around a portability problem.
46048         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
46049         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
46050
46051 2008-12-20  Bruno Haible  <bruno@clisp.org>
46052
46053         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
46054         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
46055         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
46056         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
46057         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
46058
46059         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
46060         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
46061         set.
46062         (GNULIB_defined_mbstate_t): New macro.
46063         (mbsinit): Redefine if REPLACE_MBSINIT is set.
46064         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
46065         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
46066         reuses the system's mbrtowc function but works around the bugs.
46067         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
46068         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
46069         macros.
46070         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
46071         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
46072         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
46073         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
46074         REPLACE_MBSINIT if mbsinit needs to be overridden.
46075         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
46076         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46077         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
46078         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46079         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46080         m4/locale-zh.m4.
46081         (Depends): Add mbsinit.
46082         * modules/mbsinit (Depends): Add mbrtowc.
46083         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
46084
46085 2008-12-20  Bruno Haible  <bruno@clisp.org>
46086
46087         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
46088         so that there are no conversion errors on AIX.
46089         * tests/test-mbsrtowcs.c (main): LIkewise.
46090
46091 2008-12-20  Bruno Haible  <bruno@clisp.org>
46092
46093         Work around wctob bug on Solaris <= 9.
46094         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
46095         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
46096         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
46097         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
46098         * modules/wctob (Files): Add m4/locale-fr.m4.
46099         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
46100
46101 2008-12-20  Bruno Haible  <bruno@clisp.org>
46102
46103         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
46104         /dev/null.
46105         * tests/test-select-in.sh: Likewise.
46106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46107
46108 2008-12-20  Bruno Haible  <bruno@clisp.org>
46109
46110         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
46111         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
46112         Cygwin 1.5.x.
46113
46114 2008-12-20  Bruno Haible  <bruno@clisp.org>
46115
46116         Ensure mbstate_t is defined on HP-UX 11.11.
46117         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
46118         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
46119         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
46120         AC_USE_SYSTEM_EXTENSIONS.
46121         * modules/fnmatch (Depends-on): Add extensions.
46122         * modules/mbrlen (Depends-on): Likewise.
46123         * modules/mbrtowc (Depends-on): Likewise.
46124         * modules/mbsinit (Depends-on): Likewise.
46125         * modules/mbsrtowcs (Depends-on): Likewise.
46126         * modules/mbswidth (Depends-on): Likewise.
46127         * modules/quotearg (Depends-on): Likewise.
46128         * modules/strftime (Depends-on): Likewise.
46129
46130 2008-12-20  Bruno Haible  <bruno@clisp.org>
46131
46132         Ensure wctob is declared on IRIX 6.5.
46133         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
46134         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
46135         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
46136         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
46137         of HAVE_WCTOB.
46138         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
46139         HAVE_WCTOB.
46140         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
46141
46142 2008-12-19  Bruno Haible  <bruno@clisp.org>
46143
46144         * modules/mbsrtowcs-tests: New file.
46145         * tests/test-mbsrtowcs1.sh: New file.
46146         * tests/test-mbsrtowcs2.sh: New file.
46147         * tests/test-mbsrtowcs3.sh: New file.
46148         * tests/test-mbsrtowcs4.sh: New file.
46149         * tests/test-mbsrtowcs.c: New file.
46150
46151         New module 'mbsrtowcs'.
46152         * lib/wchar.in.h (mbsrtowcs): New declaration.
46153         * lib/mbsrtowcs.c: New file.
46154         * m4/mbsrtowcs.m4: New file.
46155         * modules/mbsrtowcs: New file.
46156         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
46157         HAVE_MBSRTOWCS.
46158         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
46159         HAVE_MBSRTOWCS.
46160         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
46161
46162 2008-12-19  Bruno Haible  <bruno@clisp.org>
46163
46164         New module 'mbrlen'.
46165         * lib/wchar.in.h (mbrlen): New declaration.
46166         * lib/mbrlen.c: New file.
46167         * m4/mbrlen.m4: New file.
46168         * modules/mbrlen: New file.
46169         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
46170         HAVE_MBRLEN.
46171         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
46172         HAVE_MBRLEN.
46173         * doc/posix-functions/mbrlen.texi: Document the new module.
46174
46175 2008-12-19  Bruno Haible  <bruno@clisp.org>
46176
46177         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
46178         * modules/mbrtowc (Depends-on): Add verify.
46179         Suggested by Paul Eggert.
46180
46181 2008-12-18  Bruno Haible  <bruno@clisp.org>
46182
46183         * modules/mbsinit-tests: New file.
46184         * tests/test-mbsinit.sh: New file.
46185         * tests/test-mbsinit.c: New file.
46186
46187 2008-12-18  Bruno Haible  <bruno@clisp.org>
46188
46189         * modules/mbrtowc-tests: New file.
46190         * tests/test-mbrtowc1.sh: New file.
46191         * tests/test-mbrtowc2.sh: New file.
46192         * tests/test-mbrtowc3.sh: New file.
46193         * tests/test-mbrtowc4.sh: New file.
46194         * tests/test-mbrtowc.c: New file.
46195
46196         New module 'mbrtowc'.
46197         * lib/wchar.in.h (mbstate_t): Override when the system does not have
46198         mbsinit and mbrtowc.
46199         (mbrtowc): New declaration.
46200         * lib/mbrtowc.c: New file.
46201         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
46202         * modules/mbrtowc: New file.
46203         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
46204         HAVE_MBRTOWC.
46205         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
46206         HAVE_MBRTOWC.
46207         * doc/posix-functions/mbrtowc.texi: Document the new module.
46208
46209 2008-12-18  Bruno Haible  <bruno@clisp.org>
46210
46211         New module 'wctob'.
46212         * lib/wchar.in.h (wctob): New declaration.
46213         * lib/wctob.c: New file.
46214         * m4/wctob.m4: New file.
46215         * modules/wctob: New file.
46216         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
46217         HAVE_WCTOB.
46218         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
46219         * doc/posix-functions/wctob.texi: Document the new module.
46220
46221 2008-12-18  Bruno Haible  <bruno@clisp.org>
46222
46223         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
46224         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
46225
46226 2008-12-18  Simon Josefsson  <simon@josefsson.org>
46227
46228         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
46229         G. Christensen" <tgc@jupiterrise.com>.
46230
46231         * lib/flock.c: Need to include errno.h.  Reported by "Tom
46232         G. Christensen" <tgc@jupiterrise.com>.
46233
46234         * lib/flock.c: Need to include string.h.  Reported by "Tom
46235         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
46236         <ebb9@byu.net>.
46237
46238 2008-12-18  Bruno Haible  <bruno@clisp.org>
46239
46240         * m4/locale-ja.m4: New file, from GNU gettext.
46241
46242 2008-12-17  Bruno Haible  <bruno@clisp.org>
46243
46244         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
46245         Suggested by Eric Blake.
46246
46247 2008-12-17  Bruno Haible  <bruno@clisp.org>
46248
46249         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
46250
46251 2008-12-17  Bruno Haible  <bruno@clisp.org>
46252
46253         * lib/mbsinit.c: Include verify.h. Verify an assumption.
46254         * modules/mbsinit (Depends-on): Add verify.
46255         Suggested by Paul Eggert.
46256
46257 2008-12-17  Bruno Haible  <bruno@clisp.org>
46258
46259         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
46260         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
46261         gl_FUNC_MBRTOWC.
46262         * m4/mbiter.m4 (gl_MBITER): LIkewise.
46263         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
46264         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
46265         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
46266         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
46267         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
46268         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
46269         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
46270         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
46271         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
46272         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
46273         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
46274         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
46275         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
46276         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
46277         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46278         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
46279         * modules/trim (configure.ac): Likewise.
46280
46281 2008-12-17  Bruno Haible  <bruno@clisp.org>
46282
46283         * modules/btowc-tests: New file.
46284         * tests/test-btowc1.sh: New file.
46285         * tests/test-btowc2.sh: New file.
46286         * tests/test-btowc.c: New file.
46287
46288         New module 'btowc'.
46289         * lib/wchar.in.h (btowc): New declaration.
46290         * lib/btowc.c: New file.
46291         * m4/btowc.m4: New file.
46292         * modules/btowc: New file.
46293         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
46294         HAVE_BTOWC.
46295         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
46296         * doc/posix-functions/btowc.texi: Document the new module.
46297
46298 2008-12-17  Bruno Haible  <bruno@clisp.org>
46299
46300         New module 'mbsinit'.
46301         * lib/wchar.in.h (mbsinit): New declaration.
46302         * lib/mbsinit.c: New file.
46303         * m4/mbsinit.m4: New file.
46304         * modules/mbsinit: New file.
46305         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
46306         HAVE_MBSINIT.
46307         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
46308         HAVE_MBSINIT.
46309         * doc/posix-functions/mbsinit.texi: Document the new module.
46310
46311 2008-12-16  Bruno Haible  <bruno@clisp.org>
46312
46313         * lib/unistd.in.h: Add comment.
46314         * tests/test-environ.c: Don't include <stdlib.h>.
46315
46316 2008-12-16  Bruno Haible  <bruno@clisp.org>
46317
46318         * lib/parse-duration.h (parse_duration): Document return value
46319         convention.
46320         * lib/parse-duration.c: Include specification header first. Add
46321         comments.
46322         (_): Remove macro.
46323         (parse_year_month_day, parse_hour_minute_second): Move side effects
46324         outside of strchr call.
46325         (parse_non_iso8601): Move side effects outside of isspace call.
46326         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
46327         call.
46328
46329 2008-12-16  Bruno Haible  <bruno@clisp.org>
46330
46331         * tests/test-parse-duration.sh: Produce no output when the test
46332         succeeds.
46333
46334 2008-12-16  Bruno Haible  <bruno@clisp.org>
46335
46336         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
46337         expressions.
46338
46339 2008-12-15  Bruno Haible  <bruno@clisp.org>
46340
46341         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
46342         * doc/glibc-functions/flistxattr.texi: Likewise.
46343         * doc/glibc-functions/fopencookie.texi: Likewise.
46344         * doc/glibc-functions/fremovexattr.texi: Likewise.
46345         * doc/glibc-functions/fsetxattr.texi: Likewise.
46346         * doc/glibc-functions/getxattr.texi: Likewise.
46347         * doc/glibc-functions/lgetxattr.texi: Likewise.
46348         * doc/glibc-functions/listxattr.texi: Likewise.
46349         * doc/glibc-functions/llistxattr.texi: Likewise.
46350         * doc/glibc-functions/lremovexattr.texi: Likewise.
46351         * doc/glibc-functions/lsetxattr.texi: Likewise.
46352         * doc/glibc-functions/removexattr.texi: Likewise.
46353         * doc/glibc-functions/setxattr.texi: Likewise.
46354         * doc/posix-functions/open_memstream.texi: Likewise.
46355
46356 2008-12-15  Eric Blake  <ebb9@byu.net>
46357
46358         Update doc for cygwin 1.7.
46359         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
46360         functions.
46361         * doc/posix-functions/fchmodat.texi: Likewise.
46362         * doc/posix-functions/fchownat.texi: Likewise.
46363         * doc/posix-functions/fdopendir.texi: Likewise.
46364         * doc/posix-functions/fmemopen.texi: Likewise.
46365         * doc/posix-functions/freeaddrinfo.texi: Likewise.
46366         * doc/posix-functions/fstatat.texi: Likewise.
46367         * doc/posix-functions/futimens.texi: Likewise.
46368         * doc/posix-functions/gai_strerror.texi: Likewise.
46369         * doc/posix-functions/getaddrinfo.texi: Likewise.
46370         * doc/posix-functions/getnameinfo.texi: Likewise.
46371         * doc/posix-functions/if_freenameindex.texi: Likewise.
46372         * doc/posix-functions/if_indextoname.texi: Likewise.
46373         * doc/posix-functions/if_nameindex.texi: Likewise.
46374         * doc/posix-functions/if_nametoindex.texi: Likewise.
46375         * doc/posix-functions/insque.texi: Likewise.
46376         * doc/posix-functions/linkat.texi: Likewise.
46377         * doc/posix-functions/llrint.texi: Likewise.
46378         * doc/posix-functions/llrintf.texi: Likewise.
46379         * doc/posix-functions/llrintl.texi: Likewise.
46380         * doc/posix-functions/lockf.texi: Likewise.
46381         * doc/posix-functions/lrintl.texi: Likewise.
46382         * doc/posix-functions/mkdirat.texi: Likewise.
46383         * doc/posix-functions/mkfifoat.texi: Likewise.
46384         * doc/posix-functions/mknodat.texi: Likewise.
46385         * doc/posix-functions/mq_close.texi: Likewise.
46386         * doc/posix-functions/mq_getattr.texi: Likewise.
46387         * doc/posix-functions/mq_notify.texi: Likewise.
46388         * doc/posix-functions/mq_open.texi: Likewise.
46389         * doc/posix-functions/mq_receive.texi: Likewise.
46390         * doc/posix-functions/mq_send.texi: Likewise.
46391         * doc/posix-functions/mq_setattr.texi: Likewise.
46392         * doc/posix-functions/mq_timedreceive.texi: Likewise.
46393         * doc/posix-functions/mq_timedsend.texi: Likewise.
46394         * doc/posix-functions/mq_unlink.texi: Likewise.
46395         * doc/posix-functions/open_memstream.texi: Likewise.
46396         * doc/posix-functions/openat.texi: Likewise.
46397         * doc/posix-functions/posix_fadvise.texi: Likewise.
46398         * doc/posix-functions/posix_fallocate.texi: Likewise.
46399         * doc/posix-functions/posix_madvise.texi: Likewise.
46400         * doc/posix-functions/posix_memalign.texi: Likewise.
46401         * doc/posix-functions/posix_openpt.texi: Likewise.
46402         * doc/posix-functions/readlinkat.texi: Likewise.
46403         * doc/posix-functions/remque.texi: Likewise.
46404         * doc/posix-functions/renameat.texi: Likewise.
46405         * doc/posix-functions/rintl.texi: Likewise.
46406         * doc/posix-functions/sem_unlink.texi: Likewise.
46407         * doc/posix-functions/shm_open.texi: Likewise.
46408         * doc/posix-functions/shm_unlink.texi: Likewise.
46409         * doc/posix-functions/signgam.texi: Likewise.
46410         * doc/posix-functions/sigset.texi: Likewise.
46411         * doc/posix-functions/stpcpy.texi: Likewise.
46412         * doc/posix-functions/stpncpy.texi: Likewise.
46413         * doc/posix-functions/strerror.texi: Likewise.
46414         * doc/posix-functions/strtod.texi: Likewise.
46415         * doc/posix-functions/symlinkat.texi: Likewise.
46416         * doc/posix-functions/unlinkat.texi: Likewise.
46417         * doc/posix-functions/utimensat.texi: Likewise.
46418         * doc/glibc-functions/bindresvport.texi: Likewise.
46419         * doc/glibc-functions/dn_expand.texi: Likewise.
46420         * doc/glibc-functions/exp10.texi: Likewise.
46421         * doc/glibc-functions/exp10f.texi: Likewise.
46422         * doc/glibc-functions/fgetxattr.texi: Likewise.
46423         * doc/glibc-functions/flistxattr.texi: Likewise.
46424         * doc/glibc-functions/fopencookie.texi: Likewise.
46425         * doc/glibc-functions/freeifaddrs.texi: Likewise.
46426         * doc/glibc-functions/fremovexattr.texi: Likewise.
46427         * doc/glibc-functions/fsetxattr.texi: Likewise.
46428         * doc/glibc-functions/getifaddrs.texi: Likewise.
46429         * doc/glibc-functions/getxattr.texi: Likewise.
46430         * doc/glibc-functions/lgetxattr.texi: Likewise.
46431         * doc/glibc-functions/listxattr.texi: Likewise.
46432         * doc/glibc-functions/llistxattr.texi: Likewise.
46433         * doc/glibc-functions/lremovexattr.texi: Likewise.
46434         * doc/glibc-functions/lsetxattr.texi: Likewise.
46435         * doc/glibc-functions/pow10.texi: Likewise.
46436         * doc/glibc-functions/pow10f.texi: Likewise.
46437         * doc/glibc-functions/rcmd_af.texi: Likewise.
46438         * doc/glibc-functions/removexattr.texi: Likewise.
46439         * doc/glibc-functions/res_init.texi: Likewise.
46440         * doc/glibc-functions/res_mkquery.texi: Likewise.
46441         * doc/glibc-functions/res_query.texi: Likewise.
46442         * doc/glibc-functions/res_querydomain.texi: Likewise.
46443         * doc/glibc-functions/res_send.texi: Likewise.
46444         * doc/glibc-functions/rresvport_af.texi: Likewise.
46445         * doc/glibc-functions/setxattr.texi: Likewise.
46446         * doc/glibc-functions/strcasestr.texi: Likewise.
46447
46448 2008-12-15  Bruno Haible  <bruno@clisp.org>
46449
46450         Fix compilation error on OSF/1 4.0.
46451         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
46452         <sys/time.h>, simply delegate to the system header.
46453         Reported by Daniel Richard G. <oss@teragram.com>.
46454
46455 2008-12-15  Bruno Haible  <bruno@clisp.org>
46456
46457         * doc/posix-functions/openat.texi: Mention the 'openat' module.
46458         * doc/posix-functions/fchmodat.texi: Likewise.
46459         * doc/posix-functions/fchownat.texi: Likewise.
46460         * doc/posix-functions/fdopendir.texi: Likewise.
46461         * doc/posix-functions/fstatat.texi: Likewise.
46462         * doc/posix-functions/mkdirat.texi: Likewise.
46463         * doc/posix-functions/unlinkat.texi: Likewise.
46464
46465 2008-12-14  Bruno Haible  <bruno@clisp.org>
46466
46467         Update doc for POSIX:2008.
46468         * doc/posix-functions/faccessat.texi: New file.
46469         * doc/posix-functions/fchmodat.texi: New file.
46470         * doc/posix-functions/fchownat.texi: New file.
46471         * doc/posix-functions/fdopendir.texi: New file.
46472         * doc/posix-functions/fstatat.texi: New file.
46473         * doc/posix-functions/futimens.texi: New file.
46474         * doc/posix-functions/linkat.texi: New file.
46475         * doc/posix-functions/mkdirat.texi: New file.
46476         * doc/posix-functions/mkfifoat.texi: New file.
46477         * doc/posix-functions/mknodat.texi: New file.
46478         * doc/posix-functions/open_wmemstream.texi: New file.
46479         * doc/posix-functions/openat.texi: New file.
46480         * doc/posix-functions/psiginfo.texi: New file.
46481         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
46482         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
46483         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
46484         * doc/posix-functions/readlinkat.texi: New file.
46485         * doc/posix-functions/renameat.texi: New file.
46486         * doc/posix-functions/strerror_l.texi: New file.
46487         * doc/posix-functions/symlinkat.texi: New file.
46488         * doc/posix-functions/unlinkat.texi: New file.
46489         * doc/posix-functions/utimensat.texi: New file.
46490         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46491
46492 2008-12-14  Bruno Haible  <bruno@clisp.org>
46493
46494         Update doc for POSIX:2008.
46495         * doc/posix-functions/alphasort.texi: Renamed from
46496         doc/glibc-functions/alphasort.texi.
46497         * doc/posix-functions/dirfd.texi: Renamed from
46498         doc/glibc-functions/dirfd.texi.
46499         * doc/posix-functions/dprintf.texi: Renamed from
46500         doc/glibc-functions/dprintf.texi.
46501         * doc/posix-functions/duplocale.texi: Renamed from
46502         doc/glibc-functions/duplocale.texi.
46503         * doc/posix-functions/fexecve.texi: Renamed from
46504         doc/glibc-functions/fexecve.texi.
46505         * doc/posix-functions/fmemopen.texi: Renamed from
46506         doc/glibc-functions/fmemopen.texi.
46507         * doc/posix-functions/freelocale.texi: Renamed from
46508         doc/glibc-functions/freelocale.texi.
46509         * doc/posix-functions/getdate_err.texi: Renamed from
46510         doc/glibc-functions/getdate_err.texi.
46511         * doc/posix-functions/isalnum_l.texi: Renamed from
46512         doc/glibc-functions/isalnum_l.texi.
46513         * doc/posix-functions/isalpha_l.texi: Renamed from
46514         doc/glibc-functions/isalpha_l.texi.
46515         * doc/posix-functions/isblank_l.texi: Renamed from
46516         doc/glibc-functions/isblank_l.texi.
46517         * doc/posix-functions/iscntrl_l.texi: Renamed from
46518         doc/glibc-functions/iscntrl_l.texi.
46519         * doc/posix-functions/isdigit_l.texi: Renamed from
46520         doc/glibc-functions/isdigit_l.texi.
46521         * doc/posix-functions/isgraph_l.texi: Renamed from
46522         doc/glibc-functions/isgraph_l.texi.
46523         * doc/posix-functions/islower_l.texi: Renamed from
46524         doc/glibc-functions/islower_l.texi.
46525         * doc/posix-functions/isprint_l.texi: Renamed from
46526         doc/glibc-functions/isprint_l.texi.
46527         * doc/posix-functions/ispunct_l.texi: Renamed from
46528         doc/glibc-functions/ispunct_l.texi.
46529         * doc/posix-functions/isspace_l.texi: Renamed from
46530         doc/glibc-functions/isspace_l.texi.
46531         * doc/posix-functions/isupper_l.texi: Renamed from
46532         doc/glibc-functions/isupper_l.texi.
46533         * doc/posix-functions/iswalnum_l.texi: Renamed from
46534         doc/glibc-functions/iswalnum_l.texi.
46535         * doc/posix-functions/iswalpha_l.texi: Renamed from
46536         doc/glibc-functions/iswalpha_l.texi.
46537         * doc/posix-functions/iswblank_l.texi: Renamed from
46538         doc/glibc-functions/iswblank_l.texi.
46539         * doc/posix-functions/iswcntrl_l.texi: Renamed from
46540         doc/glibc-functions/iswcntrl_l.texi.
46541         * doc/posix-functions/iswctype_l.texi: Renamed from
46542         doc/glibc-functions/iswctype_l.texi.
46543         * doc/posix-functions/iswdigit_l.texi: Renamed from
46544         doc/glibc-functions/iswdigit_l.texi.
46545         * doc/posix-functions/iswgraph_l.texi: Renamed from
46546         doc/glibc-functions/iswgraph_l.texi.
46547         * doc/posix-functions/iswlower_l.texi: Renamed from
46548         doc/glibc-functions/iswlower_l.texi.
46549         * doc/posix-functions/iswprint_l.texi: Renamed from
46550         doc/glibc-functions/iswprint_l.texi.
46551         * doc/posix-functions/iswpunct_l.texi: Renamed from
46552         doc/glibc-functions/iswpunct_l.texi.
46553         * doc/posix-functions/iswspace_l.texi: Renamed from
46554         doc/glibc-functions/iswspace_l.texi.
46555         * doc/posix-functions/iswupper_l.texi: Renamed from
46556         doc/glibc-functions/iswupper_l.texi.
46557         * doc/posix-functions/iswxdigit_l.texi: Renamed from
46558         doc/glibc-functions/iswxdigit_l.texi.
46559         * doc/posix-functions/isxdigit_l.texi: Renamed from
46560         doc/glibc-functions/isxdigit_l.texi.
46561         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
46562         doc/glibc-functions/mbsnrtowcs.texi.
46563         * doc/posix-functions/mkdtemp.texi: Renamed from
46564         doc/glibc-functions/mkdtemp.texi.
46565         * doc/posix-functions/newlocale.texi: Renamed from
46566         doc/glibc-functions/newlocale.texi.
46567         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
46568         doc/glibc-functions/nl_langinfo_l.texi.
46569         * doc/posix-functions/open_memstream.texi: Renamed from
46570         doc/glibc-functions/open_memstream.texi.
46571         * doc/posix-functions/opterr.texi: Renamed from
46572         doc/glibc-functions/opterr.texi.
46573         * doc/posix-functions/optind.texi: Renamed from
46574         doc/glibc-functions/optind.texi.
46575         * doc/posix-functions/optopt.texi: Renamed from
46576         doc/glibc-functions/optopt.texi.
46577         * doc/posix-functions/psignal.texi: Renamed from
46578         doc/glibc-functions/psignal.texi.
46579         * doc/posix-functions/scandir.texi: Renamed from
46580         doc/glibc-functions/scandir.texi.
46581         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
46582         doc/glibc-functions/sched_get_priority_min.texi.
46583         * doc/posix-functions/signgam.texi: Renamed from
46584         doc/glibc-functions/signgam.texi.
46585         * doc/posix-functions/stpcpy.texi: Renamed from
46586         doc/glibc-functions/stpcpy.texi.
46587         * doc/posix-functions/stpncpy.texi: Renamed from
46588         doc/glibc-functions/stpncpy.texi.
46589         * doc/posix-functions/strcasecmp_l.texi: Renamed from
46590         doc/glibc-functions/strcasecmp_l.texi.
46591         * doc/posix-functions/strcoll_l.texi: Renamed from
46592         doc/glibc-functions/strcoll_l.texi.
46593         * doc/posix-functions/strfmon_l.texi: Renamed from
46594         doc/glibc-functions/strfmon_l.texi.
46595         * doc/posix-functions/strftime_l.texi: Renamed from
46596         doc/glibc-functions/strftime_l.texi.
46597         * doc/posix-functions/strncasecmp_l.texi: Renamed from
46598         doc/glibc-functions/strncasecmp_l.texi.
46599         * doc/posix-functions/strndup.texi: Renamed from
46600         doc/glibc-functions/strndup.texi.
46601         * doc/posix-functions/strnlen.texi: Renamed from
46602         doc/glibc-functions/strnlen.texi.
46603         * doc/posix-functions/strsignal.texi: Renamed from
46604         doc/glibc-functions/strsignal.texi.
46605         * doc/posix-functions/strxfrm_l.texi: Renamed from
46606         doc/glibc-functions/strxfrm_l.texi.
46607         * doc/posix-functions/timer_gettime.texi: Renamed from
46608         doc/glibc-functions/timer_gettime.texi.
46609         * doc/posix-functions/tolower_l.texi: Renamed from
46610         doc/glibc-functions/tolower_l.texi.
46611         * doc/posix-functions/toupper_l.texi: Renamed from
46612         doc/glibc-functions/toupper_l.texi.
46613         * doc/posix-functions/towctrans_l.texi: Renamed from
46614         doc/glibc-functions/towctrans_l.texi.
46615         * doc/posix-functions/towlower_l.texi: Renamed from
46616         doc/glibc-functions/towlower_l.texi.
46617         * doc/posix-functions/towupper_l.texi: Renamed from
46618         doc/glibc-functions/towupper_l.texi.
46619         * doc/posix-functions/uselocale.texi: Renamed from
46620         doc/glibc-functions/uselocale.texi.
46621         * doc/posix-functions/vdprintf.texi: Renamed from
46622         doc/glibc-functions/vdprintf.texi.
46623         * doc/posix-functions/wcpcpy.texi:
46624         Renamed from doc/glibc-functions/wcpcpy.texi.
46625         * doc/posix-functions/wcpncpy.texi: Renamed from
46626         doc/glibc-functions/wcpncpy.texi.
46627         * doc/posix-functions/wcscasecmp.texi: Renamed from
46628         doc/glibc-functions/wcscasecmp.texi.
46629         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
46630         doc/glibc-functions/wcscasecmp_l.texi.
46631         * doc/posix-functions/wcscoll_l.texi: Renamed from
46632         doc/glibc-functions/wcscoll_l.texi.
46633         * doc/posix-functions/wcsdup.texi: Renamed from
46634         doc/glibc-functions/wcsdup.texi.
46635         * doc/posix-functions/wcsncasecmp.texi: Renamed from
46636         doc/glibc-functions/wcsncasecmp.texi.
46637         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
46638         doc/glibc-functions/wcsncasecmp_l.texi.
46639         * doc/posix-functions/wcsnlen.texi: Renamed from
46640         doc/glibc-functions/wcsnlen.texi.
46641         * doc/posix-functions/wcsnrtombs.texi: Renamed from
46642         doc/glibc-functions/wcsnrtombs.texi.
46643         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
46644         doc/glibc-functions/wcsxfrm_l.texi.
46645         * doc/posix-functions/wctrans_l.texi: Renamed from
46646         doc/glibc-functions/wctrans_l.texi.
46647         * doc/posix-functions/wctype_l.texi: Renamed from
46648         doc/glibc-functions/wctype_l.texi.
46649         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46650         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
46651         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
46652         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
46653         these subsections.
46654         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
46655         Remove sections.
46656
46657 2008-12-14  Bruno Haible  <bruno@clisp.org>
46658
46659         Update doc for POSIX:2008.
46660         * doc/posix-functions/*.texi: Update URL of POSIX specification.
46661
46662 2008-12-14  Bruno Haible  <bruno@clisp.org>
46663
46664         Update doc for POSIX:2008.
46665         * doc/pastposix-functions/bcmp.texi: Renamed from
46666         doc/posix-functions/bcmp.texi.
46667         * doc/pastposix-functions/bcopy.texi: Renamed from
46668         doc/posix-functions/bcopy.texi.
46669         * doc/pastposix-functions/bsd_signal.texi: Renamed from
46670         doc/posix-functions/bsd_signal.texi.
46671         * doc/pastposix-functions/bzero.texi: Renamed from
46672         doc/posix-functions/bzero.texi.
46673         * doc/pastposix-functions/ecvt.texi: Renamed from
46674         doc/posix-functions/ecvt.texi.
46675         * doc/pastposix-functions/fcvt.texi: Renamed from
46676         doc/posix-functions/fcvt.texi.
46677         * doc/pastposix-functions/ftime.texi: Renamed from
46678         doc/posix-functions/ftime.texi.
46679         * doc/pastposix-functions/gcvt.texi: Renamed from
46680         doc/posix-functions/gcvt.texi.
46681         * doc/pastposix-functions/getcontext.texi: Renamed from
46682         doc/posix-functions/getcontext.texi.
46683         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
46684         doc/posix-functions/gethostbyaddr.texi.
46685         * doc/pastposix-functions/gethostbyname.texi: Renamed from
46686         doc/posix-functions/gethostbyname.texi.
46687         * doc/pastposix-functions/getwd.texi: Renamed from
46688         doc/posix-functions/getwd.texi.
46689         * doc/pastposix-functions/h_errno.texi: Renamed from
46690         doc/posix-functions/h_errno.texi.
46691         * doc/pastposix-functions/index.texi: Renamed from
46692         doc/posix-functions/index.texi.
46693         * doc/pastposix-functions/makecontext.texi: Renamed from
46694         doc/posix-functions/makecontext.texi.
46695         * doc/pastposix-functions/mktemp.texi: Renamed from
46696         doc/posix-functions/mktemp.texi.
46697         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
46698         doc/posix-functions/pthread_attr_getstackaddr.texi.
46699         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
46700         doc/posix-functions/pthread_attr_setstackaddr.texi.
46701         * doc/pastposix-functions/rindex.texi: Renamed from
46702         doc/posix-functions/rindex.texi.
46703         * doc/pastposix-functions/scalb.texi: Renamed from
46704         doc/posix-functions/scalb.texi.
46705         * doc/pastposix-functions/setcontext.texi: Renamed from
46706         doc/posix-functions/setcontext.texi.
46707         * doc/pastposix-functions/swapcontext.texi: Renamed from
46708         doc/posix-functions/swapcontext.texi.
46709         * doc/pastposix-functions/ualarm.texi: Renamed from
46710         doc/posix-functions/ualarm.texi.
46711         * doc/pastposix-functions/usleep.texi: Renamed from
46712         doc/posix-functions/usleep.texi.
46713         * doc/pastposix-functions/vfork.texi: Renamed from
46714         doc/posix-functions/vfork.texi.
46715         * doc/pastposix-functions/wcswcs.texi: Renamed from
46716         doc/posix-functions/wcswcs.texi.
46717         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
46718         (Function Substitutes): Update.
46719
46720 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46721
46722         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
46723         m4/strerror.m4.
46724
46725 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46726             Bruno Haible  <bruno@clisp.org>
46727
46728         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
46729
46730 2008-12-13  Bruno Haible  <bruno@clisp.org>
46731
46732         * modules/strtoull (Depends-on): Remove unistd.
46733
46734 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46735
46736         * modules/strtoull (Depends-on): Add stdlib.
46737
46738 2008-12-11  Simon Josefsson  <simon@josefsson.org>
46739
46740         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
46741
46742 2008-12-10  Jim Meyering  <meyering@redhat.com>
46743
46744         gl_ASSERT: don't say assertions are disabled when they're not
46745         * m4/assert.m4 (gl_ASSERT): Do not make configure report
46746         "checking whether to enable assertions... no", when they are in
46747         fact enabled.  This is solely a bug in the output of configure.
46748         In spite of saying "no", NDEBUG was not defined in that case.
46749         Also, as noted by Eric Blake, leave assertions enabled upon
46750         --enable-assert=INVALID.
46751
46752 2008-12-10  Bruno Haible  <bruno@clisp.org>
46753
46754         Change MODULES.html to refer to POSIX:2008 where possible.
46755         * MODULES.html.sh (POSIX2008_URL): New variable.
46756         (posix_headers): Remove sys/timeb, ucontext.
46757         (posix2001_headers): New variable.
46758         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
46759         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
46760         index, makecontext, mktemp, pthread_attr_getstackaddr,
46761         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
46762         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
46763         (posix2001_functions): New variable.
46764         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
46765         otherwise.
46766
46767 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46768
46769         add missing include to parse-duration.c
46770         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
46771         * modules/parse-duration (Depends-on): Add xalloc.
46772
46773         fix sed script reading maint.mk
46774         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
46775         (syntax-check-rules): Use it.
46776
46777 2008-12-09  Bruno Haible  <bruno@clisp.org>
46778
46779         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
46780         MacOS X 10.4/PowerPC.
46781         Reported by Simon Josefsson.
46782
46783 2008-12-08  Jim Meyering  <meyering@redhat.com>
46784
46785         work around mingw's lack of some S_IF definitions
46786         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
46787         Reported by Simon Josefsson.
46788
46789 2008-12-08  Bruno Haible  <bruno@clisp.org>
46790
46791         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
46792         applied to variables. Needed on MacOS X 10.4/PowerPC.
46793         Reported by Simon Josefsson.
46794
46795 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
46796         and Eric Blake  <ebb9@byu.net>
46797
46798         assert: honor --enable-assert
46799         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
46800         order to honor --enable-assert, rather than treating it as a
46801         synonym for --disable-assert.
46802
46803 2008-12-08  Jim Meyering  <meyering@redhat.com>
46804
46805         * lib/posixtm.c: Remove now-useless declaration of mktime.
46806
46807         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
46808
46809 2008-12-07  Bruno Haible  <bruno@clisp.org>
46810
46811         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
46812         test_once): Mark functions as static.
46813         * tests/test-tls.c (test_tls): Likewise.
46814
46815 2008-12-07  Bruno Haible  <bruno@clisp.org>
46816
46817         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
46818         iconv_register_autodetect.
46819
46820 2008-12-07  Jim Meyering  <meyering@redhat.com>
46821
46822         posixtm.c: avoid a warning
46823         * lib/posixtm.c (posixtime): Don't initialize tm0.
46824         It's no longer needed to placate gcc4's -Wuninitialized,
46825         and the attempt to placate would elicit a new warning.
46826
46827         unicodeio.c: mark unused parameters
46828         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46829         (fallback_failure_callback): Likewise.
46830
46831 2008-12-07  Bruno Haible  <bruno@clisp.org>
46832
46833         * gnulib-tool (func_create_testdir): When building the tests
46834         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
46835         Reported by Simon Josefsson.
46836
46837 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46838
46839         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
46840
46841 2008-12-06  Bruno Haible  <bruno@clisp.org>
46842
46843         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
46844         Suggested by Eric Blake.
46845
46846 2008-12-06  Bruno Haible  <bruno@clisp.org>
46847
46848         Fix a c-stack test failure on MacOS X.
46849         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
46850         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
46851         handler for SIGBUS as well.
46852         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
46853         install a signal handler for SIGBUS as well.
46854         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
46855
46856 2008-12-06  Bruno Haible  <bruno@clisp.org>
46857
46858         Advocacy documentation.
46859         * doc/gnulib-intro.texi (Benefits): New section.
46860         * doc/gnulib.texi: Update.
46861
46862 2008-12-06  Bruno Haible  <bruno@clisp.org>
46863
46864         Document the 'manywarnings' module.
46865         * doc/manywarnings.texi: New file.
46866         * doc/gnulib.texi: Include it.
46867
46868 2008-12-05  Eric Blake  <ebb9@byu.net>
46869
46870         tests: silence some gcc warnings
46871         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
46872         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
46873         type mismatches.
46874
46875 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46876             Bruno Haible  <bruno@clisp.org>
46877
46878         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
46879
46880 2008-11-29  Jim Meyering  <meyering@redhat.com>
46881
46882         unicodeio.c: mark unused parameters
46883         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46884         (fallback_failure_callback): Likewise.
46885
46886         fts: fix a thinko
46887         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
46888         (set_stat_type): Return S_IF*-valued "type" directly.
46889         Prompted by James Youngman's spotting a related bug.
46890         Confirmed by further testing through find.
46891
46892         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
46893         * lib/fts.c (D_TYPE): Define.
46894         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
46895         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
46896         (s_ifmt_shift_bits): New function.
46897         (set_stat_type): New function.
46898         (fts_build): When not calling fts_stat, call set_stat_type
46899         to propagate dirent.d_type info to fts_read caller.
46900         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
46901         fts_statp->st_mode type information may be valid.
46902
46903 2008-11-28  Simon Josefsson  <simon@josefsson.org>
46904
46905         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
46906         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
46907         <sds@gnu.org>.
46908
46909 2008-11-20  Bruno Haible  <bruno@clisp.org>
46910
46911         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
46912         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
46913         INCLUDE_NEXT.
46914         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
46915         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
46916         * modules/math (Makefile.am): Substitute
46917         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
46918         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46919
46920 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
46921             Bruno Haible  <bruno@clisp.org>
46922
46923         * lib/stdint.in.h: Define all type macros so that their expansion is
46924         a single typedef'ed token. Fixes a compilation failure in Boost which
46925         does "using ::int8_t;".
46926
46927 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46928
46929         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
46930         gl_MANYWARN_ALL_GCC.
46931         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
46932         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
46933         * modules/manywarnings: New file.
46934         * MODULES.html.sh: Mention manywarnings module.
46935
46936 2008-11-18  Bruno Haible  <bruno@clisp.org>
46937
46938         * doc/gnulib-tool.texi (Unit tests): New section.
46939
46940 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46941
46942         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
46943         paths like 'lib/po/foo.po'.
46944
46945 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46946
46947         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
46948         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
46949
46950 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46951
46952         * m4/warnings.m4: Use CPPFLAGS to really check whether the
46953         parameter works.
46954
46955 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46956
46957         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
46958
46959 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46960
46961         * modules/parse-duration-tests: New file.
46962         * tests/test-parse-duration.sh: New file.
46963         * tests/test-parse-duration.c: New file.
46964
46965         New module 'parse-duration'.
46966         * lib/parse-duration.h: New file.
46967         * lib/parse-duration.c: New file.
46968         * modules/parse-duration: New file.
46969
46970 2008-11-17  Bruno Haible  <bruno@clisp.org>
46971
46972         * tests/test-select-out.sh: Comment out the first pipe test.
46973         Reported by Simon Josefsson.
46974
46975 2008-11-17  Bruno Haible  <bruno@clisp.org>
46976
46977         * modules/getaddrinfo (Depends-on): Add servent, hostent.
46978         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
46979         gl_HOSTENT.
46980
46981 2008-11-17  Bruno Haible  <bruno@clisp.org>
46982
46983         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
46984         -lnetwork and -lnet. Needed for Haiku and BeOS.
46985
46986 2008-11-16  Bruno Haible  <bruno@clisp.org>
46987
46988         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
46989
46990 2008-11-16  Bruno Haible  <bruno@clisp.org>
46991
46992         Avoid test failure on Haiku.
46993         * tests/test-fsync.c: Include <errno.h>.
46994         (main): Don't require that fsync (0) fails.
46995
46996 2008-11-15  Bruno Haible  <bruno@clisp.org>
46997
46998         New module 'hostent'.
46999         * modules/hostent: New file.
47000         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
47001
47002 2008-11-15  Bruno Haible  <bruno@clisp.org>
47003
47004         New module 'servent'.
47005         * modules/servent: New file.
47006         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
47007
47008 2008-11-15  Bruno Haible  <bruno@clisp.org>
47009
47010         Avoid generating same test program with two different rules.
47011         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
47012         test-frexp to test-frexp-nolibm.
47013         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
47014         test-frexpl to test-frexpl-nolibm.
47015
47016 2008-11-15  Bruno Haible  <bruno@clisp.org>
47017
47018         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
47019         $(FREXPL_LIBM).
47020
47021 2008-11-15  Bruno Haible  <bruno@clisp.org>
47022
47023         * lib/netdb.in.h: Activate the definitions also when the system's
47024         <netdb.h> has 'struct addrinfo'.
47025         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
47026         EAI_OVERFLOW or AI_NUMERICSERV.
47027         * doc/posix-headers/netdb.texi: Document the problem.
47028
47029 2008-11-15  Bruno Haible  <bruno@clisp.org>
47030
47031         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
47032
47033         Make the 'sched' module work on platforms where <sched.h> exists but
47034         is incomplete (such as Haiku).
47035         * lib/sched.in.h; Include the system's <sched.h> if it exists.
47036         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
47037         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
47038         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
47039         HAVE_STRUCT_SCHED_PARAM.
47040         * modules/sched (Depends-on): Add include_next.
47041         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
47042         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
47043         * doc/posix-headers/sched.texi: Document the issue.
47044
47045 2008-11-13  Jim Meyering  <meyering@redhat.com>
47046
47047         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
47048         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
47049         test would fail due to the difference in the Report bugs to ...
47050         line.  The expected address is empty, "<>", while the actual
47051         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
47052
47053 2008-11-12  Bruno Haible  <bruno@clisp.org>
47054
47055         lstat: don't compile lstat.c on systems lacking lstat
47056         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
47057         which don't have lstat; this is handled by lib/sys_stat.in.h already.
47058         Reported by Daniel P. Berrange via Jim Meyering.
47059
47060 2008-11-12  Jim Meyering  <meyering@redhat.com>
47061
47062         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
47063
47064 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47065
47066         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
47067         instead.
47068
47069 2008-11-12  Bruno Haible  <bruno@clisp.org>
47070
47071         * lib/unicodeio.c: Include unistr.h.
47072         (utf8_wctomb): Remove function.
47073         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
47074
47075 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47076
47077         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
47078         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
47079         <bruno@clisp.org>.
47080         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
47081
47082 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47083
47084         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
47085         * doc/gnulib.texi: Add section for warnings.
47086
47087 2008-11-11  Bruno Haible  <bruno@clisp.org>
47088
47089         * lib/sockets.h: Add a comment.
47090
47091 2008-11-11  Karl Berry  <karl@gnu.org>
47092
47093         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
47094
47095 2008-11-11  Eric Blake  <ebb9@byu.net>
47096
47097         fdl.texi: avoid git symlinks
47098         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
47099
47100 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47101
47102         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
47103
47104 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47105
47106         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
47107         (gl_WARN_ADD): Substitute $2 if literal.
47108
47109 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47110
47111         * m4/warning.m4: Remove.
47112
47113 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47114
47115         * m4/warnings.m4: Almost complete rewrite. :-)
47116
47117 2008-11-10  Simon Josefsson  <simon@josefsson.org>
47118
47119         * modules/warnings: New module.
47120         * m4/warnings.m4: New file.
47121         * MODULES.html.sh: Mention warnings module.
47122         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
47123         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47124
47125 2008-11-10  Eric Blake  <ebb9@byu.net>
47126
47127         fdl.texi: make a symlink to the latest version
47128         * doc/standards.texi: Revert today's earlier change.
47129         * doc/fdl-1.2.texi: Rename from old fdl.texi...
47130         * doc/fdl.texi: ...and replace this with a symlink to the newer
47131         fdl-1.3.texi.
47132
47133 2008-11-10  Bruno Haible  <bruno@clisp.org>
47134
47135         * tests/test-select-fd.c (main): Accept the result file name as fourth
47136         argument.
47137         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
47138         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
47139
47140 2008-11-10  Bruno Haible  <bruno@clisp.org>
47141
47142         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
47143         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
47144         as autoconf-substituted macros.
47145         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
47146         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
47147         gl_NETDB_H_DEFAULTS. Set these variables.
47148         * modules/netdb (Makefile.am): Substitute these variables.
47149
47150 2008-11-10  Eric Blake  <ebb9@byu.net>
47151
47152         standards.texi: include correct file for FDL 1.3
47153         * doc/standards.texi (GNU Free Documentation License): Change
47154         include file to pull in FDL 1.3, not 1.2.
47155
47156         fdl.texi: revert accidental change to license
47157         * doc/fdl.texi: This is FDL 1.2, not 1.3.
47158
47159 2008-11-10  Bruno Haible  <bruno@clisp.org>
47160
47161         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
47162         cross-compiling guesses also when the native compile gives no result.
47163
47164 2008-11-10  Bruno Haible  <bruno@clisp.org>
47165
47166         * lib/spawni.c (__spawni): Force variable into the stack.
47167
47168 2008-11-10  Bruno Haible  <bruno@clisp.org>
47169
47170         Add support for Haiku.
47171         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
47172         glibc and BeOS, but also on Haiku.
47173         * lib/fpurge.c (fpurge): Likewise.
47174         * lib/freadable.c (freadable): Likewise.
47175         * lib/freadahead.c (freadahead): Likewise.
47176         * lib/freading.c (freading): Likewise.
47177         * lib/freadptr.c (freadptr): Likewise.
47178         * lib/freadseek.c (freadptrinc): Likewise.
47179         * lib/fseeko.c (rpl_fseeko): Likewise.
47180         * lib/fseterr.c (fseterr): Likewise.
47181         * lib/fwritable.c (fwritable): Likewise.
47182         * lib/fwriting.c (fwriting): Likewise.
47183         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
47184
47185 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47186
47187         * lib/config.charset: Treat Haiku like BeOS.
47188
47189 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47190
47191         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
47192         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
47193
47194 2008-11-08  Bruno Haible  <bruno@clisp.org>
47195
47196         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
47197         AC_CACHE_CHECK.
47198
47199 2008-11-08  Bruno Haible  <bruno@clisp.org>
47200
47201         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
47202
47203 2008-11-08  Bruno Haible  <bruno@clisp.org>
47204
47205         * tests/test-select-fd.c: New file.
47206         * tests/test-select-in.sh: New file.
47207         * tests/test-select-out.sh: New file.
47208         * tests/test-select-stdin.c: New file.
47209         * modules/select-tests (Files): Add the new files.
47210         (Depends-on): Add gettimeofday.
47211         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
47212         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
47213         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
47214
47215 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
47216             Bruno Haible  <bruno@clisp.org>
47217
47218         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
47219
47220 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
47221
47222         * build-aux/pmccabe2html: Added support for C++ source files.
47223
47224 2008-11-05  Ben Pfaff  <blp@gnu.org>
47225
47226         Fix lib/close.c build on Windows.
47227         * modules/close (Files): Add lib/w32sock.h.
47228
47229 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
47230
47231         Accept Bison's NEWS format.
47232         * build-aux/announce-gen (print_news_deltas): Tweak
47233         $re_prefix.
47234
47235 2008-11-04  Bruno Haible  <bruno@clisp.org>
47236
47237         * modules/random_r (Maintainer): Add glibc.
47238
47239 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47240
47241         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
47242         by karl@freefriends.org (Karl Berry).
47243         * doc/alloca.texi: Likewise.
47244         * doc/c-ctype.texi: Likewise.
47245         * doc/c-strcase.texi: Likewise.
47246         * doc/c-strcaseeq.texi: Likewise.
47247         * doc/c-strcasestr.texi: Likewise.
47248         * doc/c-strstr.texi: Likewise.
47249         * doc/c-strtod.texi: Likewise.
47250         * doc/c-strtold.texi: Likewise.
47251         * doc/ctime.texi: Likewise.
47252         * doc/error.texi: Likewise.
47253         * doc/fdl.texi: Likewise.
47254         * doc/gcd.texi: Likewise.
47255         * doc/getdate.texi: Likewise.
47256         * doc/gnulib-intro.texi: Likewise.
47257         * doc/gnulib-tool.texi: Likewise.
47258         * doc/gnulib.texi: Likewise.
47259         * doc/inet_ntoa.texi: Likewise.
47260         * doc/maintain.texi: Likewise.
47261         * doc/make-stds.texi: Likewise.
47262         * doc/quote.texi: Likewise.
47263         * doc/regexprops-generic.texi: Likewise.
47264         * doc/standards.texi: Likewise.
47265         * doc/verify.texi: Likewise.
47266         * doc/visibility.texi: Likewise.
47267         * doc/gnulib.texi (GNU Free Documentation License): Include
47268         fdl-1.3.texi instead of fdl.texi.
47269
47270 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47271
47272         * doc/fdl-1.3.texi: New file, from
47273         <http://www.gnu.org/licenses/fdl-1.3.texi>.
47274         * modules/fdl-1.3: Add.
47275         * MODULES.html.sh: Add fdl-1.3.
47276
47277 2008-11-03  Bruno Haible  <bruno@clisp.org>
47278
47279         Make determination of absolute name of header file work with AIX xlc.
47280         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
47281         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
47282         preprocessing.
47283         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47284         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47285
47286 2008-11-03  Simon Josefsson  <simon@josefsson.org>
47287
47288         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
47289         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
47290         <ludo@gnu.org>.
47291
47292 2008-11-02  Bruno Haible  <bruno@clisp.org>
47293
47294         Mark 'strpbrk' obsolete.
47295         * modules/strpbrk (Status, Notice): New sections.
47296         * modules/strtok_r (Depends-on): Add strpbrk.
47297
47298 2008-11-02  Bruno Haible  <bruno@clisp.org>
47299
47300         Mark 'strdup' obsolete.
47301         * modules/strdup (Status, Notice): New sections.
47302         * modules/findprog (Depends-on): Add strdup.
47303         * modules/getaddrinfo (Depends-on): Likewise.
47304         * modules/localename (Depends-on): Likewise.
47305         * modules/relocatable-lib (Depends-on): Likewise.
47306         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
47307         * modules/relocatable-prog (Depends-on): Likewise.
47308         * modules/trim (Depends-on): Likewise.
47309         * modules/unictype/gen-ctype (Depends-on): Likewise.
47310         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47311
47312 2008-11-02  Bruno Haible  <bruno@clisp.org>
47313
47314         Mark 'strcspn' obsolete.
47315         * modules/strcspn (Status, Notice): New sections.
47316
47317 2008-11-02  Bruno Haible  <bruno@clisp.org>
47318
47319         Mark 'rmdir' obsolete.
47320         * modules/rmdir (Status, Notice): New sections.
47321         * modules/clean-temp (Depends-on): Add rmdir.
47322         * modules/openat (Depends-on): Likewise.
47323
47324 2008-11-02  Bruno Haible  <bruno@clisp.org>
47325
47326         Mark 'raise' obsolete.
47327         * modules/raise (Status, Notice): New sections.
47328         (Include): Specify <signal.h>.
47329         * modules/stdio (Depends-on): Add raise.
47330         * modules/write (Depends-on): Likewise.
47331
47332 2008-11-02  Bruno Haible  <bruno@clisp.org>
47333
47334         Mark 'memset' obsolete.
47335         * modules/memset (Status, Notice): New sections.
47336
47337 2008-11-02  Bruno Haible  <bruno@clisp.org>
47338
47339         Mark 'memmove' obsolete.
47340         * modules/memmove (Status, Notice): New sections.
47341         * modules/argp (Depends-on): Add memmove.
47342         * modules/argz (Depends-on): Likewise.
47343         * modules/canonicalize (Depends-on): Likewise.
47344         * modules/canonicalize-lgpl (Depends-on): Likewise.
47345         * modules/fts (Depends-on): Likewise.
47346         * modules/getcwd (Depends-on): Likewise.
47347         * modules/human (Depends-on): Likewise.
47348         * modules/regex (Depends-on): Likewise.
47349         * modules/striconveh (Depends-on): Likewise.
47350         * modules/trim (Depends-on): Likewise.
47351         * modules/unistr/u8-move (Depends-on): Likewise.
47352         * modules/unistr/u16-move (Depends-on): Likewise.
47353         * modules/unistr/u32-move (Depends-on): Likewise.
47354
47355 2008-11-02  Bruno Haible  <bruno@clisp.org>
47356
47357         Mark 'memcpy' obsolete.
47358         * modules/memcpy (Status, Notice): New sections.
47359
47360 2008-11-02  Bruno Haible  <bruno@clisp.org>
47361
47362         Mark 'memcmp' obsolete.
47363         * modules/memcmp (Status, Notice): New sections.
47364         * modules/argmatch (Depends-on): Add memchr.
47365         * modules/backupfile (Depends-on): Likewise.
47366         * modules/c-strcasestr (Depends-on): Likewise.
47367         * modules/crypto/des (Depends-on): Likewise.
47368         * modules/csharpcomp (Depends-on): Likewise.
47369         * modules/fnmatch (Depends-on): Likewise.
47370         * modules/git-merge-changelog (Depends-on): Likewise.
47371         * modules/isnand (Depends-on): Likewise.
47372         * modules/isnand-nolibm (Depends-on): Likewise.
47373         * modules/isnanf (Depends-on): Likewise.
47374         * modules/isnanf-nolibm (Depends-on): Likewise.
47375         * modules/isnanl (Depends-on): Likewise.
47376         * modules/isnanl-nolibm (Depends-on): Likewise.
47377         * modules/mbchar (Depends-on): Likewise.
47378         * modules/memcoll (Depends-on): Likewise.
47379         * modules/quotearg (Depends-on): Likewise.
47380         * modules/regex (Depends-on): Likewise.
47381         * modules/relocatable-prog (Depends-on): Likewise.
47382         * modules/same (Depends-on): Likewise.
47383         * modules/signbit (Depends-on): Likewise.
47384         * modules/strcasestr-simple (Depends-on): Likewise.
47385         * modules/unictype/gen-ctype (Depends-on): Likewise.
47386         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47387         * modules/uniname/uniname (Depends-on): Likewise.
47388         * modules/unistr/u8-cmp (Depends-on): Likewise.
47389
47390 2008-11-02  Bruno Haible  <bruno@clisp.org>
47391
47392         Mark 'memchr' obsolete.
47393         * modules/memchr (Status, Notice): New sections.
47394         * modules/argp (Depends-on): Add memchr.
47395         * modules/base64 (Depends-on): Likewise.
47396         * modules/c-strcasestr (Depends-on): Likewise.
47397         * modules/chdir-long (Depends-on): Likewise.
47398         * modules/fnmatch (Depends-on): Likewise.
47399         * modules/getsubopt (Depends-on): Likewise.
47400         * modules/git-merge-changelog (Depends-on): Likewise.
47401         * modules/glob (Depends-on): Likewise.
47402         * modules/strcasestr-simple (Depends-on): Likewise.
47403         * modules/strnlen (Depends-on): Likewise.
47404
47405 2008-11-02  Bruno Haible  <bruno@clisp.org>
47406
47407         Mark 'atexit' obsolete.
47408         * modules/atexit (Status, Notice): New sections.
47409         * modules/chdir-long (Depends-on): Add atexit.
47410         * modules/wait-process (Depends-on): Likewise.
47411
47412 2008-11-02  Bruno Haible  <bruno@clisp.org>
47413
47414         * gnulib-tool: New option --with-obsolete.
47415         (func_usage): Document it.
47416         (func_modules_transitive_closure): Drop obsolete dependencies if
47417         incobsolete is not true.
47418         (func_import): Read and save the incobsolete variable to the cache.
47419
47420 2008-11-02  Bruno Haible  <bruno@clisp.org>
47421
47422         * modules/TEMPLATE-EXTENDED: New field 'Status'.
47423         * gnulib-tool: New option --extract-status.
47424         (func_usage): Document it.
47425         (sed_extract_prog): Recognize it.
47426         (func_get_status): New function.
47427
47428 2008-10-30  Simon Josefsson  <simon@josefsson.org>
47429
47430         * modules/sockets (License): Change from LGPL to LGPLv2+.
47431
47432 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47433
47434         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
47435
47436 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47437
47438         * MODULES.html.sh (Support for systems lacking POSIX:2001):
47439         Mention times and sys_times.
47440         * modules/sys_times, modules/sys_times-tests: New modules.
47441         * modules/times, modules/times-tests: Likewise
47442         * m4/sys_times_h.m4: New file.
47443         * lib/sys_times.in.h: Likewise
47444         * lib/times.c: Likewise.
47445         * tests/test-sys_times.c: Likewise.
47446         * tests/test-times.c: Likewise.
47447         * doc/posix-headers/sys_times.texi: Update.
47448         * doc/posix-functions/times.texi: Update.
47449
47450 2008-10-28  Jim Meyering  <meyering@redhat.com>
47451
47452         * modules/tempname (Depends-on): Add lstat.
47453
47454         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
47455
47456 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47457
47458         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
47459         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
47460         using idiom used elsewhere in gnulib.
47461
47462 2008-10-27  Jim Meyering  <meyering@redhat.com>
47463
47464         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
47465
47466 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47467
47468         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
47469         TESTS_ENVIRONMENT, for shell scripts that needs to call built
47470         programs.
47471         * tests/test-argp-2.sh: Use $EXEEXT when needed.
47472
47473 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47474
47475         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
47476
47477 2008-10-27  Bruno Haible  <bruno@clisp.org>
47478
47479         * tests/test-lstat.c: Include <stdio.h>.
47480
47481 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47482
47483         * modules/lstat-tests: New module.
47484         * tests/test-lstat.c: New file.
47485
47486 2008-10-26  Jim Meyering  <meyering@redhat.com>
47487
47488         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
47489
47490 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47491             Bruno Haible  <bruno@clisp.org>
47492
47493         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
47494         * modules/configmake (Include): Add a note that the include must come
47495         after all system headers.
47496         * lib/javaversion.c: Include configmake.h after all other includes.
47497
47498 2008-10-26  Bruno Haible  <bruno@clisp.org>
47499
47500         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
47501         HAVE_STRUCT_RANDOM_DATA to 1.
47502         (gl_STDLIB_H): Simplify.
47503
47504 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47505
47506         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
47507         substitute HAVE_STRUCT_RANDOM_DATA.
47508         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
47509         random_data.
47510         * modules/stdlib (Makefile.am): Substitute
47511         HAVE_STRUCT_RANDOM_DATA.
47512
47513 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47514
47515         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
47516         * doc/gnulib-intro.texi (Copyright): Likewise.
47517
47518 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47519
47520         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
47521         findings.
47522
47523 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
47524             Bruno Haible  <bruno@clisp.org>
47525
47526         * lib/unistd.in.h: Include <winsock2.h>.
47527         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
47528         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
47529         Provide dummy declarations.
47530         (gethostname): Override.
47531         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
47532         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
47533         gl_PREREQ_SYS_H_WINSOCK2.
47534         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
47535         * doc/posix-functions/gethostname.texi: More details.
47536
47537 2008-10-25  Bruno Haible  <bruno@clisp.org>
47538
47539         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47540         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
47541         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
47542
47543         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
47544         here ...
47545         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
47546         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
47547         gl_UNISTD_H_DEFAULTS.
47548
47549 2008-10-25  Eric Blake  <ebb9@byu.net>
47550
47551         signbit: avoid spurious compiler failure
47552         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
47553         declarations inside function.
47554
47555 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47556             Bruno Haible  <bruno@clisp.org>
47557
47558         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
47559         * modules/random_r (Depends-on): Add stdint.
47560
47561 2008-10-24  Bruno Haible  <bruno@clisp.org>
47562
47563         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
47564         Eggert.
47565         * modules/strerror (License): Likewise.
47566
47567 2008-10-24  Jim Meyering  <meyering@redhat.com>
47568
47569         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
47570         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
47571
47572 2008-10-24  Eric Blake  <ebb9@byu.net>
47573
47574         getgroups: fix compilation when getgroups is available
47575         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
47576         but with <config.h> override of getgroups disabled.
47577
47578 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47579
47580         * doc/gnulib.texi (Header files): Add note about C++ problems.
47581         Explained by Bruno Haible <bruno@clisp.org>.
47582
47583 2008-10-23  Bruno Haible  <bruno@clisp.org>
47584
47585         Define a dummy SA_NODEFER macro on Interix.
47586         * lib/signal.in.h (SA_NODEFER): Define fallback.
47587         Reported by Aleksey Cheusov <cheusov@tut.by> via
47588         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
47589
47590 2008-10-23  Bruno Haible  <bruno@clisp.org>
47591
47592         * modules/freadahead (License): Change to LGPLv2+.
47593         Suggested by Simon Josefsson.
47594
47595 2008-10-23  Jim Meyering  <meyering@redhat.com>
47596
47597         random_r: new module
47598         * modules/random_r: New file.
47599         * m4/random_r.m4: New file.
47600         * lib/random_r.c: New file, from glibc.
47601         * modules/random_r-tests: New file.
47602         * tests/test-random_r.c: New file.
47603         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
47604          Declare.
47605         (RAND_MAX): Define.
47606         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
47607         * modules/stdlib: Substitute them, too.
47608         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
47609         * doc/glibc-functions/initstate_r.texi: Mention the new module.
47610         * doc/glibc-functions/random_r.texi: Likewise.
47611         * doc/glibc-functions/setstate_r.texi: Likewise.
47612         * doc/glibc-functions/srandom_r.texi: Likewise.
47613         * config/srclist.txt: Mention it.
47614
47615 2008-10-23  David Lutterkort  <lutter@redhat.com>
47616
47617         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
47618         link requirement
47619
47620 2008-10-23  Jim Meyering  <meyering@redhat.com>
47621
47622         selinux-h: mark parameters of stub functions as intentionally unused
47623         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
47624         * lib/se-context.in.h: Likewise.
47625
47626 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47627
47628         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
47629
47630 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47631
47632         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
47633
47634 2008-10-22  Eric Blake  <ebb9@byu.net>
47635
47636         glthread/thread: avoid compiler warning
47637         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
47638         Add unreachable abort to silence compiler.
47639
47640 2008-10-22  Eric Blake  <ebb9@byu.net>
47641
47642         netdb: also supply struct addrinfo for cygwin 1.5.x
47643         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
47644         older cygwin.
47645         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
47646         cygwin.
47647         * doc/posix-headers/netdb.texi (netdb.h): Document this.
47648
47649 2008-10-22  Bruno Haible  <bruno@clisp.org>
47650
47651         * users.txt: Update entry about pspp.
47652
47653 2008-10-21  Bruno Haible  <bruno@clisp.org>
47654
47655         Simplification.
47656         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
47657         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
47658
47659         Simplification.
47660         * lib/ioctl.c (ioctl): Don't undefine.
47661         * lib/socket.c (socket): Don't undefine.
47662
47663         Remove unused module indicator macros.
47664         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
47665         GNULIB_$1 as a C macro.
47666
47667         * doc/posix-functions/close.texi: Undo last change.
47668         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
47669         Windows platforms.
47670
47671 2008-10-21  Bruno Haible  <bruno@clisp.org>
47672
47673         Add gethostname() declaration to <unistd.h>.
47674         * lib/unistd.in.h (gethostname): New declaration.
47675         * lib/gethostname.c: Include <unistd.h>.
47676         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
47677         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
47678         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
47679         and HAVE_GETHOSTNAME.
47680         * modules/gethostname (Depends-on): Add unistd.
47681         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47682         (Include): Specify <unistd.h>.
47683         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
47684         HAVE_GETHOSTNAME.
47685         * tests/test-gethostname.c: Include <unistd.h> first.
47686
47687 2008-10-21  Bruno Haible  <bruno@clisp.org>
47688
47689         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
47690         * modules/select-tests (Depends-on): Likewise.
47691         Reported by Simon Josefsson.
47692
47693 2008-10-21  Simon Josefsson  <simon@josefsson.org>
47694
47695         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
47696         * lib/accept.c: New file, based on winsock.c.
47697         * lib/bind.c: New file, based on winsock.c.
47698         * lib/connect.c: New file, based on winsock.c.
47699         * lib/getpeername.c: New file, based on winsock.c.
47700         * lib/getsockname.c: New file, based on winsock.c.
47701         * lib/getsockopt.c: New file, based on winsock.c.
47702         * lib/ioctl.c: New file, based on winsock.c.
47703         * lib/listen.c: New file, based on winsock.c.
47704         * lib/recv.c: New file, based on winsock.c.
47705         * lib/recvfrom.c: New file, based on winsock.c.
47706         * lib/send.c: New file, based on winsock.c.
47707         * lib/sendto.c: New file, based on winsock.c.
47708         * lib/setsockopt.c: New file, based on winsock.c.
47709         * lib/shutdown.c: New file, based on winsock.c.
47710         * lib/socket.c: New file, based on winsock.c.
47711         * lib/w32sock.h: New file, based on winsock.c.
47712         * lib/winsock.c: Remove file.
47713         * modules/accept: Likewise.
47714         * modules/bind: Likewise.
47715         * modules/connect: Likewise.
47716         * modules/getpeername: Likewise.
47717         * modules/getsockname: Likewise.
47718         * modules/getsockopt: Likewise.
47719         * modules/ioctl: Likewise.
47720         * modules/listen: Likewise.
47721         * modules/recv: Likewise.
47722         * modules/recvfrom: Likewise.
47723         * modules/send: Likewise.
47724         * modules/sendto: Likewise.
47725         * modules/setsockopt: Likewise.
47726         * modules/shutdown: Likewise.
47727         * modules/socket: Use socket.c instead of winsock.c.
47728         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
47729         * doc/posix-functions/accept.texi: Doc fix.
47730         * doc/posix-functions/bind.texi: Doc fix.
47731         * doc/posix-functions/close.texi: Doc fix.
47732         * doc/posix-functions/connect.texi: Doc fix.
47733         * doc/posix-functions/getpeername.texi: Doc fix.
47734         * doc/posix-functions/getsockname.texi: Doc fix.
47735         * doc/posix-functions/getsockopt.texi: Doc fix.
47736         * doc/posix-functions/ioctl.texi: Doc fix.
47737         * doc/posix-functions/listen.texi: Doc fix.
47738         * doc/posix-functions/recv.texi: Doc fix.
47739         * doc/posix-functions/recvfrom.texi: Doc fix.
47740         * doc/posix-functions/send.texi: Doc fix.
47741         * doc/posix-functions/sendto.texi: Doc fix.
47742         * doc/posix-functions/setsockopt.texi: Doc fix.
47743         * doc/posix-functions/shutdown.texi: Doc fix.
47744         * doc/posix-functions/socket.texi: Doc fix.
47745
47746 2008-10-20  Bruno Haible  <bruno@clisp.org>
47747
47748         Take into account the role of SIGABRT_COMPAT on Windows 2008.
47749         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
47750         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
47751         as an alias for SIGABRT.
47752         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
47753         (sigaction): Map it to SIGABRT.
47754         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
47755
47756 2008-10-20  Bruno Haible  <bruno@clisp.org>
47757
47758         * lib/fts.c: Don't include lstat.h.
47759         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
47760
47761         Move the lstat() declaration to <sys/stat.h>.
47762         * lib/lstat.h: Remove file.
47763         * lib/sys_stat.in.h: Add special invocation convention.
47764         (lstat): New declaration.
47765         * lib/lstat.c (orig_lstat): New function.
47766         (rpl_lstat): Use orig_lstat instead of lstat.
47767         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
47768         AC_C_INLINE. Set REPLACE_LSTAT.
47769         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
47770         and REPLACE_LSTAT.
47771         * modules/lstat (Files): Remove lib/lstat.h.
47772         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47773         (Include): Specify <sys/stat.h> instead of lstat.h.
47774         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
47775         REPLACE_LSTAT.
47776         * NEWS: Mention the change.
47777
47778 2008-10-20  Bruno Haible  <bruno@clisp.org>
47779
47780         * modules/posix_spawn-tests: New file.
47781         * tests/test-posix_spawn3.c: New file.
47782
47783 2008-10-20  Bruno Haible  <bruno@clisp.org>
47784
47785         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
47786         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47787         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
47788         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47789         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
47790
47791 2008-10-20  Bruno Haible  <bruno@clisp.org>
47792
47793         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
47794         of posix_spawn on AIX 5.3.
47795
47796 2008-10-20  Bruno Haible  <bruno@clisp.org>
47797
47798         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
47799
47800 2008-10-20  Bruno Haible  <bruno@clisp.org>
47801
47802         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
47803         of AC_LANG_PROGRAM.
47804
47805 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47806
47807         * lib/netdb.in.h: Don't define GNU specific constants until they
47808         are supported or needed.  Reported by Bruno Haible
47809         <bruno@clisp.org>.
47810
47811 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47812
47813         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
47814
47815 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47816
47817         * lib/getaddrinfo.h: Remove file.
47818         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
47819         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
47820         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
47821         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
47822         * modules/netdb: Substitute GNULIB_GETADDRINFO.
47823         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
47824         * tests/test-getaddrinfo.c: Likewise.
47825         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
47826         * NEWS: Mention change.
47827
47828 2008-10-19  Bruno Haible  <bruno@clisp.org>
47829
47830         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
47831
47832 2008-10-19  Bruno Haible  <bruno@clisp.org>
47833
47834         * lib/wait-process.c: Include simply <sys/wait.h>.
47835         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
47836         WIFSTOPPED): Remove fallback definitions.
47837         * modules/wait-process (Depends-on): Add sys_wait.
47838
47839         New module 'sys_wait'.
47840         * modules/sys_wait: New file.
47841         * lib/sys_wait.in.h: New file, partially copied from
47842         lib/wait-process.c.
47843         * m4/sys_wait_h.m4: New file.
47844         * doc/posix-headers/sys_wait.texi: Mention the new module.
47845
47846 2008-10-19  Bruno Haible  <bruno@clisp.org>
47847
47848         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
47849
47850 2008-10-19  Bruno Haible  <bruno@clisp.org>
47851
47852         Assume that waitpid() fills an 'int' status, not a 'union wait'.
47853         * lib/wait-process.c (WAIT_T): Remove type.
47854         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
47855         (wait_subprocess): Update.
47856
47857 2008-10-19  Bruno Haible  <bruno@clisp.org>
47858
47859         New module 'atoll'.
47860         * modules/atoll: New file.
47861         * lib/stdlib.in.h (atoll): New declaration.
47862         * lib/atoll.c: New file, from glibc with modifications.
47863         * m4/atoll.m4: New file.
47864         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
47865         HAVE_ATOLL.
47866         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
47867         * doc/posix-functions/atoll.texi: Mention the new module.
47868
47869 2008-10-19  Bruno Haible  <bruno@clisp.org>
47870
47871         Add strtoull() declaration to <stdlib.h>.
47872         * lib/stdlib.in.h (strtoull): New declaration.
47873         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47874         Set HAVE_STRTOULL.
47875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
47876         HAVE_STRTOULL.
47877         * modules/strtoull (Depends-on): Add stdlib.
47878         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47879         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
47880         HAVE_STRTOULL.
47881
47882 2008-10-19  Bruno Haible  <bruno@clisp.org>
47883
47884         Add strtoll() declaration to <stdlib.h>.
47885         * lib/stdlib.in.h (strtoll): New declaration.
47886         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47887         Set HAVE_STRTOLL.
47888         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
47889         HAVE_STRTOLL.
47890         * modules/strtoll (Depends-on): Add stdlib.
47891         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47892         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
47893
47894 2008-10-19  Bruno Haible  <bruno@clisp.org>
47895
47896         * modules/bcopy (Depends-on): Add strings.
47897         (Include): Specify <strings.h>.
47898
47899 2008-10-19  Bruno Haible  <bruno@clisp.org>
47900
47901         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
47902
47903 2008-10-19  Bruno Haible  <bruno@clisp.org>
47904
47905         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
47906         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
47907         mingw.
47908
47909 2008-10-19  Bruno Haible  <bruno@clisp.org>
47910
47911         * lib/atanl.c: Don't include isnanl.h.
47912         * lib/cosl.c: Likewise.
47913         * lib/ldexpl.c: Likewise.
47914         * lib/logl.c: Likewise.
47915         * lib/sinl.c: Likewise.
47916         * lib/sqrtl.c: Likewise.
47917         * lib/tanl.c: Likewise.
47918
47919         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
47920         * lib/isnanf.h: Remove file.
47921         * lib/isnand.h: Remove file.
47922         * lib/isnanl.h: Remove file.
47923         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
47924         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
47925         macros.
47926         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
47927         HAVE_ISNANF, don't define it as a C macro.
47928         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
47929         HAVE_ISNAND, don't define it as a C macro.
47930         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
47931         HAVE_ISNANL, don't define it as a C macro.
47932         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
47933         HAVE_ISNAN[FDL].
47934         * modules/isnanf (Files): Remove lib/isnanf.h.
47935         (Depends-on): Add math.
47936         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47937         (Include): Specify <math.h> instead of isnanf.h.
47938         * modules/isnand (Files): Remove lib/isnand.h.
47939         (Depends-on): Add math.
47940         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47941         (Include): Specify <math.h> instead of isnand.h.
47942         * modules/isnanl (Files): Remove lib/isnanl.h.
47943         (Depends-on): Add math.
47944         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47945         (Include): Specify <math.h> instead of isnanl.h.
47946         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
47947         HAVE_ISNAN[FDL].
47948         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
47949         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
47950         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
47951         * NEWS: Mention the change.
47952
47953 2008-10-18  Bruno Haible  <bruno@clisp.org>
47954
47955         Add getusershell(), setusershell(), endusershell() declarations to
47956         <unistd.h>.
47957         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
47958         declarations.
47959         * lib/getusershell.c: Include unistd.h.
47960         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
47961         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47962         HAVE_GETUSERSHELL.
47963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
47964         and HAVE_GETUSERSHELL.
47965         * modules/getusershell (Depends-on): Add unistd, extensions.
47966         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47967         (Include): Specify <unistd.h>.
47968         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
47969         HAVE_GETUSERSHELL.
47970
47971 2008-10-18  Bruno Haible  <bruno@clisp.org>
47972
47973         Add a getloadavg() declaration to <stdlib.h>.
47974         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
47975         getloadavg declaration.
47976         (getloadavg): New declaration.
47977         * lib/getloadavg.c: Include <stdlib.h> first.
47978         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
47979         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
47980         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
47981         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
47982         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47983         * modules/getloadavg (Depends-on): Add stdlib, extensions.
47984         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47985         (Include): Specify <stdlib.h>.
47986         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
47987         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47988
47989 2008-10-18  Bruno Haible  <bruno@clisp.org>
47990
47991         * lib/dirchownmod.c: Don't include lchmod.h.
47992
47993         Move the lchmod() declaration to <sys/stat.h>.
47994         * lib/lchmod.h: Remove file.
47995         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
47996         (lchmod): New declaration, moved here from lib/lchown.h.
47997         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
47998         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
47999         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
48000         and HAVE_LCHMOD.
48001         * modules/lchmod (Files): Remove lib/lchmod.h.
48002         (Depends-on): Add sys_stat, extensions.
48003         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48004         (Include): Specify <sys/stat.h> instead of lchmod.h.
48005         * modules/sys_stat (Depends-on): Add link-warning.
48006         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
48007         definition of GL_LINK_WARNING.
48008         * NEWS: Mention the change.
48009
48010 2008-10-18  Bruno Haible  <bruno@clisp.org>
48011
48012         * lib/fchdir.c: Don't include dirfd.h.
48013         * lib/fts.c: Likewise.
48014         * lib/getcwd.c: Likewise.
48015         * lib/glob.c: Likewise.
48016
48017         Move the dirfd() declaration to <dirent.h>.
48018         * lib/dirfd.h: Remove file.
48019         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
48020         (dirfd): New declaration.
48021         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
48022         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
48023         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
48024         HAVE_DECL_DIRFD.
48025         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
48026         HAVE_DECL_DIRFD.
48027         * modules/dirfd (Files): Remove lib/dirfd.h.
48028         (Depends-on): Add dirent, extensions.
48029         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
48030         (Include): Specify <dirent.h> instead of dirfd.h.
48031         * modules/dirent (Depends-on): Add link-warning.
48032         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
48033         definition of GL_LINK_WARNING.
48034         * NEWS: Mention the change.
48035
48036 2008-10-18  Bruno Haible  <bruno@clisp.org>
48037
48038         Move the euidaccess() declaration to <unistd.h>.
48039         * lib/euidaccess.h: Remove file.
48040         * lib/unistd.in.h (euidaccess): New declaration.
48041         * lib/euidaccess.c: Don't include euidaccess.h.
48042         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
48043         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
48044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
48045         and HAVE_EUIDACCESS.
48046         * modules/euidaccess (Files): Remove lib/euidaccess.h.
48047         (Depends-on): Add unistd.
48048         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48049         (Include): Specify <unistd.h> instead of euidaccess.h.
48050         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
48051         HAVE_EUIDACCESS.
48052         * NEWS: Mention the change.
48053
48054 2008-10-18  Bruno Haible  <bruno@clisp.org>
48055
48056         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
48057
48058         Move the getdomainname() declaration to <unistd.h>.
48059         * lib/getdomainname.h: Remove file.
48060         * lib/unistd.in.h (getdomainname): New declaration.
48061         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
48062         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
48063         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48064         HAVE_GETDOMAINNAME.
48065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48066         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
48067         * modules/getdomainname (Files): Remove lib/getdomainname.h.
48068         (Depends-on): Add unistd, extensions.
48069         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48070         (Includes): Specify <unistd.h> instead of getdomainname.h.
48071         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
48072         HAVE_GETDOMAINNAME.
48073         * NEWS: Mention the change.
48074
48075 2008-10-18  Bruno Haible  <bruno@clisp.org>
48076
48077         * modules/dirent: New file.
48078         * m4/dirent_h.m4: New file.
48079         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
48080         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
48081         * modules/fchdir (Files): Remove lib/dirent.in.h.
48082         (Depends-on): Add dirent.
48083         (Makefile.am): Move rules to modules/dirent.
48084         * doc/posix-headers/dirent.texi: Mention the new module.
48085
48086 2008-10-18  Bruno Haible  <bruno@clisp.org>
48087
48088         Avoid -Wunused-parameter warnings in public gnulib header files.
48089         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
48090         macro.
48091         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
48092
48093 2008-10-18  Bruno Haible  <bruno@clisp.org>
48094
48095         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
48096         * doc/glibc-functions/error.texi: Mention the module 'error'.
48097         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
48098         * doc/glibc-functions/getdomainname.texi: Mention the module
48099         'getdomainname'.
48100         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
48101         * doc/glibc-functions/getpagesize.texi: Mention the module
48102         'getpagesize'.
48103         * doc/glibc-functions/getusershell.texi: Mention the module
48104         'getusershell'.
48105         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
48106         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
48107         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
48108         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
48109         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
48110         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
48111         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
48112         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
48113         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
48114         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
48115         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
48116         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
48117         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
48118         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
48119
48120 2008-10-17  Bruno Haible  <bruno@clisp.org>
48121
48122         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
48123         HP-UX and IRIX, use -0.0L.
48124         * tests/test-ceill.c (minus_zero): Likewise.
48125         * tests/test-floorl.c (minus_zero): Likewise.
48126         * tests/test-frexpl.c (minus_zero): Likewise.
48127         * tests/test-isnan.c (minus_zerol): Likewise.
48128         * tests/test-isnanl.h (minus_zero): Likewise.
48129         * tests/test-ldexpl.c (minus_zero): Likewise.
48130         * tests/test-roundl.c (minus_zero): Likewise.
48131         * tests/test-signbit.c (minus_zerol): Likewise.
48132         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48133         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48134         * tests/test-truncl.c (minus_zero): Likewise.
48135         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48136         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48137         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
48138         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48139
48140 2008-10-17  Bruno Haible  <bruno@clisp.org>
48141
48142         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
48143         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
48144         that it gets activated only for gcc >= 3.0.
48145         * lib/dirent.in.h: Likewise.
48146         * lib/errno.in.h: Likewise.
48147         * lib/fcntl.in.h: Likewise.
48148         * lib/float.in.h: Likewise.
48149         * lib/iconv.in.h: Likewise.
48150         * lib/inttypes.in.h: Likewise.
48151         * lib/locale.in.h: Likewise.
48152         * lib/math.in.h: Likewise.
48153         * lib/netdb.in.h: Likewise.
48154         * lib/netinet_in.in.h: Likewise.
48155         * lib/search.in.h: Likewise.
48156         * lib/signal.in.h: Likewise.
48157         * lib/spawn.in.h: Likewise.
48158         * lib/stdarg.in.h: Likewise.
48159         * lib/stdint.in.h: Likewise.
48160         * lib/stdio.in.h: Likewise.
48161         * lib/stdlib.in.h: Likewise.
48162         * lib/string.in.h: Likewise.
48163         * lib/strings.in.h: Likewise.
48164         * lib/sys_file.in.h: Likewise.
48165         * lib/sys_ioctl.in.h: Likewise.
48166         * lib/sys_select.in.h: Likewise.
48167         * lib/sys_socket.in.h: Likewise.
48168         * lib/sys_stat.in.h: Likewise.
48169         * lib/sys_time.in.h: Likewise.
48170         * lib/sysexits.in.h: Likewise.
48171         * lib/time.in.h: Likewise.
48172         * lib/unistd.in.h: Likewise.
48173         * lib/wchar.in.h: Likewise.
48174         * lib/wctype.in.h: Likewise.
48175         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48176
48177 2008-10-17  Jim Meyering  <meyering@redhat.com>
48178
48179         ignore-value: don't depend on inline module
48180         * modules/ignore-value (Depends-on): Remove 'inline'.
48181         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
48182         Suggestion from Bruno Haible.
48183
48184 2008-10-17  Bruno Haible  <bruno@clisp.org>
48185
48186         New implementation of condition variables for Win32.
48187         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
48188         (gl_linked_waitqueue_t): New type.
48189         (gl_cond_t): Use it.
48190         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
48191         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
48192         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
48193         (glthread_cond_init_func, glthread_cond_wait_func,
48194         glthread_cond_timedwait_func, glthread_cond_signal_func,
48195         glthread_cond_broadcast_func, glthread_cond_destroy_func):
48196         Reimplemented on the basis of gl_linked_waitqueue_t.
48197         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
48198         gl_waitqueue_t.
48199         (gl_rwlock_t): Update.
48200         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
48201
48202 2008-10-17  Simon Josefsson  <simon@josefsson.org>
48203
48204         * modules/recvfrom (Depends-on): Add dependency on getpeername.
48205         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48206
48207 2008-10-17  Jim Meyering  <meyering@redhat.com>
48208
48209         ignore-value: new module
48210         * modules/ignore-value: New file.
48211         * lib/ignore-value.h: New file.
48212         * MODULES.html.sh (Compiler warning management): New section,
48213         just for this module.  More to come.
48214
48215 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48216
48217         open-safer.c: avoid 'signed and unsigned in conditional...' warning
48218         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
48219         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
48220
48221 2008-10-16  Jim Meyering  <meyering@redhat.com>
48222
48223         openat-die.c: avoid 'no previous prototype' warning
48224         * lib/openat-die.c: Include "openat.h".
48225         Reported by Reuben Thomas <rrt@sc3d.org>.
48226
48227 2008-10-16  Simon Josefsson  <simon@josefsson.org>
48228
48229         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
48230         * lib/netdb.in.h: Fix typo.
48231         Reported by Bruno Haible  <bruno@clisp.org>
48232
48233         * lib/netdb.in.h: Include sys/socket.h for platforms without
48234         netdb.h, to get structures like hostent on MinGW.
48235         * modules/netdb (Depends-on): Add sys_socket.
48236
48237 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48238
48239         * modules/netdb, modules/netdb-tests: New file.
48240         * m4/netdb_h.m4: New file.
48241         * lib/netdb.in.h: Add, currently just an empty file pending
48242         definitions.
48243         * tests/test-netdb.c: New file.
48244         * doc/posix-headers/netdb.texi: Mention that we replace it if
48245         needed.
48246         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48247         netdb.
48248
48249 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48250
48251         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
48252         with code.
48253
48254 2008-10-13  Bruno Haible  <bruno@clisp.org>
48255
48256         * lib/glthread/cond.c (glthread_cond_wait_func,
48257         glthread_cond_timedwait_func): Add a comment.
48258
48259 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48260
48261         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
48262         * tests/test-select.c: Likewise,
48263
48264 2008-10-13  Bruno Haible  <bruno@clisp.org>
48265
48266         * lib/glthread/cond.c (glthread_cond_wait_func,
48267         glthread_cond_timedwait_func): Fix variable name.
48268         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48269
48270 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
48271
48272         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
48273         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
48274         struct sockaddr.sa_len.
48275         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
48276
48277 2008-10-13  Simon Josefsson  <simon@josefsson.org>
48278
48279         * build-aux/pmccabe2html: Add css and css_url parameters.
48280
48281 2008-10-12  Bruno Haible  <bruno@clisp.org>
48282
48283         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
48284         calling aclx_get.
48285         Reported by Rainer Tammer <tammer@tammer.net>.
48286
48287 2008-10-12  Bruno Haible  <bruno@clisp.org>
48288
48289         Use msvcrt aware primitives for creation/termination of Win32 threads.
48290         * lib/glthread/thread.c: Include <process.h>.
48291         (glthread_create_func): Use _beginthreadex instead of CreateThread.
48292         (wrapper_func): Update signature.
48293         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
48294
48295 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48296             Bruno Haible  <bruno@clisp.org>
48297
48298         Provide a Win32 implementation of the 'cond' module.
48299         * lib/glthread/cond.h [USE_WIN32]: New implementation.
48300         * lib/glthread/cond.c (glthread_cond_init_func,
48301         glthread_cond_wait_func, glthread_cond_timedwait_func,
48302         glthread_cond_signal_func, glthread_cond_broadcast_func,
48303         glthread_cond_destroy_func) [USE_WIN32]: New functions.
48304         * modules/cond (Dependencies): Add gettimeofday.
48305
48306 2008-10-11  Bruno Haible  <bruno@clisp.org>
48307
48308         Make sleep work on older versions of mingw.
48309         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
48310         only whether it exists.
48311         * doc/posix-functions/sleep.texi: Mention the problem with older
48312         versions of mingw.
48313
48314 2008-10-11  Bruno Haible  <bruno@clisp.org>
48315
48316         New module 'shutdown'.
48317         * modules/shutdown: New file.
48318         * lib/sys_socket.in.h (shutdown): New declaration.
48319         * lib/winsock.c (shutdown): New function.
48320         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
48321         GNULIB_SHUTDOWN.
48322         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
48323         * doc/posix-functions/shutdown.texi: Document the new module.
48324
48325 2008-10-11  Jim Meyering  <meyering@redhat.com>
48326
48327         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
48328
48329 2008-10-11  Bruno Haible  <bruno@clisp.org>
48330
48331         New module 'fclose'.
48332         * modules/fclose: New file.
48333         * lib/stdio.in.h (fclose): New declaration.
48334         * lib/fclose.c: New file.
48335         * m4/fclose.m4: New file.
48336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
48337         REPLACE_FCLOSE.
48338         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
48339         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
48340         REPLACE_FCLOSE.
48341         * modules/close (Depends-on): fclose.
48342         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
48343
48344 2008-10-11  Bruno Haible  <bruno@clisp.org>
48345
48346         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
48347         set errno and don't call _close.
48348
48349 2008-10-10  Bruno Haible  <bruno@clisp.org>
48350
48351         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
48352         ACL, not afterwards. Fixes test failure on Cygwin.
48353
48354 2008-10-09  Ben Pfaff  <blp@gnu.org>
48355
48356         * build-aux/announce-gen: Fix gnulib version related part of usage
48357         message.  Die with a useful error message if no tarballs are
48358         found.
48359
48360 2008-10-10  Jim Meyering  <meyering@redhat.com>
48361
48362         bootstrap: use git's --depth=N option only if it's supported
48363         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
48364         recognize the --depth option.  Reported by Pádraig Brady.
48365
48366 2008-10-09  Bruno Haible  <bruno@clisp.org>
48367
48368         New module 'ioctl'.
48369         * modules/ioctl: New file.
48370         * lib/sys_socket.in.h (ioctl): Remove declaration.
48371         * lib/winsock.c: Include <sys/ioctl.h>.
48372         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
48373         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48374         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
48375         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
48376         * doc/posix-functions/ioctl.texi: Mention the new module.
48377
48378 2008-10-09  Bruno Haible  <bruno@clisp.org>
48379
48380         New module 'sys_ioctl'.
48381         * lib/sys_ioctl.in.h: New file.
48382         * m4/sys_ioctl_h.m4: New file.
48383         * modules/sys_ioctl: New file.
48384         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
48385
48386 2008-10-09  Bruno Haible  <bruno@clisp.org>
48387
48388         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
48389         * lib/winsock.c: Include <stdarg.h>.
48390         (rpl_ioctl): Change to second argument 'int' and then varargs.
48391
48392 2008-10-09  Bruno Haible  <bruno@clisp.org>
48393
48394         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
48395         when the sys_socket module is present and the system has <winsock2.h>.
48396
48397 2008-10-09  Bruno Haible  <bruno@clisp.org>
48398
48399         * doc/posix-functions/close.texi: Mention module 'close' instead of
48400         module 'sys_socket'.
48401
48402 2008-10-09  Bruno Haible  <bruno@clisp.org>
48403
48404         * doc/glibc-headers/sys_ioctl.texi: New file.
48405         * doc/gnulib.texi: Include it.
48406
48407 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48408             Bruno Haible  <bruno@clisp.org>
48409
48410         Combine the two replacements of 'close'.
48411         * lib/sys_socket.in.h (close): Define to a reminder to include
48412         <unistd.h>.
48413         (_gl_close_fd_maybe_socket): New declaration.
48414         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
48415         * lib/winsock.c (close): Remove undefinition.
48416         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
48417         needed for the gnulib module 'close'.
48418         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
48419         define to an error symbol or to a warning, if suitable.
48420         * lib/close.c: Include <sys/socket.h>.
48421         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
48422         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
48423         UNISTD_H_HAVE_WINSOCK2_H.
48424         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
48425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48426         UNISTD_H_HAVE_WINSOCK2_H.
48427         * modules/sys_socket (Files): Add m4/unistd_h.m4.
48428         (configure.ac): Set a module indicator.
48429         (Makefile.am): Substitute GNULIB_CLOSE.
48430         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
48431         * modules/poll-tests (Depends-on): Add close.
48432         * modules/select-tests (Depends-on): Likewise.
48433
48434 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48435             Bruno Haible  <bruno@clisp.org>
48436
48437         New module 'close'.
48438         * modules/close: New file.
48439         * lib/unistd.in.h (close): Move declaration out of the
48440         FCHDIR_REPLACEMENT scope.
48441         (_gl_unregister_fd): New declaration.
48442         * lib/close.c: New file.
48443         * lib/fchdir.c (rpl_close): Remove function.
48444         * m4/close.m4: New file.
48445         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48446         close.
48447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
48448         REPLACE_CLOSE.
48449         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
48450         REPLACE_CLOSE.
48451         * modules/fchdir (Depends-on): Add close.
48452
48453 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48454             Bruno Haible  <bruno@clisp.org>
48455
48456         * lib/fcntl.in.h (open): Simplify conditionals.
48457         (_gl_register_fd): New declaration.
48458         * lib/fchdir.c (rpl_open): Remove function.
48459         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
48460         also.
48461         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
48462         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48463         open.
48464
48465 2008-10-09  Jim Meyering  <meyering@redhat.com>
48466
48467         GNUmakefile: use the more name-space-friendly "_version"
48468         * top/GNUmakefile (_dummy): Update.
48469         (_version): Rename from "version".
48470
48471 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48472             Bruno Haible  <bruno@clisp.org>
48473
48474         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
48475         rpl_close.
48476         (_gl_register_fd): New function, extracted from rpl_open.
48477         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
48478         (rpl_open, rpl_opendir): Use _gl_register_fd.
48479
48480 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48481
48482         Fix organization of 'open' replacement.
48483         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
48484         (gl_FUNC_OPEN): Use it.
48485         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
48486
48487 2008-10-08  Bruno Haible  <bruno@clisp.org>
48488
48489         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
48490
48491 2008-10-08  Simon Josefsson  <simon@josefsson.org>
48492
48493         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
48494         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
48495         listen).
48496
48497 2008-10-08  Eric Blake  <ebb9@byu.net>
48498
48499         GNUmakefile: add 'make version' target
48500         * top/GNUmakefile (_curr-ver): Split version update rules...
48501         (version): ...into a target.
48502
48503 2008-10-07  Bruno Haible  <bruno@clisp.org>
48504
48505         Use a more portable replacement expression for -0.0L.
48506         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
48507         instead of -0.0L. Fix m4 quotation.
48508
48509         * tests/test-signbit.c: Include <float.h>.
48510         (minus_zero): New variable.
48511         (test_signbitl): Use minus_zero instead of -zero.
48512         * modules/signbit-tests (Depends-on): Add float.
48513
48514         * tests/test-ceill.c: Include <float.h>.
48515         (zero): Remove variable.
48516         (minus_zero): New variable.
48517         (main): Use minus_zero instead of -zero.
48518         * modules/ceill-tests (Depends-on): Add float.
48519
48520         * tests/test-floorl.c: Include <float.h>.
48521         (zero): Remove variable.
48522         (minus_zero): New variable.
48523         (main): Use minus_zero instead of -zero.
48524         * modules/floorl-tests (Depends-on): Add float.
48525
48526         * tests/test-roundl.c: Include <float.h>.
48527         (zero): Remove variable.
48528         (minus_zero): New variable.
48529         (main): Use minus_zero instead of -zero.
48530         * modules/roundl-tests (Depends-on): Add float.
48531
48532         * tests/test-truncl.c: Include <float.h>.
48533         (zero): Remove variable.
48534         (minus_zero): New variable.
48535         (main): Use minus_zero instead of -zero.
48536         * modules/truncl-tests (Depends-on): Add float.
48537
48538         * tests/test-frexpl.c (zero): Remove variable.
48539         (minus_zero): New variable.
48540         (main): Use minus_zero instead of -zero.
48541         * modules/frexpl-tests (Depends-on): Add float.
48542
48543         * tests/test-isnan.c (zerol): Remove variable.
48544         (minus_zerol): New variable.
48545         (test_long_double): Use minus_zerol instead of -zerol.
48546         * modules/isnan-tests (Depends-on): Add float.
48547
48548         * tests/test-isnanl.h (zero): Remove variable.
48549         (minus_zero): New variable.
48550         (main): Use minus_zero instead of -zero.
48551         * modules/isnanl-nolibm-tests (Depends-on): Add float.
48552         * modules/isnanl-tests (Depends-on): Add float.
48553
48554         * tests/test-ldexpl.c (zero): Remove variable.
48555         (minus_zero): New variable.
48556         (main): Use minus_zero instead of -zero.
48557         * modules/ldexpl-tests (Depends-on): Add float.
48558
48559         * tests/test-snprintf-posix.h (zerol): Remove variable.
48560         (minus_zerol): New variable.
48561         (test_function): Use minus_zerol instead of -zerol.
48562         * modules/snprintf-posix-tests (Depends-on): Add float.
48563         * modules/vsnprintf-posix-tests (Depends-on): Add float.
48564
48565         * tests/test-sprintf-posix.h (zerol): Remove variable.
48566         (minus_zerol): New variable.
48567         (test_function): Use minus_zerol instead of -zerol.
48568         * modules/sprintf-posix-tests (Depends-on): Add float.
48569         * modules/vsprintf-posix-tests (Depends-on): Add float.
48570
48571         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
48572         (minus_zerol): New variable.
48573         (test_function): Use minus_zerol instead of -zerol.
48574         * modules/vasnprintf-posix-tests (Depends-on): Add float.
48575
48576         * tests/test-vasprintf-posix.c (zerol): Remove variable.
48577         (minus_zerol): New variable.
48578         (test_function): Use minus_zerol instead of -zerol.
48579         * modules/vasprintf-posix-tests (Depends-on): Add float.
48580
48581 2008-10-07  Simon Josefsson  <simon@josefsson.org>
48582
48583         * MODULES.html.sh (Support for building documentation): Mention
48584         pmccabe2html.  Sort entries.
48585
48586         Add pmccabe2html module, from gnupdf.
48587         * build-aux/pmccabe.css: New file.
48588         * build-aux/pmccabe2html: New file.
48589         * m4/pmccabe2html.m4: New file.
48590         * modules/pmccabe2html: New file.
48591
48592 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
48593
48594         flock: new module
48595         * MODULES.html.sh: Add to list of modules.
48596         * lib/flock.c: flock implementation for Windows and Unix systems
48597         which have fcntl.
48598         * doc/glibc-functions/flock.texi: Update documentation.
48599         * lib/sys_file.in.h: <sys/file.h> header file.
48600         * m4/flock.m4: M4 macros.
48601         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
48602         * modules/flock: flock module.
48603         * modules/flock-tests: flock tests module.
48604         * modules/sys_file: sys/file.h module.
48605         * tests/test-flock.c: test suite for flock.
48606
48607 2008-10-06  Jim Meyering  <meyering@redhat.com>
48608
48609         bootstrap: check for LT_INIT more portably still ;-)
48610         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
48611         Spotted by Bruno Haible.
48612
48613 2008-10-06  Eric Blake  <ebb9@byu.net>
48614
48615         test-signbit: avoid tripping Irix cc bug on -0.0L
48616         * tests/test-signbit.c (minus_zerol): Delete, and replace with
48617         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
48618         entire testsuite consistent and avoids an Irix 6.2 bug.
48619
48620 2008-10-05  Bruno Haible  <bruno@clisp.org>
48621             Jim Meyering  <jim@meyering.net>
48622
48623         Add an option for ignoring EPIPE during close_stdout.
48624         * lib/closeout.h: Include <stdbool.h>.
48625         (close_stdout_set_ignore_EPIPE): New declaration.
48626         * lib/closeout.c: Include <stdbool.h>.
48627         (ignore_EPIPE): New variable.
48628         (close_stdout_set_ignore_EPIPE): New function.
48629         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
48630         * lib/close-stream.c (close_stream): Mention the possible EPIPE
48631         failure.
48632         * modules/closeout (Depends-on): Add stdbool.
48633
48634 2008-10-05  Bruno Haible  <bruno@clisp.org>
48635
48636         * modules/accept: New file.
48637         * modules/bind: New file.
48638         * modules/connect: New file.
48639         * modules/getpeername: New file.
48640         * modules/getsockname: New file.
48641         * modules/getsockopt: New file.
48642         * modules/listen: New file.
48643         * modules/recv: New file.
48644         * modules/recvfrom: New file.
48645         * modules/send: New file.
48646         * modules/sendto: New file.
48647         * modules/setsockopt: New file.
48648         * modules/socket: New file.
48649         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
48650         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
48651         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
48652         the particular module is requested. Add a link warning when the
48653         particular module is not requested.
48654         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
48655         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
48656         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
48657         the particular module is requested.
48658         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
48659         gl_SYS_SOCKET_H_DEFAULTS): New macros.
48660         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
48661         * modules/sys_socket (Depends-on): Add link-warning.
48662         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
48663         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
48664         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
48665         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
48666         GL_LINK_WARNING.
48667         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
48668         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
48669         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
48670         * doc/posix-functions/getpeername.texi: Mention the new module
48671         'getpeername'.
48672         * doc/posix-functions/getsockname.texi: Mention the new module
48673         'getsockname'.
48674         * doc/posix-functions/getsockopt.texi: Mention the new module
48675         'getsockopt'.
48676         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
48677         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
48678         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
48679         * doc/posix-functions/send.texi: Mention the new module 'send'.
48680         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
48681         * doc/posix-functions/setsockopt.texi: Mention the new module
48682         'setsockopt'.
48683         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
48684         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
48685         listen, connect, accept.
48686         * modules/select-tests (Depends-on): Likewise.
48687
48688 2008-10-05  Bruno Haible  <bruno@clisp.org>
48689
48690         * lib/winsock.c (strerror): Remove unused #undef.
48691         (rpl_close): Remove unused local variable.
48692
48693         * modules/sys_socket (Depends-on); Add errno.
48694
48695 2008-10-05  Bruno Haible  <bruno@clisp.org>
48696
48697         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
48698         (select): Add a link warning when the 'select' module is not used.
48699         * modules/sys_select (Depends-on): Add link-warning.
48700         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
48701         Suggested by Paolo Bonzini.
48702
48703 2008-10-05  Jim Meyering  <meyering@redhat.com>
48704
48705         bootstrap: check for LT_INIT more portably
48706         * build-aux/bootstrap: Avoid using grep -E, since it's not
48707         portable enough.  Suggestion from Bruno Haible.
48708
48709 2008-10-05  Bruno Haible  <bruno@clisp.org>
48710
48711         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
48712         as being fixed by gnulib.
48713
48714 2008-10-05  Bruno Haible  <bruno@clisp.org>
48715
48716         * modules/select-tests: New file, mostly copied from
48717         modules/sys_select-tests.
48718         * tests/test-select.c: New file, mostly copied from
48719         tests/test-sys_select.c.
48720         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
48721         * modules/sys_select-tests (Depends-on): Remove all dependencies.
48722         (Makefile.am): Remove test_sys_select_LDADD.
48723
48724         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
48725         to an undefined symbol, for an error message.
48726         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
48727         (gl_SYS_SELECT_H_DEFAULTS): New macro.
48728         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
48729         winsock-select.c here.
48730         * modules/sys_select (Files): Remove lib/winsock-select.c.
48731         (Depends-on): Remove alloca.
48732         (Makefile.am): Substitute GNULIB_SELECT.
48733         * modules/select: New file.
48734         * doc/posix-functions/select.texi: Update.
48735
48736 2008-10-05  Bruno Haible  <bruno@clisp.org>
48737
48738         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
48739         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
48740         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
48741         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
48742         getdtablesize.
48743         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
48744         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
48745
48746 2008-10-05  Bruno Haible  <bruno@clisp.org>
48747
48748         * modules/getdtablesize-tests: New file.
48749         * tests/test-getdtablesize.c: New file.
48750
48751         New module 'getdtablesize'.
48752         * lib/unistd.in.h (getdtablesize): New declaration.
48753         * lib/getdtablesize.c: New file.
48754         * m4/getdtablesize.m4: New file.
48755         * modules/getdtablesize: New file.
48756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48757         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
48758         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
48759         HAVE_GETDTABLESIZE.
48760         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
48761
48762 2008-10-05  Bruno Haible  <bruno@clisp.org>
48763
48764         * modules/sched (Makefile.am): Fix typo.
48765         Reported by Simon Josefsson.
48766
48767 2008-10-05  Jim Meyering  <meyering@redhat.com>
48768
48769         bootstrap: check for LT_INIT, too
48770         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
48771         are deprecated.  Suggestion from Ralf Wildenhues.
48772
48773 2008-10-05  Bruno Haible  <bruno@clisp.org>
48774
48775         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
48776         overriding them by ours.
48777         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
48778
48779 2008-10-05  Jim Meyering  <meyering@redhat.com>
48780
48781         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
48782         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
48783         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
48784
48785 2008-10-04  Bruno Haible  <bruno@clisp.org>
48786
48787         * modules/dup2 (License): Change to LGPLv2+.
48788         * modules/sleep (License): Likewise.
48789         * modules/perror (License): Likewise.
48790         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
48791         Blake.
48792         * modules/signal (License): Likewise.
48793         * modules/sigprocmask (License): Likewise.
48794         * modules/raise (License): Change to LGPLv2+, with approval by Jim
48795         Meyering.
48796
48797 2008-10-04  Bruno Haible  <bruno@clisp.org>
48798
48799         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
48800         Reported by Rainer Tammer <tammer@tammer.net>.
48801
48802 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
48803             Bruno Haible  <bruno@clisp.org>
48804
48805         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
48806         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
48807         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
48808
48809 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
48810
48811         filevercmp: new module
48812         * lib/filevercmp.h: New function filevercmp comparing version strings.
48813         * lib/filevercmp.c: Implementation of filevercmp function.
48814         * modules/filevercmp: Module metadata.
48815         * tests/test-filevercmp.c: Unit test for new module.
48816         * modules/filevercmp-tests: Unit test metadata.
48817         * MODULES.html.sh: Add filevercmp module.
48818
48819 2008-10-03  Bruno Haible  <bruno@clisp.org>
48820
48821         * lib/c-ctype.h: Add comment.
48822         Reported by Jim Meyering.
48823
48824 2008-10-02  Bruno Haible  <bruno@clisp.org>
48825
48826         * modules/posix_spawn-internal (Depends-on): Add 'open'.
48827
48828 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48829
48830         * build-aux/bootstrap: Allow renaming bootstrap, and change the
48831         name of bootstrap.conf accordingly.
48832
48833 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48834
48835         * build-aux/bootstrap: Install git-merge-changelog configuration
48836         items into .gitconfig if needed.
48837
48838 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48839
48840         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
48841         git repository, and initialize/update it accordingly.
48842
48843 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
48844
48845         * modules/fsync-tests: New file.
48846         * tests/test-fsync.c: New file.
48847
48848         New module 'fsync'.
48849         * lib/fsync.c: New file.
48850         * m4/fsync.m4: New file.
48851         * modules/fsync: New file.
48852         * lib/unistd.in.h (fsync): New declaration.
48853         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
48854         GNULIB_FSYNC and HAVE_FSYNC.
48855         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
48856         * MODULES.html.sh (posix_functions): Add fsync.
48857         * doc/posix-functions/fsync.texi: Mention the new module.
48858
48859 2008-10-02  Jim Meyering  <meyering@redhat.com>
48860
48861         fts.c: sync with similar code from coreutils' remove.c
48862         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
48863         Guard also with "#if defined __linux__", since for now at least,
48864         this code is Linux-kernel-specific.
48865
48866 2008-10-02  Jim Meyering  <meyering@redhat.com>
48867
48868         fts: bug fixes
48869         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
48870         Include <sys/vfs.h>, not <sys/statfs.h>.
48871
48872         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
48873         Include <sys/vfs.h>, not <sys/statfs.h>.
48874
48875 2008-10-01  Bruno Haible  <bruno@clisp.org>
48876
48877         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
48878         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
48879         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
48880         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
48881         * doc/posix-functions/posix_spawnp.texi: Likewise.
48882         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
48883         whether posix_spawn actually works.
48884         * m4/pipe.m4 (gl_PIPE): Likewise.
48885         * modules/execute (Files): Add m4/posix_spawn.m4.
48886         * modules/pipe (Files): Add m4/posix_spawn.m4.
48887         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
48888
48889 2008-10-01  Jim Meyering  <meyering@redhat.com>
48890
48891         remove trailing spaces
48892         * NEWS: Likewise.
48893         * lib/poll.c (poll): Likewise.
48894         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
48895         * lib/winsock.c (rpl_close): Likewise.
48896         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
48897         * modules/yield: Likewise.
48898         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
48899         * tests/test-sys_select.c (connect_to_socket): Likewise.
48900
48901         fts.c: adjust a new interface to be more generally useful
48902         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
48903         (fts_build): Adjust caller.
48904
48905 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48906
48907         * modules/cond-tests: New file.
48908         * tests/test-cond.c: New file.
48909
48910 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48911             Bruno Haible  <bruno@clisp.org>
48912
48913         * modules/cond (Dependencies): Add errno, time.
48914         * lib/glthread/cond.h: Include <time.h>.
48915         (gl_cond_define, gl_cond_define_initialized): Use the same definition
48916         across platforms.
48917
48918 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48919             Bruno Haible  <bruno@clisp.org>
48920
48921         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
48922
48923 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48924             Bruno Haible  <bruno@clisp.org>
48925
48926         * modules/tls-tests (Depends-on): Add thread, yield.
48927         (configure.ac): Remove all checks.
48928         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
48929         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48930         gl_thread_self): Remove definitions. Include glthread/thread.h and
48931         glthread/yield.h instead.
48932         (test_tls): Pass an additional NULL argument to gl_thread_join.
48933
48934 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48935             Bruno Haible  <bruno@clisp.org>
48936
48937         * modules/lock-tests (Depends-on): Add thread, yield.
48938         (configure.ac): Remove all checks.
48939         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
48940         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48941         gl_thread_self): Remove definitions. Include glthread/thread.h and
48942         glthread/yield.h instead.
48943         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
48944         additional NULL argument to gl_thread_join.
48945
48946 2008-09-30  Bruno Haible  <bruno@clisp.org>
48947
48948         Fix the Win32 implementation of the 'thread' module.
48949         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
48950         pointer type.
48951         (gl_thread_self): Invoke gl_thread_self_func.
48952         (gl_thread_self_func): New declaration.
48953         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
48954         (do_init_self_key, init_self_key): New functions.
48955         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
48956         Remove some fields.
48957         (running_threads, running_lock): Remove variables.
48958         (get_current_thread_handle): New function.
48959         (gl_thread_self_func, wrapper_func, glthread_create_func,
48960         glthread_join_func, gl_thread_exit_func): Largely rewritten and
48961         simplified.
48962
48963 2008-09-30  Bruno Haible  <bruno@clisp.org>
48964
48965         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
48966         files.
48967
48968 2008-09-30  Jim Meyering  <meyering@redhat.com>
48969
48970         fts.m4: correct the test for statfs.f_type
48971         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
48972         when checking for statfs.f_type.
48973
48974 2008-09-15  Simon Josefsson  <simon@josefsson.org>
48975
48976         tests: avoid some compiler warnings
48977         * tests/test-memchr.c (main): Pass NULL indirectly.
48978         * tests/test-getdate.c (main): Remove unused variable 'ret'.
48979
48980 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
48981
48982         getdate.y: disallow countable dayshifts like "4 yesterday ago"
48983         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
48984         exactly specified dayshifts.
48985         (dayshift): New rule.
48986         (rel): Add dayshift.
48987         (relative_time_table) [tomorrow, yesterday, today, now]:
48988         Use tDAY_SHIFT in place of tDAY_UNIT.
48989         * tests/test-getdate.c: Add tests for now-disallowed countable
48990         dayshifts, e.g., "4 yesterday ago".
48991
48992 2008-09-29  Bruno Haible  <bruno@clisp.org>
48993
48994         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
48995         * tests/test-posix_spawn1.in.sh: Renamed from
48996         tests/test-posix_spawn.in.sh.
48997         * tests/test-posix_spawn2.c: New file.
48998         * tests/test-posix_spawn2.in.sh: New file.
48999         * modules/posix_spawnp-tests (Files): Update.
49000         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
49001
49002 2008-09-29  Bruno Haible  <bruno@clisp.org>
49003
49004         Propagate effects of putenv/setenv/unsetenv to child processes.
49005         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
49006         * lib/pipe.c (create_pipe): Likewise.
49007
49008 2008-09-29  Bruno Haible  <bruno@clisp.org>
49009
49010         Enable use of shell scripts as executables in mingw.
49011         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
49012         run the program as a shell script.
49013         * lib/pipe.c (create_pipe): Likewise.
49014         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
49015         resulting array.
49016
49017 2008-09-29  Eric Blake  <ebb9@byu.net>
49018
49019         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
49020
49021 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
49022
49023         * doc/posix-functions/accept.texi: Update mingw problems.
49024         * doc/posix-functions/bind.texi: Update mingw problems.
49025         * doc/posix-functions/close.texi: Update mingw problems.
49026         * doc/posix-functions/connect.texi: Update mingw problems.
49027         * doc/posix-functions/getpeername.texi: Update mingw problems.
49028         * doc/posix-functions/getsockname.texi: Update mingw problems.
49029         * doc/posix-functions/getsockopt.texi: Update mingw problems.
49030         * doc/posix-functions/ioctl.texi: Update mingw problems.
49031         * doc/posix-functions/listen.texi: Update mingw problems.
49032         * doc/posix-functions/recv.texi: Update mingw problems.
49033         * doc/posix-functions/recvfrom.texi: Update mingw problems.
49034         * doc/posix-functions/select.texi: Update mingw problems.
49035         * doc/posix-functions/send.texi: Update mingw problems.
49036         * doc/posix-functions/sendto.texi: Update mingw problems.
49037         * doc/posix-functions/setsockopt.texi: Update mingw problems.
49038         * doc/posix-functions/socket.texi: Update mingw problems.
49039
49040 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
49041             Bruno Haible  <bruno@clisp.org>
49042
49043         * lib/sys_select.in.h: Include sys/time.h.
49044         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
49045         * modules/sys_select: Depend on sys_time.
49046         * tests/test-sys_select.c: Test that sys/select.h defines struct
49047         timeval fully.
49048
49049 2008-09-29  Bruno Haible  <bruno@clisp.org>
49050
49051         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
49052         * lib/sys_select.in.h: Likewise.
49053
49054 2008-09-29  Bruno Haible  <bruno@clisp.org>
49055
49056         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
49057
49058 2008-09-29  Bruno Haible  <bruno@clisp.org>
49059
49060         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
49061         Set LIBSOCKET instead of augmenting LIBS.
49062         * modules/sockets (Link): New section.
49063         * modules/sockets-tests (test_sockets_LDADD): New variable.
49064         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
49065         * modules/poll-tests (test_poll_LDADD): New variable.
49066         * NEWS: Document the change.
49067
49068 2008-09-29  Bruno Haible  <bruno@clisp.org>
49069
49070         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
49071         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
49072         ARPA_INET_H directly.
49073         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49074
49075 2008-09-28  Bruno Haible  <bruno@clisp.org>
49076
49077         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
49078         from gl_HEADER_SYS_SOCKET.
49079         (gl_HEADER_SYS_SOCKET): Invoke it.
49080         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49081
49082 2008-09-28  Bruno Haible  <bruno@clisp.org>
49083
49084         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
49085         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
49086         Needed on OSF/1 4.0.
49087
49088 2008-09-28  Bruno Haible  <bruno@clisp.org>
49089
49090         Override open more carefully.
49091         * lib/open.c (orig_open): New function.
49092         (rpl_open): Use orig_open instead of open.
49093         * lib/fcntl.in.h: Add special invocation convention.
49094         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
49095         (gl_FUNC_OPEN): Invoke it.
49096
49097         Override freopen more carefully.
49098         * lib/freopen.c (orig_freopen): New function.
49099         (rpl_freopen): Use orig_freopen instead of freopen.
49100         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
49101         (gl_FUNC_FREOPEN): Invoke it.
49102
49103         Override fopen more carefully.
49104         * lib/fopen.c (orig_fopen): New function.
49105         (rpl_fopen): Use orig_fopen instead of fopen.
49106         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
49107         (gl_FUNC_FOPEN): Invoke it.
49108         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
49109
49110 2008-09-28  Bruno Haible  <bruno@clisp.org>
49111
49112         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
49113         SIGPIPE.
49114
49115 2008-09-28  Bruno Haible  <bruno@clisp.org>
49116
49117         * tests/test-sigaction.c (handler, main): Disable the check whether
49118         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
49119         glibc systems with LinuxThreads.
49120
49121 2008-09-28  Bruno Haible  <bruno@clisp.org>
49122
49123         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
49124
49125         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
49126         with AIX xlc.
49127         * lib/fcntl.in.h (open): Likewise.
49128         Reported by Rainer Tammer <tammer@tammer.net>.
49129
49130 2008-09-28  Bruno Haible  <bruno@clisp.org>
49131
49132         * modules/posix_spawnp-tests: New file.
49133         * tests/test-posix_spawn.c: New file.
49134         * tests/test-posix_spawn.in.sh: New file.
49135
49136         New module 'posix_spawnp'.
49137         * modules/posix_spawnp: New file.
49138         * lib/spawnp.c: New file, from GNU libc with modifications.
49139         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
49140
49141         New module 'posix_spawn'.
49142         * modules/posix_spawn: New file.
49143         * lib/spawn.c: New file, from GNU libc with modifications.
49144         * doc/posix-functions/posix_spawn.texi: Mention the new module.
49145
49146         New module 'posix_spawnattr_destroy'.
49147         * modules/posix_spawnattr_destroy: New file.
49148         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
49149         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
49150         module.
49151
49152         New module 'posix_spawnattr_setsigmask'.
49153         * modules/posix_spawnattr_setsigmask: New file.
49154         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
49155         modifications.
49156         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
49157         new module.
49158
49159         New module 'posix_spawnattr_getsigmask'.
49160         * modules/posix_spawnattr_getsigmask: New file.
49161         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
49162         modifications.
49163         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
49164         new module.
49165
49166         New module 'posix_spawnattr_setsigdefault'.
49167         * modules/posix_spawnattr_setsigdefault: New file.
49168         * lib/spawnattr_setdefault.c: New file, from GNU libc with
49169         modifications.
49170         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
49171         new module.
49172
49173         New module 'posix_spawnattr_getsigdefault'.
49174         * modules/posix_spawnattr_getsigdefault: New file.
49175         * lib/spawnattr_getdefault.c: New file, from GNU libc with
49176         modifications.
49177         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
49178         new module.
49179
49180         New module 'posix_spawnattr_setschedpolicy'.
49181         * modules/posix_spawnattr_setschedpolicy: New file.
49182         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
49183         modifications.
49184         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
49185         new module.
49186
49187         New module 'posix_spawnattr_getschedpolicy'.
49188         * modules/posix_spawnattr_getschedpolicy: New file.
49189         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
49190         modifications.
49191         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
49192         new module.
49193
49194         New module 'posix_spawnattr_setschedparam'.
49195         * modules/posix_spawnattr_setschedparam: New file.
49196         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
49197         modifications.
49198         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
49199         new module.
49200
49201         New module 'posix_spawnattr_getschedparam'.
49202         * modules/posix_spawnattr_getschedparam: New file.
49203         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
49204         modifications.
49205         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
49206         new module.
49207
49208         New module 'posix_spawnattr_setpgroup'.
49209         * modules/posix_spawnattr_setpgroup: New file.
49210         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
49211         modifications.
49212         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
49213         module.
49214
49215         New module 'posix_spawnattr_getpgroup'.
49216         * modules/posix_spawnattr_getpgroup: New file.
49217         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
49218         modifications.
49219         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
49220         module.
49221
49222         New module 'posix_spawnattr_setflags'.
49223         * modules/posix_spawnattr_setflags: New file.
49224         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
49225         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
49226         module.
49227
49228         New module 'posix_spawnattr_getflags'.
49229         * modules/posix_spawnattr_getflags: New file.
49230         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
49231         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
49232         module.
49233
49234         New module 'posix_spawnattr_init'.
49235         * modules/posix_spawnattr_init: New file.
49236         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
49237         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
49238         module.
49239
49240         New module 'posix_spawn_file_actions_destroy'.
49241         * modules/posix_spawn_file_actions_destroy: New file.
49242         * lib/spawn_faction_destroy.c: New file, from GNU libc with
49243         modifications.
49244         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
49245         the new module.
49246
49247         New module 'posix_spawn_file_actions_addopen'.
49248         * modules/posix_spawn_file_actions_addopen: New file.
49249         * lib/spawn_faction_addopen.c: New file, from GNU libc with
49250         modifications.
49251         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
49252         the new module.
49253
49254         New module 'posix_spawn_file_actions_adddup2'.
49255         * modules/posix_spawn_file_actions_adddup2: New file.
49256         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
49257         modifications.
49258         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
49259         the new module.
49260
49261         New module 'posix_spawn_file_actions_addclose'.
49262         * modules/posix_spawn_file_actions_addclose: New file.
49263         * lib/spawn_faction_addclose.c: New file, from GNU libc with
49264         modifications.
49265         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
49266         the new module.
49267
49268         New module 'posix_spawn_file_actions_init'.
49269         * modules/posix_spawn_file_actions_init: New file.
49270         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
49271         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
49272         new module.
49273
49274         New module 'posix_spawn-internal'.
49275         * modules/posix_spawn-internal: New file.
49276         * lib/spawn_int.h: New file, from GNU libc with modifications.
49277         * lib/spawni.c: New file, from GNU libc with modifications.
49278         * m4/posix_spawn.m4: New file.
49279
49280         New module 'spawn'.
49281         * modules/spawn: New file.
49282         * lib/spawn.in.h: New file, from GNU libc with modifications.
49283         * m4/spawn_h.m4: New file.
49284         * doc/posix-headers/spawn.texi: Mention the new module.
49285
49286 2008-09-28  Bruno Haible  <bruno@clisp.org>
49287
49288         * modules/sched-tests: New file.
49289         * tests/test-sched.c: New file.
49290
49291         New module 'sched'.
49292         * modules/sched: New file.
49293         * lib/sched.in.h: New file.
49294         * m4/sched_h.m4: New file.
49295         * doc/posix-headers/sched.texi: Mention the new module.
49296
49297 2008-09-27  Eric Blake  <ebb9@byu.net>
49298
49299         Fix previous patch, and tweak references to $0.
49300         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
49301         (func_version, func_gnulib_dir): Don't call this program
49302         gnulib-tool.
49303         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
49304         with using $0 in function.
49305         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
49306         (func_fatal_error): Reuse the name the user invoked us with.
49307
49308 2008-09-27  Bruno Haible  <bruno@clisp.org>
49309
49310         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
49311         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
49312         (gl_ICONV_H): Not here.
49313         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
49314         instead of assigning ICONV_H directly.
49315
49316         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
49317         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
49318         WCHAR_H directly.
49319
49320 2008-09-27  Bruno Haible  <bruno@clisp.org>
49321
49322         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
49323         * modules/arpa_inet (Depends-on): Add link-warning.
49324         (Makefile.am): Insert the definition of GL_LINK-WARNING.
49325         * modules/unistd (Makefile.am): Likewise.
49326
49327 2008-09-26  Bruno Haible  <bruno@clisp.org>
49328
49329         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
49330         variables.
49331         (func_version): Essentially copied from gnulib-tool.
49332         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
49333         func_readlink): Copied from gnulib-tool.
49334
49335 2008-09-26  Bruno Haible  <bruno@clisp.org>
49336
49337         * gnulib-tool (func_version): Change directory to $gnulib_dir before
49338         invoking git-version-gen.
49339
49340 2008-09-26  Bruno Haible  <bruno@clisp.org>
49341
49342         * posix-modules: Update to directory names changed on 2008-01-19.
49343         Remove commas in output before splitting into words. No more need to
49344         avoid 'ftruncate' since 2007-02-19.
49345
49346 2008-09-26  Bruno Haible  <bruno@clisp.org>
49347
49348         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
49349
49350 2008-09-26  Bruno Haible  <bruno@clisp.org>
49351
49352         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
49353         * modules/fwriteerror (Depends-on): Add errno.
49354
49355 2008-09-26  Bruno Haible  <bruno@clisp.org>
49356
49357         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
49358         * tests/test-vc-list-files-cvs.sh: Likewise.
49359
49360 2008-09-26  Bruno Haible  <bruno@clisp.org>
49361
49362         * doc/posix-headers/sys_resource.texi: Reorder items.
49363
49364 2008-09-26  Jim Meyering  <meyering@redhat.com>
49365
49366         fts: tweak inode comparison function
49367         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
49368         inode numbers, as documented.
49369
49370         fts: sort dirent entries on inode number before traversing
49371         This avoids a quadratic, seek-related performance penalty when
49372         operating on a directory containing many entries (measurable at 10k;
49373         3.5 hours at 2 million entries with a cold cache) on certain types
49374         of file systems, including ext3 and ext4, but not tmpfs.
49375         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
49376         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
49377         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
49378         (fs_handles_readdir_ordered_dirents_efficiently): New function.
49379         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
49380         (fts_build): Set the stat.st_ino member from D_INO.
49381         If it is likely to be useful, sort dirent entries on inode number.
49382
49383         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
49384         and the struct statfs.f_type member.
49385         * modules/fts (Depends-on): Add d-ino.
49386
49387 2008-09-26  Bruno Haible  <bruno@clisp.org>
49388
49389         * modules/sigpipe-die (Depends-on): Add sigpipe.
49390
49391         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
49392         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
49393         and GNULIB_STDIO_H_SIGPIPE are set.
49394         * lib/stdio-write.c: New file.
49395         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
49396         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49397         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49398         REPLACE_STDIO_WRITE_FUNCS.
49399         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
49400         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49401         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49402         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49403         * modules/stdio (Files): Add lib/stdio-write.c.
49404         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
49405         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49406         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49407         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49408         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
49409         REPLACE_FPRINTF_POSIX.
49410         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
49411         REPLACE_PRINTF_POSIX.
49412         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
49413         REPLACE_VFPRINTF_POSIX.
49414         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
49415         REPLACE_VPRINTF_POSIX.
49416         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
49417         SIGPIPE issue.
49418         * doc/posix-functions/fputc.texi: Likewise.
49419         * doc/posix-functions/fputs.texi: Likewise.
49420         * doc/posix-functions/fwrite.texi: Likewise.
49421         * doc/posix-functions/printf.texi: Likewise.
49422         * doc/posix-functions/putc.texi: Likewise.
49423         * doc/posix-functions/putchar.texi: Likewise.
49424         * doc/posix-functions/puts.texi: Likewise.
49425         * doc/posix-functions/vfprintf.texi: Likewise.
49426         * doc/posix-functions/vprintf.texi: Likewise.
49427
49428         * modules/safe-write (Depends-on): Add write.
49429
49430         * modules/sigpipe-tests: New file.
49431         * tests/test-sigpipe.c: New file.
49432         * tests/test-sigpipe.sh: New file.
49433
49434         * modules/write: New file.
49435         * lib/unistd.in.h: Include <sys/types.h>.
49436         (write): New declaration.
49437         * lib/write.c: New file.
49438         * m4/write.m4: New file.
49439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49440         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
49441         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
49442         GNULIB_WRITE, REPLACE_WRITE.
49443         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
49444         and the SIGPIPE issue.
49445
49446         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
49447         (raise): New declaration.
49448         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
49449         (ext_signal): New function.
49450         (rpl_raise): New function.
49451         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
49452         GNULIB_SIGNAL_H_SIGPIPE.
49453         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
49454         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
49455
49456         * modules/sigpipe: New file.
49457         * m4/sigpipe.m4: New file.
49458
49459 2008-09-25  Derek Price  <derek@ximbiot.com>
49460             Bruno Haible  <bruno@clisp.org>
49461
49462         * gnulib-tool (func_import): Report all license incompatibilities, not
49463         just the first one.
49464
49465 2008-09-25  Bruno Haible  <bruno@clisp.org>
49466
49467         * gnulib-tool (func_import): When computing the edits, consider not
49468         only the Makefile.ams that exist but also those that will be generated.
49469
49470 2008-09-25  Simon Josefsson  <simon@josefsson.org>
49471
49472         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
49473         fixes gnulib-tool --test warning about duplicate dependency.
49474
49475 2008-09-25  Bruno Haible  <bruno@clisp.org>
49476
49477         * gnulib-tool: Don't ask the user to perform edits in the generated
49478         Makefile.ams.
49479         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
49480         apply to the Makefile.am being generated.
49481         (func_emit_tests_Makefile_am): Execute edits that apply to the
49482         Makefile.am being generated.
49483         (func_import): Setup list of Makefile.am edits before emitting the
49484         Makefile.ams, not at the end.
49485         (func_create_testdir): Update.
49486         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49487
49488 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49489
49490         * gnulib-tool (func_import): Store the --tests-base option in the
49491         comment in gnulib-cache.m4.
49492
49493 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
49494
49495         * NEWS: Document increased portability that sys_select now provides.
49496
49497         * lib/sys_select.in.h: Install select wrapper.
49498         * lib/sys_socket.in.h: Use more descriptive name when there is no
49499         select wrapper.
49500         * lib/winsock-select.c: New.
49501         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
49502         Require gl_HEADER_SYS_SOCKET.
49503         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
49504         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
49505         * tests/test-sys_select.c: Add functional tests.
49506
49507 2008-09-24  Eric Blake  <ebb9@byu.net>
49508
49509         open, fopen: close fd leak in last patch
49510         * lib/open.c (rpl_open): Close fd before returning error.
49511         * lib/fopen.c (rpl_fopen): Close fd before returning error.
49512         * doc/posix-functions/open.texi (open): Document that Irix also
49513         has the bug.
49514         * doc/posix-functions/fopen.texi (fopen): Likewise.
49515         Reported by Paolo Bonzini.
49516
49517 2008-09-24  Bruno Haible  <bruno@clisp.org>
49518
49519         Ensure that a filename ending in a slash cannot be used to access a
49520         non-directory.
49521         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
49522         to check whether it's really a directory.
49523         * lib/fopen.c: Include fcntl.h, unistd.h.
49524         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
49525         and fdopen().
49526         * modules/fopen (Depends-on): Add unistd.
49527         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
49528         * tests/test-fopen.c (main): Likewise.
49529         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
49530         * doc/posix-functions/fopen.texi: Likewise.
49531         Reported by Eric Blake.
49532
49533 2008-09-23  Eric Blake  <ebb9@byu.net>
49534
49535         c-stack: avoid compiler optimizations when provoking overflow
49536         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
49537         recursion harder to optimize, to ensure a stack overflow occurs.
49538         * tests/test-c-stack.c (recurse): Likewise.
49539         Borrowed from libsigsegv.
49540
49541         c-stack: work around Irix sigaltstack bug
49542         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
49543         whether sigaltstack uses wrong end of stack_t (copied in part from
49544         libsigsegv).
49545         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
49546         Irix bug, without requiring an over-allocation.
49547         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
49548         bug.
49549
49550         fopen: document mingw bug on directories
49551         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
49552         not allowing a stream visiting a directory, even though reading
49553         from such a stream is not portable.
49554
49555 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49556
49557         * lib/poll.c: Rewrite.
49558         * modules/poll: Depend on alloca.
49559
49560 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49561
49562         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
49563         instead define prototypes for a full set of wrappers.  Ensure
49564         that Cygwin does not use the compatibility code, which is only
49565         for MinGW.
49566         * lib/winsock.c: New.
49567         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
49568         * modules/sys_socket: Add lib/winsock.c.
49569
49570         * modules/poll-tests: Add errno and perror.
49571         * tests/test-poll.c: Use ioctl, not ioctlsocket.
49572
49573 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49574
49575         * tests/test-poll.c: Downgrade minimum needed Winsock version.
49576
49577 2008-09-23  Bruno Haible  <bruno@clisp.org>
49578
49579         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
49580         * doc/glibc-functions/*: Likewise.
49581
49582 2008-09-23  Simon Josefsson  <simon@josefsson.org>
49583
49584         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
49585         success.
49586
49587 2008-09-22  Eric Blake  <ebb9@byu.net>
49588             Bruno Haible  <bruno@clisp.org>
49589
49590         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
49591         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
49592         supply %A but mishandle pseudo-NaN.
49593         Reported by Simon Josefsson.
49594
49595 2008-09-21  Bruno Haible  <bruno@clisp.org>
49596
49597         * tests/test-lock.c (main): Tweak skip message.
49598         * tests/test-tls.c (main): Likewise.
49599
49600 2008-09-21  Bruno Haible  <bruno@clisp.org>
49601
49602         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
49603         whether 'struct sigaction' has sa_sigaction here...
49604         (gl_PREREQ_SIG_HANDLER_H): ... not here.
49605         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
49606
49607 2008-09-21  Bruno Haible  <bruno@clisp.org>
49608
49609         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
49610         section.
49611         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
49612         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
49613         the new section.
49614         (Support for obsolete systems lacking POSIX:2001): New section.
49615         (String handling <string.h>): Move strdup to the new section.
49616         Suggested by Simon Josefsson and Paolo Bonzini.
49617
49618 2008-09-21  Bruno Haible  <bruno@clisp.org>
49619
49620         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
49621         exponents in %e and %g results on 'long double'. Needed for mingw's
49622         improved *printf functions.
49623         * tests/test-vasprintf-posix.c (test_function): Likewise.
49624         * tests/test-snprintf-posix.h (test_function): Likewise.
49625         * tests/test-sprintf-posix.h (test_function): Likewise.
49626         Reported by Eric Blake.
49627
49628 2008-09-21  Bruno Haible  <bruno@clisp.org>
49629
49630         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
49631         * tests/test-sprintf-posix.h (test_function): Likewise.
49632
49633 2008-09-21  Bruno Haible  <bruno@clisp.org>
49634
49635         * modules/getpass (Depends-on): Add strdup-posix.
49636
49637         New module 'strdup-posix'.
49638         * modules/strdup-posix: New file.
49639         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
49640         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
49641         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49642         REPLACE_STRDUP.
49643         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
49644         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
49645         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49646         strdup-posix.
49647
49648         * modules/strdup (Depends-on): Remove malloc-posix.
49649
49650 2008-09-20  Bruno Haible  <bruno@clisp.org>
49651
49652         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
49653         Wildenhues.
49654
49655 2008-09-20  Bruno Haible  <bruno@clisp.org>
49656
49657         Ensure that wint_t gets defined on IRIX 5.3.
49658         * lib/wchar.in.h (wint_t): Define if not defined by the system.
49659         * lib/wctype.in.h (wint_t): Likewise.
49660         (__wctype_wint_t): Remove type.
49661         (isw*): Use wint_t instead of __wctype_wint_t.
49662         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
49663         * modules/wchar (Files): Add m4/wint_t.m4.
49664         (Makefile.am): Substitute HAVE_WINT_T.
49665         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
49666         * tests/test-wctype.c: Check that wint_t is defined.
49667         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
49668         * doc/posix-headers/wctype.texi: Likewise.
49669         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49670
49671 2008-09-18  Bruno Haible  <bruno@clisp.org>
49672
49673         * gnulib-tool (func_exit): Update comment.
49674
49675 2008-09-18  Simon Josefsson  <simon@josefsson.org>
49676
49677         * modules/getaddrinfo (Depends-on): Remove strdup, this module
49678         assumes strdup exists and does not depend on strdup to return
49679         ENOMEM on out of memory conditions.
49680
49681 2008-09-18  Bruno Haible  <bruno@clisp.org>
49682
49683         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
49684         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
49685         digits for the exponent.
49686
49687 2008-09-18  Jim Meyering  <meyering@redhat.com>
49688             Bruno Haible  <bruno@clisp.org>
49689
49690         * lib/vasnprintf.c (decimal_point_char): Define also if
49691         NEED_PRINTF_INFINITE_LONG_DOUBLE.
49692
49693 2008-09-16  Bruno Haible  <bruno@clisp.org>
49694         and Eric Blake  <ebb9@byu.net>
49695
49696         vasnprintf: support Irix 5.3
49697         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
49698         that mishandle long double infinity.
49699         Reported by Tom G. Christensen.
49700
49701 2008-09-16  Bruno Haible  <bruno@clisp.org>
49702
49703         * doc/glibc-functions/scandir.texi: Mention the function is missing on
49704         Solaris 9.
49705         * doc/glibc-functions/alphasort.texi: Likewise.
49706         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
49707
49708 2008-09-16  Jim Meyering  <meyering@redhat.com>
49709
49710         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
49711         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
49712         a umask modification leak out of a subshell.  Otherwise, the
49713         opensolaris /bin/sh would be accepted and thus cause unwarranted
49714         failures in the coreutils test suite.
49715
49716 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
49717
49718         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
49719         to succeed.
49720
49721 2008-09-16  Jim Meyering  <meyering@redhat.com>
49722
49723         avoid spurious test failure when library is built without ACL support
49724         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
49725         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
49726         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
49727         * tests/test-copy-acl.sh: Likewise.
49728
49729 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49730
49731         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
49732         based on character occurrence counts.
49733
49734 2008-09-15  Eric Blake  <ebb9@byu.net>
49735
49736         tests: avoid some compiler warnings
49737         * tests/test-memchr.c (main): Pass NULL indirectly.
49738         * tests/test-closein.c (main): Avoid unused variable.
49739
49740 2008-09-15  Bruno Haible  <bruno@clisp.org>
49741
49742         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
49743         are missing on OpenBSD 4.0 individually.
49744         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49745
49746 2008-09-15  Bruno Haible  <bruno@clisp.org>
49747
49748         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
49749         * doc/posix-functions/strerror.texi: Mention also Cygwin.
49750         * doc/posix-functions/perror.texi: Likewise.
49751         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
49752         is missing.
49753         Reported by Eric Blake.
49754
49755         * lib/errno.in.h: Use replacement values >= 2000.
49756         Reported by Eric Blake.
49757
49758 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49759
49760         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
49761         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
49762         limit.
49763         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
49764         compareseq was aborted.
49765
49766 2008-09-14  Bruno Haible  <bruno@clisp.org>
49767
49768         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
49769         yvec_edit_count.
49770         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
49771         (fstrcmp_bounded): Simplify result computation accordingly.
49772
49773 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49774
49775         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
49776         (fstrcmp): Define in terms of fstrcmp_bounded.
49777         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
49778         lower_bound argument.
49779         Return quickly if the result is certainly < lower_bound.
49780         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
49781
49782 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49783
49784         * lib/diffseq.h (EARLY_ABORT): New macro.
49785         (compareseq): Change return type to bool. Return true when EARLY_ABORT
49786         evaluates to true.
49787
49788 2008-09-14  Bruno Haible  <bruno@clisp.org>
49789
49790         * modules/perror-tests: New file.
49791         * tests/test-perror.sh: New file.
49792         * tests/test-perror.c: New file.
49793
49794         New module 'perror'.
49795         * lib/stdio.in.h (perror): New declaration.
49796         * lib/perror.c: New file.
49797         * m4/perror.m4: New file.
49798         * modules/perror: New file.
49799         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
49800         * doc/posix-functions/perror.texi: Mention the perror module.
49801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
49802         REPLACE_PERROR.
49803         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
49804         REPLACE_PERROR.
49805
49806 2008-09-14  Bruno Haible  <bruno@clisp.org>
49807
49808         * modules/stdio (Makefile.am): Reorder to match the order in
49809         lib/stdio.in.h.
49810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49811
49812 2008-09-13  Bruno Haible  <bruno@clisp.org>
49813
49814         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
49815
49816 2008-09-13  Bruno Haible  <bruno@clisp.org>
49817
49818         Extend strerror to cover the added errno values.
49819         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
49820         (rpl_strerror): Provide error messages for the added errno values and
49821         for the WSA* values.
49822         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
49823         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
49824         strerror.
49825         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
49826         * modules/strerror (Depends-on): Add errno.
49827         * doc/posix-functions/strerror.texi: Document the change.
49828         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
49829         and EOVERFLOW.
49830
49831 2008-09-13  Bruno Haible  <bruno@clisp.org>
49832
49833         * modules/EOVERFLOW: Remove file.
49834         * m4/eoverflow.m4: Remove file.
49835         * modules/EOVERFLOW-tests: Remove file.
49836         * tests/test-EOVERFLOW.c: Remove file.
49837         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
49838         * modules/ftell (Depends-on): Likewise.
49839         * modules/getdelim (Depends-on): Likewise.
49840         * modules/getugroups (Depends-on): Likewise.
49841         * modules/poll (Depends-on): Likewise.
49842         * modules/snprintf (Depends-on): Likewise.
49843         * modules/sprintf-posix (Depends-on): Likewise.
49844         * modules/vasnprintf (Depends-on): Likewise.
49845         * modules/vasprintf (Depends-on): Likewise.
49846         * modules/vfprintf-posix (Depends-on): Likewise.
49847         * modules/vsnprintf (Depends-on): Likewise.
49848         * modules/vsprintf-posix (Depends-on): Likewise.
49849         * modules/xvasprintf (Depends-on): Likewise.
49850         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49851         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
49852         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
49853         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
49854         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49855         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
49856         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
49857         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
49858         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49859         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
49860         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
49861         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
49862         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49863         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
49864         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
49865         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
49866         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49867         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
49868         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
49869         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
49870         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49871         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
49872         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
49873         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
49874         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
49875         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49876         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
49877         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
49878         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
49879         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
49880         * MODULES.html.sh: Remove EOVERFLOW.
49881         * NEWS: Mention the change.
49882
49883 2008-09-13  Bruno Haible  <bruno@clisp.org>
49884
49885         * modules/errno-tests: New file.
49886         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
49887
49888         * lib/errno.in.h: New file.
49889         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
49890         * modules/errno: New file.
49891         * doc/posix-headers/errno.texi: Update documentation.
49892         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
49893
49894 2008-09-13  Bruno Haible  <bruno@clisp.org>
49895
49896         * tests/test-poll.c: Use #if for native Windows, rather than testing
49897         __MSVCRT__.
49898
49899 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49900             Bruno Haible  <bruno@clisp.org>
49901
49902         * lib/glob.c: Don't include <pwd.h> on native Windows.
49903         (WINDOWS32): New macro.
49904         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
49905
49906 2008-09-13  Bruno Haible  <bruno@clisp.org>
49907
49908         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
49909         (ETIMEDOUT): Remove macro.
49910         (glthread_cond_timedwait_multithreaded): New declaration.
49911         (glthread_cond_timedwait): Use it.
49912         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
49913         (glthread_cond_timedwait_multithreaded): New function.
49914
49915 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49916
49917         * modules/poll-tests: Do not check for io.h.
49918         * tests/test-poll.c: Check for __MSVCRT__ instead.
49919
49920 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49921
49922         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
49923         * modules/poll-tests: Add inet_pton, stdbool, sockets.
49924         * tests/test-poll.c: Use them.  Use _pipe on Windows.
49925
49926 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49927
49928         * modules/poll-tests: New.
49929         * tests/test-poll.c: New.
49930
49931 2008-09-12  Eric Blake  <ebb9@byu.net>
49932
49933         frexp: test for NetBSD failure on -0.0
49934         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
49935         not all, bugs from NetBSD 3.0 have been fixed.
49936         * doc/posix-functions/frexp.texi (frexp): Document bug.
49937         Reported by Thomas Klausner.
49938
49939         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
49940         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
49941         literal -0.0.
49942         Reported by Jonathan C. Patschke <jp@centtech.com>.
49943
49944 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49945
49946         * lib/glthread/cond.h: Use dummy implementation also if
49947         USE_WIN32_THREADS.
49948
49949 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49950
49951         * modules/fnmatch-posix (License): Change to LGPLv2+.
49952         * modules/fnmatch-gnu (License): Likewise.
49953
49954 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49955
49956         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
49957
49958 2008-09-11  Jim Meyering  <meyering@redhat.com>
49959
49960         * users.txt: Add gtk-vnc.
49961
49962 2008-09-08  Simon Josefsson  <simon@josefsson.org>
49963
49964         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
49965         rotate amounts.
49966
49967         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
49968         required for 16-bit and 8-bit rotates.
49969         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
49970         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
49971         UINT8_MAX instead of hard-coded constants.
49972         Suggested by Paul Eggert.
49973
49974 2008-09-07  Bruno Haible  <bruno@clisp.org>
49975
49976         * tests/test-striconveh.c (main): Check behaviour when converting from
49977         UTF-7.
49978
49979         Make striconveh work better with stateful encodings.
49980         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
49981         that iconv does not increment the inptr when returning -1/EINVAL.
49982
49983 2008-09-07  Bruno Haible  <bruno@clisp.org>
49984
49985         * build-aux/config.rpath: Update according to libtool-2.2.6.
49986         * build-aux/config.libpath: Likewise.
49987
49988 2008-09-06  Bruno Haible  <bruno@clisp.org>
49989
49990         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
49991         * lib/freadptr.c (freadptr): Likewise.
49992         * lib/freadseek.c (freadptrinc): Likewise.
49993         Reported by Simon Josefsson.
49994
49995 2008-09-06  Bruno Haible  <bruno@clisp.org>
49996
49997         * modules/freadptr (License): Change to LGPLv2+.
49998         * modules/freadseek (License): Likewise.
49999         Suggested by Eric Blake.
50000
50001         * modules/memchr2 (License): Change to LGPLv2+.
50002         Approved by Eric Blake.
50003
50004 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50005             Bruno Haible  <bruno@clisp.org>
50006
50007         Make gnulib-tool work with native 'sed' on AIX.
50008         * gnulib-tool (sed_noop): New variable.
50009         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
50010         func_add_or_update, func_create_testdir): Use it to initialize sed
50011         script variables.
50012         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50013
50014 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
50015             Bruno Haible  <bruno@clisp.org>
50016
50017         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
50018         also works after #include directives.
50019
50020 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
50021
50022         getdate.y: reject an out-of-range timezone value
50023         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
50024         the range [-24...+24].  When specified with only one or two digits,
50025         * tests/test-getdate.c: Tests for the fix.
50026         * doc/getdate.texi: Document this change.
50027
50028 2008-09-03  Bruno Haible  <bruno@clisp.org>
50029
50030         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
50031
50032 2008-09-02  Simon Josefsson  <simon@josefsson.org>
50033
50034         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
50035         <bruce.korb@gmail.com> with ideas from Ben Pfaff
50036         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
50037         Blake <ebb9@byu.net>.
50038
50039         * tests/test-bitrotate.c: Add more test vectors.
50040
50041 2008-09-02  Eric Blake  <ebb9@byu.net>
50042
50043         vasnprintf-posix: handle large precision via %.*d
50044         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
50045         when handling it ourselves.
50046         * tests/test-vasnprintf-posix.c (test_function): Add test.
50047         * tests/test-snprintf-posix.h (test_function): Likewise.
50048         * tests/test-sprintf-posix.h (test_function): Likewise.
50049         * tests/test-vasprintf-posix.c (test_function): Likewise.
50050         Reported by Alain Guibert.
50051
50052 2008-09-01  Eric Blake  <ebb9@byu.net>
50053
50054         c-stack: make configure-time check more robust
50055         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
50056         successful sigaction call.
50057         Reported by Tom G. Christensen.
50058
50059 2008-09-01  Bruno Haible  <bruno@clisp.org>
50060
50061         New module 'findprog-lgpl'.
50062         * modules/findprog-lgpl: New file.
50063         * lib/findprog-lgpl.c: New file.
50064         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
50065         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
50066         to decide whether to use strdup or xstrdup, concatenated_filename or
50067         xconcatenated_filename.
50068
50069 2008-09-01  Bruno Haible  <bruno@clisp.org>
50070
50071         Split module 'concat-filename' into 'concat-filename' (LGPL) and
50072         'xconcat-filename' (GPL).
50073         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
50074         (License): Change to LGPLv2+.
50075         * modules/xconcat-filename: New file.
50076         * lib/concat-filename.h (concatenated_filename): Change specification.
50077         (xconcatenated_filename): New declaration.
50078         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
50079         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
50080         memory situations.
50081         * lib/xconcat-filename.c: New file.
50082         * NEWS: Mention the change.
50083         * lib/findprog.c: Include concat-filename.h, not filename.h.
50084         (find_in_path): Use xconcatenated_filename instead of
50085         concatenated_filename.
50086         * lib/javacomp.c: Include concat-filename.h, not filename.h.
50087         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50088         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50089         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50090         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
50091         instead of concatenated_filename.
50092         * lib/javaexec.c: Include concat-filename.h, not filename.h.
50093         (execute_java_class): Use xconcatenated_filename instead of
50094         concatenated_filename.
50095         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
50096         * modules/javacomp (Depends-on): Likewise.
50097         * modules/javaexec (Depends-on): Likewise.
50098
50099 2008-09-01  Bruno Haible  <bruno@clisp.org>
50100
50101         Split module 'filename' into 'filename' and 'concat-filename'.
50102         * modules/filename: Keep only lib/filename.h.
50103         (License): Change to LGPLv2+.
50104         * modules/concat-filename: New file, extracted from modules/filename.
50105         * lib/filename.h (concatenated_filename): Remove declaration.
50106         * lib/concat-filename.h: New file, extracted from lib/filename.h.
50107         * lib/concat-filename.c: Include concat-filename.h.
50108         * NEWS: Mention the change.
50109
50110 2008-09-01  Simon Josefsson  <simon@josefsson.org>
50111
50112         * lib/bitrotate.h (rotl8, rotr8): Add.
50113
50114         * modules/bitrotate (configure.ac): Need
50115         AC_REQUIRE([AC_C_INLINE]).
50116         (Description): Mention stdint.h.  Reported by Bruno Haible
50117         <bruno@clisp.org>.
50118
50119         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
50120         Paolo Bonzini <bonzini@gnu.org>.
50121
50122 2008-08-31  Bruno Haible  <bruno@clisp.org>
50123
50124         Assume Solaris specific bi-arch conventions on Solaris systems.
50125         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
50126         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
50127         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
50128         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
50129         like acl_libdirstem.
50130         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
50131         acl_libdirstem.
50132         * NEWS: Mention the change.
50133         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
50134
50135 2008-08-31  Jim Meyering  <meyering@redhat.com>
50136
50137         * lib/strftime.h: Add comments describing the two added arguments.
50138
50139         remove duplicate #include directives
50140         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
50141         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
50142
50143 2008-08-31  Bruno Haible  <bruno@clisp.org>
50144
50145         New module 'sigpipe-die'.
50146         * modules/sigpipe-die: New file.
50147         * lib/sigpipe-die.h: New file.
50148         * lib/sigpipe-die.c: New file.
50149         * MODULES.html.sh (Signal handling): Add sigpipe-die.
50150
50151 2008-08-31  Bruno Haible  <bruno@clisp.org>
50152
50153         Don't override previously installed signal handlers.
50154         * lib/fatal-signal.c (saved_sigactions): New variable.
50155         (uninstall_handlers): Reset the signal to the saved handler, not
50156         to SIG_DFL (except when ignored).
50157         (install_handlers): Save the previous handlers.
50158
50159 2008-08-30  Bruno Haible  <bruno@clisp.org>
50160
50161         * gnulib-tool (func_reset_sigpipe): New function.
50162         (func_get_automake_snippet, func_modules_transitive_closure,
50163         func_import): Invoke it before a join command that reads from stdin,
50164         to avoid "echo: write error: Broken pipe" error messages on stderr.
50165         Reported by Sam Steingold <sds@gnu.org>.
50166
50167 2008-08-30  Bruno Haible  <bruno@clisp.org>
50168
50169         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
50170         Code copied from m4/open.m4.
50171         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
50172         access and the filename ends in a slash. Code copied from lib/open.c.
50173         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
50174         * tests/test-fopen.c (main): Check against bug with trailing slash.
50175
50176 2008-08-29  Bruno Haible  <bruno@clisp.org>
50177
50178         Avoid some "gcc -pedantic" warnings.
50179         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
50180         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
50181         * lib/dirent.in.h: Likewise.
50182         * lib/fcntl.in.h: Likewise.
50183         * lib/float.in.h: Likewise.
50184         * lib/iconv.in.h: Likewise.
50185         * lib/inttypes.in.h: Likewise.
50186         * lib/locale.in.h: Likewise.
50187         * lib/math.in.h: Likewise.
50188         * lib/netinet_in.in.h: Likewise.
50189         * lib/search.in.h: Likewise.
50190         * lib/signal.in.h: Likewise.
50191         * lib/stdarg.in.h: Likewise.
50192         * lib/stdint.in.h: Likewise.
50193         * lib/stdio.in.h: Likewise.
50194         * lib/stdlib.in.h: Likewise.
50195         * lib/string.in.h: Likewise.
50196         * lib/strings.in.h: Likewise.
50197         * lib/sys_select.in.h: Likewise.
50198         * lib/sys_socket.in.h: Likewise.
50199         * lib/sys_stat.in.h: Likewise.
50200         * lib/sys_time.in.h: Likewise.
50201         * lib/sysexits.in.h: Likewise.
50202         * lib/time.in.h: Likewise.
50203         * lib/unistd.in.h: Likewise.
50204         * lib/wchar.in.h: Likewise.
50205         * lib/wctype.in.h: Likewise.
50206         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
50207         * modules/fchdir (Makefile.am): Likewise.
50208         * modules/fcntl (Makefile.am): Likewise.
50209         * modules/float (Makefile.am): Likewise.
50210         * modules/iconv_open (Makefile.am): Likewise.
50211         * modules/inttypes (Makefile.am): Likewise.
50212         * modules/locale (Makefile.am): Likewise.
50213         * modules/math (Makefile.am): Likewise.
50214         * modules/netinet_in (Makefile.am): Likewise.
50215         * modules/search (Makefile.am): Likewise.
50216         * modules/signal (Makefile.am): Likewise.
50217         * modules/stdarg (Makefile.am): Likewise.
50218         * modules/stdint (Makefile.am): Likewise.
50219         * modules/stdio (Makefile.am): Likewise.
50220         * modules/stdlib (Makefile.am): Likewise.
50221         * modules/string (Makefile.am): Likewise.
50222         * modules/strings (Makefile.am): Likewise.
50223         * modules/sys_select (Makefile.am): Likewise.
50224         * modules/sys_socket (Makefile.am): Likewise.
50225         * modules/sys_stat (Makefile.am): Likewise.
50226         * modules/sys_time (Makefile.am): Likewise.
50227         * modules/sysexits (Makefile.am): Likewise.
50228         * modules/time (Makefile.am): Likewise.
50229         * modules/unistd (Makefile.am): Likewise.
50230         * modules/wchar (Makefile.am): Likewise.
50231         * modules/wctype (Makefile.am): Likewise.
50232         Reported by Reuben Thomas <rrt@sc3d.org>.
50233
50234 2008-08-29  Bruno Haible  <bruno@clisp.org>
50235
50236         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
50237         any more.
50238
50239 2008-08-29  Simon Josefsson  <simon@josefsson.org>
50240
50241         * MODULES.html.sh (Misc): Add bitrotate.
50242
50243         * modules/bitrotate: New file.
50244
50245         * lib/bitrotate.h: New file.
50246
50247         * modules/bitrotate-tests: New file.
50248
50249         * tests/test-bitrotate.c: New file.
50250
50251         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
50252         on the bitrotate module.
50253
50254         * lib/arctwo.c: Use new bitrotate module.
50255
50256 2008-08-29  Jim Meyering  <meyering@redhat.com>
50257
50258         bootstrap: merge changes from coreutils
50259         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
50260         of copied files.  Remove a kludge, now that this is fixed.
50261         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
50262         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
50263         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
50264
50265 2008-08-29  Bruno Haible  <bruno@clisp.org>
50266
50267         * MODULES.html.sh: Remove --cvs-urls option.
50268
50269 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
50270
50271         maint.mk: adjust to file name change
50272         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
50273
50274 2008-08-28  Jim Meyering  <meyering@redhat.com>
50275
50276         * modules/getndelim2 (License): Relicense to LGPLv2+.
50277         Approved by Richard Stallman for the version of 1995, and by
50278         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
50279
50280 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
50281
50282         * lib/getdelim.c (flockfile, funlockfile): Make all of them
50283         dummy if one is not available.  Do not touch them if
50284         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
50285         (getc_maybe_unlocked): New.
50286         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
50287
50288 2008-08-26  Eric Blake  <ebb9@byu.net>
50289
50290         doc/INSTALL: resync from autoconf
50291         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
50292         (INSTALL_PRELUDE): Delete; this is done more efficiently by
50293         moving...
50294         * install.texi [!autoconf]: ...here.  Resync from autoconf.
50295         * INSTALL: Regenerate.
50296         * INSTALL.ISO: New file.
50297         * INSTALL.UTF-8: Likewise.
50298
50299 2008-08-26  Jim Meyering  <meyering@redhat.com>
50300
50301         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
50302         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
50303         these definitions conditional, so that they may be overridden, too.
50304
50305 2008-08-26  Bruno Haible  <bruno@clisp.org>
50306
50307         Generate INSTALL file variants with prettier quotes.
50308         * doc/Makefile (INSTALL_PRELUDE): New macro.
50309         (INSTALL): Use it.
50310         (INSTALL.ISO, INSTALL.UTF-8): New rules.
50311
50312 2008-08-26  Bruno Haible  <bruno@clisp.org>
50313
50314         Run makeinfo in an English locale.
50315         * doc/Makefile (MAKEINFO): New variable.
50316
50317 2008-08-26  Bruno Haible  <bruno@clisp.org>
50318
50319         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
50320         Suggested by Eric Blake.
50321
50322 2008-08-25  Bruno Haible  <bruno@clisp.org>
50323
50324         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
50325
50326 2008-08-25  Eric Blake  <ebb9@byu.net>
50327
50328         c-stack: test that stack overflow can be caught
50329         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
50330         that platform allows handling stack overflow; at least OS/2 EMX
50331         has sigaltstack, but crashes before transferring control to
50332         handler on stack overflow.
50333         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
50334         check for HAVE_STACK_OVERFLOW_HANDLING.
50335         Reported by Elbert Pol.
50336
50337 2008-08-25  Bruno Haible  <bruno@clisp.org>
50338
50339         * doc/posix-functions/strftime.texi: Fix description of strftime
50340         module.
50341
50342 2008-08-24  Bruno Haible  <bruno@clisp.org>
50343
50344         * tests/uniwidth/test-uc_width2.c: New file.
50345         * tests/uniwidth/test-uc_width2.sh: New file.
50346         * modules/uniwidth/width-tests (Files): Add the new files.
50347         (TESTS): Add uniwidth/test-uc_width2.sh.
50348         (TESTS_ENVIRONMENT): New variable.
50349         (check_PROGRAMS): Add test-uc_width2.
50350         (test_uc_width2_SOURCES): New variable.
50351
50352         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
50353         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
50354         not 0x00AB.
50355         Reported by Alexander V. Lukyanov <lav@netis.ru>.
50356
50357 2008-08-22  Eric Blake  <ebb9@byu.net>
50358
50359         test-lock, test-tls: mention why a test is skipped
50360         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
50361         skipped.
50362         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
50363
50364         count-one-bits: relax license
50365         * modules/count-one-bits (License): Relicense to LGPLv2+.
50366         Suggested by Ludovic Courtès, approved by Ben Pfaff.
50367
50368 2008-08-22  Andreas Schwab  <schwab@suse.de>
50369
50370         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
50371         Remove spurious space in assignment.
50372
50373 2008-08-21  Simon Josefsson  <simon@josefsson.org>
50374
50375         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
50376         Paul Eggert <eggert@CS.UCLA.EDU>.
50377
50378 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
50379
50380         * modules/gettext: Add m4/threadlib.m4.
50381
50382 2008-08-19  Eric Blake  <ebb9@byu.net>
50383
50384         test-c-stack: fix compilation failure on FreeBSD 5.0
50385         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
50386         headers before <sys/resource.h>.
50387         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
50388         the bug.
50389         Reported by Nelson H. F. Beebe.
50390
50391         strverscmp: migrate from "strverscmp.h" to <string.h>
50392         * modules/string (Makefile.am): Add new hooks.
50393         * modules/strverscmp (Files): Remove strverscmp.h.
50394         (Depends-on): Add string.
50395         (configure.ac): Add indicator.
50396         (Include): Mention new header.
50397         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
50398         defaults.
50399         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
50400         results.
50401         * lib/strverscmp.h: Delete.
50402         * lib/string.in.h (strverscmp): Provide declaration, when needed.
50403         * tests/test-strverscmp.c (includes): Adjust client.
50404         * lib/check-version.c (includes): Likewise.
50405         * NEWS: Document the change.
50406
50407         strverscmp: add unit test
50408         * modules/strverscmp-tests: New file.
50409         * tests/test-strverscmp.c: Likewise.
50410
50411 2008-08-19  Simon Josefsson  <simon@josefsson.org>
50412
50413         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
50414         regarding Windows crypto stuff, from Mono.
50415
50416 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
50417
50418         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
50419         if present, for intel RND.  Return error on failures.
50420
50421 2008-08-18  Ben Pfaff  <blp@gnu.org>
50422
50423         gitlog-to-changelog: give better diagnostic for failed pipe-open
50424         * build-aux/gitlog-to-changelog: Improve error message: suggest
50425         that the version of Git may be too old.
50426
50427 2008-08-18  Simon Josefsson  <simon@josefsson.org>
50428
50429         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
50430         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
50431
50432 2008-08-18  Bruno Haible  <bruno@clisp.org>
50433
50434         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
50435         pthread_in_use().
50436
50437 2008-08-18  Bruno Haible  <bruno@clisp.org>
50438
50439         * lib/glthread/threadlib.c: Include <pthread.h>.
50440
50441 2008-08-18  Bruno Haible  <bruno@clisp.org>
50442
50443         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
50444         glthread_recursive_lock_* macros.
50445         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
50446         Fix syntax error.
50447
50448 2008-08-18  Bruno Haible  <bruno@clisp.org>
50449
50450         * lib/glthread/thread.c: Avoid forcing a context switch right after
50451         thread creation.
50452
50453 2008-08-17  Bruno Haible  <bruno@clisp.org>
50454
50455         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
50456         * lib/glthread/thread.h: Provide Win32 specific implementation.
50457         * modules/thread (Files): Add lib/glthread/thread.c.
50458         (Depends-on): Add lock.
50459         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
50460
50461 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50462
50463         New module 'yield'.
50464         * modules/yield: New file.
50465         * lib/glthread/yield.h: New file.
50466         * m4/yield.m4: New file.
50467         * MODULES.html.sh (Multithreading): Add yield.
50468
50469 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50470
50471         New module 'thread'.
50472         * modules/thread: New file.
50473         * lib/glthread/thread.h: New file.
50474         * m4/thread.m4: New file.
50475         * MODULES.html.sh (Multithreading): Add thread.
50476
50477 2008-08-17  Bruno Haible  <bruno@clisp.org>
50478
50479         * lib/glthread/lock.h: Include <stdlib.h> always.
50480         * lib/glthread/tls.h: Likewise.
50481         * lib/glthread/cond.h: Likewise.
50482
50483 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50484
50485         New module 'cond'.
50486         * modules/cond: New file.
50487         * lib/glthread/cond.h: New file.
50488         * lib/glthread/cond.c: New file.
50489         * m4/cond.m4: New file.
50490         * MODULES.html.sh (Multithreading): Add cond.
50491
50492 2008-08-16  Eric Blake  <ebb9@byu.net>
50493
50494         c-stack: fix regression on Irix 5.3 from 2008-06-21
50495         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
50496         sa_sigaction...
50497         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
50498         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
50499         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
50500         * modules/signal (Makefile.am): Use the value.
50501         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
50502         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
50503         * doc/posix-headers/signal.texi (signal.h): Document this
50504         portability issue.
50505         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
50506         Reported by Tom G. Christensen.
50507
50508 2008-08-17  Bruno Haible  <bruno@clisp.org>
50509
50510         New module 'threadlib'.
50511         * modules/threadlib: New file.
50512         * lib/glthread/threadlib.c: New file, extracted from
50513         lib/glthread/lock.c.
50514         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
50515         functions.
50516         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
50517         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
50518         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
50519         macros.
50520         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
50521         (gl_DISABLE_THREADS): Remove macro.
50522         * modules/lock (Files): Remove build-aux/config.rpath.
50523         (Depends-on): Remove havelib. Add threadlib.
50524         (configure.ac-early): Remove section.
50525         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
50526         * modules/tls (Depends-on): Remove lock. Add threadlib.
50527         (Link): New section, copied from threadlib.
50528         * MODULES.html.sh (Multithreading): Add threadlib.
50529
50530 2008-08-14  Bruno Haible  <bruno@clisp.org>
50531
50532         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
50533         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
50534         glthread_rwlock_unlock, glthread_rwlock_destroy,
50535         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
50536         glthread_recursive_lock_destroy): Define as macros always.
50537         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
50538         glthread_lock_lock.
50539         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
50540         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
50541         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
50542         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
50543         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
50544         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
50545         (glthread_recursive_lock_lock_func): Renamed from
50546         glthread_recursive_lock_lock.
50547         (glthread_recursive_lock_unlock_func): Renamed from
50548         glthread_recursive_lock_unlock.
50549         (glthread_recursive_lock_destroy_func): Renamed from
50550         glthread_recursive_lock_destroy.
50551
50552 2008-08-14  Bruno Haible  <bruno@clisp.org>
50553
50554         * lib/glthread/lock.h: Renamed from lib/lock.h.
50555         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
50556         * lib/glthread/tls.h: Renamed from lib/tls.h.
50557         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
50558         * lib/fstrcmp.c: Update includes.
50559         * lib/strsignal.c: Update includes.
50560         * modules/lock (Files, Makefile.am): Update.
50561         (Include): Change to "glthread/lock.h".
50562         * modules/tls (Files, Makefile.am): Update.
50563         (Include): Change to "glthread/tls.h".
50564         * tests/test-lock.c: Update includes.
50565         * tests/test-tls.c: Update includes.
50566         * NEWS: Mention the renamed header files.
50567
50568 2008-08-11  Jim Meyering  <meyering@redhat.com>
50569
50570         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
50571
50572 2008-08-11  Eric Blake  <ebb9@byu.net>
50573
50574         test-c-stack: avoid C99-ism
50575         * tests/test-c-stack.c (main): Fix whitespace, move declaration
50576         before statement.
50577         Reported by Alain Guibert.
50578
50579 2008-08-10  Jim Meyering  <meyering@redhat.com>
50580
50581         ensure that return value of uinttostr et al are not ignored
50582         * lib/inttostr.h (__GNUC_PREREQ): Define.
50583         (__attribute_warn_unused_result__): Define.
50584         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
50585
50586 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
50587
50588         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
50589         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
50590
50591 2008-08-07  Jim Meyering  <meyering@redhat.com>
50592
50593         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
50594
50595         * modules/mkstemp (License): Relicense under LGPLv2+.
50596         * modules/tempname (License): Likewise.
50597
50598 2008-08-06  Bruno Haible  <bruno@clisp.org>
50599
50600         * lib/poll.c (poll): Further micro-optimization.
50601
50602 2008-08-06  Jim Meyering  <meyering@redhat.com>
50603
50604         inet_pton.c: use locale-independent tolower
50605         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
50606         (inet_pton6): Use c_tolower rather than tolower.
50607         * modules/inet_pton (Depends-on): Add c-ctype.
50608
50609 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
50610
50611         * lib/poll.c (poll): Avoid division when timeout is 0, cache
50612         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
50613
50614 2008-08-06  Jim Meyering  <meyering@redhat.com>
50615
50616         * modules/inet_pton (License): Relicense under LGPLv2+.
50617
50618 2008-08-03  Bruno Haible  <bruno@clisp.org>
50619
50620         Additional non-aborting API for lock and tls.
50621         * lib/lock.h: Include <errno.h>.
50622         (glthread_lock_init): New macro/function.
50623         (gl_lock_init): Define as wrapper around glthread_lock_init.
50624         (glthread_lock_lock): New macro/function.
50625         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
50626         (glthread_lock_unlock): New macro/function.
50627         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
50628         (glthread_lock_destroy): New macro/function.
50629         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
50630         (glthread_rwlock_init): New macro/function.
50631         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
50632         (glthread_rwlock_rdlock): New macro/function.
50633         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
50634         (glthread_rwlock_wrlock): New macro/function.
50635         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
50636         (glthread_rwlock_unlock): New macro/function.
50637         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
50638         (glthread_rwlock_destroy): New macro/function.
50639         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
50640         (glthread_recursive_lock_init): New macro/function.
50641         (gl_recursive_lock_init): Define as wrapper around
50642         glthread_recursive_lock_init.
50643         (glthread_recursive_lock_lock): New macro/function.
50644         (gl_recursive_lock_lock): Define as wrapper around
50645         glthread_recursive_lock_lock.
50646         (glthread_recursive_lock_unlock): New macro/function.
50647         (gl_recursive_lock_unlock): Define as wrapper around
50648         glthread_recursive_lock_unlock.
50649         (glthread_recursive_lock_destroy): New macro/function.
50650         (gl_recursive_lock_destroy): Define as wrapper around
50651         glthread_recursive_lock_destroy.
50652         (glthread_once): New macro/function.
50653         (gl_once): Define as wrapper around glthread_once.
50654         Update function declarations.
50655         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
50656         glthread_rwlock_init. Return error code.
50657         (glthread_rwlock_rdlock_multithreaded): Renamed from
50658         glthread_rwlock_rdlock. Return error code.
50659         (glthread_rwlock_wrlock_multithreaded): Renamed from
50660         glthread_rwlock_wrlock. Return error code.
50661         (glthread_rwlock_unlock_multithreaded): Renamed from
50662         glthread_rwlock_unlock. Return error code.
50663         (glthread_rwlock_destroy_multithreaded): Renamed from
50664         glthread_rwlock_destroy. Return error code.
50665         (glthread_recursive_lock_init_multithreaded): Renamed from
50666         glthread_recursive_lock_init. Return error code.
50667         (glthread_recursive_lock_lock_multithreaded): Renamed from
50668         glthread_recursive_lock_lock. Return error code.
50669         (glthread_recursive_lock_unlock_multithreaded): Renamed from
50670         glthread_recursive_lock_unlock. Return error code.
50671         (glthread_recursive_lock_destroy_multithreaded): Renamed from
50672         glthread_recursive_lock_destroy. Return error code.
50673         (glthread_once_call): Make static.
50674         (glthread_once_multithreaded): Renamed from glthread_once.
50675         * lib/tls.h: Include <errno.h>.
50676         (glthread_tls_key_init): New macro/function.
50677         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
50678         (glthread_tls_set): New macro/function.
50679         (gl_tls_set): Define as wrapper around glthread_tls_set.
50680         (glthread_tls_key_destroy): New macro/function.
50681         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
50682         Update function declarations.
50683         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
50684         glthread_tls_get.
50685         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50686
50687 2008-08-04  Eric Blake  <ebb9@byu.net>
50688
50689         gnumakefile: use space, not TAB, outside of targets
50690         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
50691
50692 2008-08-02  Jim Meyering  <meyering@redhat.com>
50693
50694         getdate.y: avoid locale-dependent date parsing failure
50695         In Turkish locales, getdate would fail to recognize keywords
50696         containing a lowercase "i".  The solution is not to rely on
50697         locale-sensitive case-conversion.
50698         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
50699         (lookup_word): Use c_toupper in place of toupper.
50700         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
50701         Reported by Vefa Bicakci <bicave@superonline.com> in
50702         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
50703         * modules/getdate (Depends-on): Add c-ctype.
50704
50705 2008-08-02  Bruno Haible  <bruno@clisp.org>
50706
50707         * gnulib-tool (func_import): When updating or creating a .gitignore
50708         file, prepend each added line with a slash, and ignore leading slashes
50709         from the existing lines.
50710         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50711
50712 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50713
50714         Portability fix for GNU make 3.79.1.
50715         * top/GNUmakefile: Avoid 'else COND', which older GNU make
50716         versions do not understand.
50717
50718 2008-08-01  Bruno Haible  <bruno@clisp.org>
50719
50720         Work around bug of HP-UX 10.20 cc with -0.0 literal.
50721         * tests/test-isnanf.h (zero): New variable.
50722         (main): Avoid literal -0.0f.
50723         * tests/test-isnand.h (zero): New variable.
50724         (main): Avoid literal -0.0.
50725         * tests/test-isnanl.h (zero): New variable.
50726         (main): Avoid literal -0.0L.
50727         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
50728         (test_float, test_double, test_long_double): Avoid literals -0.0f,
50729         -0.0, -0.0L.
50730         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
50731         (test_signbitd): Avoid literal -0.0.
50732         (test_signbitl): Avoid literal -0.0L.
50733         * tests/test-ceilf1.c (zero): New variable.
50734         (main): Avoid literal -0.0f.
50735         * tests/test-ceill.c (zero): New variable.
50736         (main): Avoid literal -0.0L.
50737         * tests/test-floorf1.c (zero): New variable.
50738         (main): Avoid literal -0.0f.
50739         * tests/test-floorl.c (zero): New variable.
50740         (main): Avoid literal -0.0L.
50741         * tests/test-roundf1.c (zero): New variable.
50742         (main): Avoid literal -0.0f.
50743         * tests/test-round1.c (zero): New variable.
50744         (main): Avoid literal -0.0.
50745         * tests/test-roundl.c (zero): New variable.
50746         (main): Avoid literal -0.0L.
50747         * tests/test-truncf1.c (zero): New variable.
50748         (main): Avoid literal -0.0f.
50749         * tests/test-trunc1.c (zero): New variable.
50750         (main): Avoid literal -0.0.
50751         * tests/test-truncl.c (zero): New variable.
50752         (main): Avoid literal -0.0L.
50753         * tests/test-frexp.c (zero): New variable.
50754         (main): Avoid literal -0.0.
50755         * tests/test-frexpl.c (zero): New variable.
50756         (main): Avoid literal -0.0L.
50757         * tests/test-ldexpl.c (zero): New variable.
50758         (main): Avoid literal -0.0L.
50759         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50760         (zerod, zerol): New variables.
50761         (test_function): Avoid literals -0.0, -0.0L.
50762         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50763         (zerod, zerol): New variables.
50764         (test_function): Avoid literals -0.0, -0.0L.
50765         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50766         (zerod, zerol): New variables.
50767         (test_function): Avoid literals -0.0, -0.0L.
50768         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50769         (zerod, zerol): New variables.
50770         (test_function): Avoid literals -0.0, -0.0L.
50771         * tests/test-strtod.c (zero): New variable.
50772         (main): Avoid literal -0.0.
50773         Reported by Jonathan C. Patschke <jp@centtech.com>.
50774
50775 2008-07-31  Jim Meyering  <meyering@redhat.com>
50776
50777         sha256.h: correct definition of SHA224_DIGEST_SIZE
50778         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
50779         Reported by Paulie Pena IV <paulie4@gmail.com>.
50780         Define as 224 / 8, rather than as a literal.
50781         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
50782         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
50783         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
50784
50785 2008-07-31  Bruno Haible  <bruno@clisp.org>
50786
50787         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
50788         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
50789         Reported by Jonathan Patschke <jp@centtech.com>.
50790
50791 2008-07-31  Bruno Haible  <bruno@clisp.org>
50792
50793         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
50794         Reported by Paolo Bonzini <bonzini@gnu.org>.
50795
50796 2008-07-30  Eric Blake  <ebb9@byu.net>
50797
50798         test-strtod: allow compilation without -lm
50799         * tests/test-strtod.c (main): Avoid link dependence on fabs.
50800         Reported by Dennis Clarke <blastwave@gmail.com>.
50801
50802 2008-07-28  Jim Meyering  <meyering@redhat.com>
50803
50804         bootstrap: work also when there are no .po files in po/
50805         * build-aux/bootstrap (update_po_files): Complete the change
50806         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
50807
50808 2008-07-27  Jim Meyering  <meyering@redhat.com>
50809
50810         * users.txt: Add zile.
50811
50812 2008-07-26  Ben Pfaff  <blp@gnu.org>
50813
50814         Add missing dependencies on new m4/exponent[fdl].m4 files.
50815         * modules/isnanf-nolibm: Add m4/exponentf.m4.
50816         * modules/isnand-nolibm: Add m4/exponentd.m4.
50817         * modules/isnanl-nolibm: Add m4/exponentl.m4.
50818         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
50819         m4/isnan[fdl].m4, because the macros actually used moved.
50820         Reported by Jim Meyering.
50821
50822 2008-07-14  Ben Pfaff  <blp@gnu.org>
50823
50824         Add isinf module.
50825         * lib/isinf.c: New file.
50826         * lib/math.in.h: Define isinf macro if we have decided to replace
50827         it.
50828         * m4/isinf.m4: New file.
50829         * m4/math_h.m4: Initialize and substitute variables for isinf
50830         module.
50831         * modules/isinf: New file.
50832         * modules/isinf-tests: New file.
50833         * modules/math: Add substitutions for new module.
50834         * tests/test-isinf.c: New file.
50835         * doc/posix-functions/isinf.texi: Mention new module.
50836         * MODULES.html.sh: Mention new module.
50837
50838 2008-07-14  Ben Pfaff  <blp@gnu.org>
50839
50840         Factor out some macros for use by additional modules.
50841         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
50842         exponentf.m4.
50843         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
50844         exponentd.m4.
50845         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
50846         file exponentl.m4.
50847         * m4/exponentf.m4: New file.
50848         * m4/exponentd.m4: New file.
50849         * m4/exponentl.m4: New file.
50850         * modules/isnanf: Use new file m4/exponentf.m4.
50851         * modules/isnand: Use new file m4/exponentd.m4.
50852         * modules/isnanl: Use new file m4/exponentl.m4.
50853
50854 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
50855
50856         mktime.c: normalize tp->tm_isdst value to -1/0/1.
50857         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
50858         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
50859         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
50860
50861         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
50862         readlink on platforms without PATH_MAX.
50863
50864 2008-07-21  Eric Blake  <ebb9@byu.net>
50865
50866         Warn, not fail, on stale version.
50867         * top/GNUmakefile (_curr-ver): Tone down previous patch.
50868
50869         Don't allow installation with stale devel version number.
50870         * top/GNUmakefile (_is-install-target): New macro.
50871         (_curr-ver): Forbid installation with stale version number.
50872
50873 2008-07-20  Bruno Haible  <bruno@clisp.org>
50874
50875         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
50876         TESTS_ENVIRONMENT.
50877         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
50878
50879 2008-07-20  Bruno Haible  <bruno@clisp.org>
50880
50881         * lib/c-stack.h (c_stack_action): Add documentation.
50882         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
50883
50884 2008-07-20  Bruno Haible  <bruno@clisp.org>
50885
50886         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
50887         * modules/readlink (License): Likewise.
50888
50889 2008-07-17  Eric Blake  <ebb9@byu.net>
50890
50891         * modules/c-stack (Link): Fix typo.
50892
50893         Make c-stack use libsigsegv, when available.
50894         * modules/c-stack (Depends-on): Add libsigsegv.
50895         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
50896         needed.
50897         * lib/c-stack.c (SIGSTKSZ): Define fallback.
50898         (segv_handler, overflow_handler, c_stack_action)
50899         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
50900         implementation when libsigsegv is available, but only when using
50901         the library is necessary.
50902         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
50903         comment, explaining why XSI check fails on Linux.
50904         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
50905         * tests/test-c-stack2.sh: Tweak skip message.
50906         * NEWS: Document new link-time requirements.
50907
50908 2008-07-16  Eric Blake  <ebb9@byu.net>
50909
50910         c-stack: Expose false positives when not using libsigsegv.
50911         * modules/c-stack-tests (Files): Expand test.
50912         * tests/test-c-stack.c (main): Add means to conditionally trigger
50913         non-overflow SIGSEGV.
50914         * tests/test-c-stack2.sh: New file.
50915
50916 2008-07-14  Bruno Haible  <bruno@clisp.org>
50917
50918         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
50919         Reported by Eric Blake.
50920
50921 2008-07-14  Sam Steingold  <sds@gnu.org>
50922             Bruno Haible  <bruno@clisp.org>
50923
50924         New module libsigsegv.
50925         * modules/libsigsegv: New file.
50926         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
50927         modifications.
50928         * MODULES.html.sh (Signal handling): New section.
50929
50930 2008-07-14  Bruno Haible  <bruno@clisp.org>
50931
50932         * modules/unictype/ctype-* (Description): Add the word "function".
50933         Improves the resulting doc in MODULES.html.
50934
50935 2008-07-12  Ben Pfaff  <blp@gnu.org>
50936
50937         Add longlong module.
50938         * modules/longlong: New file.
50939
50940 2008-07-12  Bruno Haible  <bruno@clisp.org>
50941
50942         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
50943         to empty.
50944
50945 2008-07-10  Ben Pfaff  <blp@gnu.org>
50946
50947         Add isnan module.
50948         * doc/posix-functions/isnan.texi: Mention new module.
50949         * lib/math.in.h: Define isnan macro if we have decided to replace
50950         it.
50951         * m4/isnan.m4: New file.
50952         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
50953         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
50954         also.
50955         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
50956         redundancy.
50957         * m4/math_h.m4: Initialize and substitute variables for isnan
50958         module.
50959         * modules/isnan: New file.
50960         * modules/isnan-tests: New file.
50961         * modules/math: Add substitutions for new module.
50962         * tests/test-isnan.c: New file.
50963         * MODULES.html.sh: Mention new module.
50964
50965 2008-07-10  Ben Pfaff  <blp@gnu.org>
50966
50967         Add isnanf module.
50968         * lib/isnanf.m4: New file.
50969         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
50970         (gl_HAVE_ISNANF_IN_LIBM): New macro.
50971         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
50972         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
50973         * modules/isnanf: New file.
50974         * modules/isnanf-tests: New file.
50975         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
50976         files.
50977         * tests/test-isnanf-nolibm.c: factored most of its contents into
50978         new file tests/test-isnanf.h.
50979         * tests/test-isnanf.h: New file.
50980         * tests/test-isnanf.c: New file.
50981         * MODULES.html.sh: Mention new module.
50982         * doc/glibc-functions/isnanf.texi: Mention new module.
50983
50984 2008-07-10  Ben Pfaff  <blp@gnu.org>
50985
50986         Add isnand module.
50987         * lib/isnand.h: New file.
50988         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
50989         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
50990         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
50991         functionality also.
50992         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
50993         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
50994         (gl_HAVE_ISNAND_IN_LIBM): New macro.
50995         * modules/isnand: New file.
50996         * modules/isnand-tests: New file.
50997         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
50998         files.
50999         * tests/test-isnand-nolibm.c: factored most of its contents into
51000         new file tests/test-isnand.h.
51001         * tests/test-isnand.h: New file.
51002         * tests/test-isnand.c: New file.
51003         * MODULES.html.sh: Mention new module.
51004
51005 2008-07-10  Ben Pfaff  <blp@gnu.org>
51006
51007         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
51008         * lib/isnand.h: Rename lib/isnand-nolibm.h.
51009         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
51010         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
51011         * modules/isnanf-nolibm: Update references to renamed files.
51012         * modules/isnand-nolibm: Likewise.
51013         * modules/isnanf-nolibm-tests: Likewise.
51014         * modules/isnand-nolibm-tests: Likewise.
51015         * lib/frexp.c: Likewise.
51016         * lib/isfinite.c: Likewise.
51017         * lib/signbitd.c: Likewise.
51018         * lib/signbitf.c: Likewise.
51019         * lib/vasnprintf.c: Likewise.
51020         * tests/test-ceilf1.c: Likewise.
51021         * tests/test-ceilf2.c: Likewise.
51022         * tests/test-floorf1.c: Likewise.
51023         * tests/test-floorf2.c: Likewise.
51024         * tests/test-frexp.c: Likewise.
51025         * tests/test-round1.c: Likewise.
51026         * tests/test-round2.c: Likewise.
51027         * tests/test-roundf1.c: Likewise.
51028         * tests/test-strtod.c: Likewise.
51029         * tests/test-trunc1.c: Likewise.
51030         * tests/test-trunc2.c: Likewise.
51031         * tests/test-truncf1.c: Likewise.
51032         * tests/test-truncf2.c: Likewise.
51033         * NEWS: Mention the renamed header files.
51034
51035 2008-07-11  Jim Meyering  <meyering@redhat.com>
51036
51037         vc-list-files: make the last-resort awk code more portable
51038         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
51039         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
51040         does not support it.
51041
51042 2008-07-10  Eric Blake  <ebb9@byu.net>
51043
51044         Work with tar's bootstrap.
51045         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
51046         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
51047         an m4 comment.
51048
51049 2008-07-09  Jim Meyering  <meyering@redhat.com>
51050
51051         posix-shell.m4: fix typo that made this test malfunction
51052         * m4/posix-shell.m4: Remove capitalization in variable name.
51053
51054 2008-07-08  Bruno Haible  <bruno@clisp.org>
51055
51056         * m4/onceonly.m4: Update comments.
51057         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51058
51059 2008-07-04  Jim Meyering  <meyering@redhat.com>
51060
51061         * users.txt: Add vc-dwim.
51062         (bison, coreutils): Use the gitweb URL.
51063
51064 2008-07-03  Jim Meyering  <meyering@redhat.com>
51065
51066         * users.txt: Add libffcall.  From Sam Steingold.
51067
51068 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
51069
51070         getdate.y: do not ignore TZ with relative day, month or year offset
51071         * lib/getdate.y (get_date): Move the tz-handling block to follow the
51072         relative-date-handling, since otherwise, the latter would clobber the
51073         sole output (an updated Start value) of the tz-handling block.
51074         * tests/test-getdate.c: Tests for the fix
51075
51076 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51077
51078         Recognize 'foo_LIBRARIES += libgnu.a'.
51079         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
51080         makefile snippet has already specified an installation location,
51081         also using '+='.
51082
51083 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
51084
51085         getdate.y: factor out common actions
51086         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
51087         Use them in place of open-coded actions.
51088
51089 2008-07-01  Simon Josefsson  <simon@josefsson.org>
51090
51091         Add self-test for getdate module.
51092         * modules/getdate-tests: New file.
51093         * tests/test-getdate.c: New file.
51094
51095 2008-06-29  Bruno Haible  <bruno@clisp.org>
51096
51097         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
51098         .gitignore.
51099         Reported by Sylvain Beucler <beuc@beuc.net>.
51100
51101 2008-06-29  Bruno Haible  <bruno@clisp.org>
51102
51103         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
51104         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
51105
51106 2008-06-29  Bruno Haible  <bruno@clisp.org>
51107
51108         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
51109         EXTRA_DIST.
51110         Reported by Sylvain Beucler <beuc@beuc.net>.
51111
51112 2008-06-26  Jim Meyering  <meyering@redhat.com>
51113
51114         make several modules depend on the "open" module
51115         This provides slightly increased consistency when opening-for-write
51116         the name of a non-directory spelled with a trailing slash.
51117         * modules/chdir-safer: Likewise.
51118         * modules/chown: Likewise.
51119         * modules/clean-temp: Likewise.
51120         * modules/copy-file: Likewise.
51121         * modules/fchdir: Likewise.
51122         * modules/fcntl-safer: Likewise.
51123         * modules/pipe: Likewise.
51124         * modules/utime: Likewise.
51125         Prompted by Eric Blake and Bruno Haible.
51126
51127 2008-06-24  Andreas Schwab  <schwab@suse.de>
51128
51129         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
51130         literals can be used as initializers for global variables.
51131
51132 2008-06-23  Eric Blake  <ebb9@byu.net>
51133
51134         Make gnulib-cache.m4 easier to diff.
51135         * gnulib-tool (func_import): Allow newlines when reading cached
51136         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
51137
51138 2008-06-23  Bruno Haible  <bruno@clisp.org>
51139
51140         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
51141         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
51142         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
51143         m4/signalblocking.m4.
51144         (gl_PREREQ_SIGACTION): Don't invoke it.
51145         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
51146         gl_PREREQ_SIG_HANDLER_H.
51147         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51148         Don't check for sigaction here.
51149
51150 2008-06-23  Bruno Haible  <bruno@clisp.org>
51151
51152         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
51153         (install_handlers): Don't set the SA_RESETHAND flag.
51154
51155 2008-06-23  Bruno Haible  <bruno@clisp.org>
51156
51157         * m4/sigaction.m4: Comment fixes.
51158         * lib/signal.in.h: Likewise.
51159
51160 2008-06-23  Eric Blake  <ebb9@byu.net>
51161
51162         Fix typo.
51163         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
51164
51165         Avoid SA_ namespace.
51166         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
51167         Reported by Ralf Wildenhues.
51168
51169         Avoid test failure due to SA_RESTORER.
51170         * tests/test-sigaction.c (SA_MASK): New macro.
51171         (main): Avoid failing due to extension flags being set.
51172         Reported by Jim Meyering.
51173
51174         Revert use of sig-handler.h in sigprocmask.c.
51175         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
51176         it requires the existence of struct sigaction.
51177         * lib/sigprocmask.c (handler_t): Restore typedef.
51178         (rpl_signal, old_handlers): Use local type.
51179
51180 2008-06-22  Bruno Haible  <bruno@clisp.org>
51181
51182         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
51183         conditionally.
51184         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51185
51186 2008-06-22  Bruno Haible  <bruno@clisp.org>
51187
51188         * doc/posix-functions/siginterrupt.texi: Move note.
51189
51190         * lib/signal.in.h (SA_RESTART): New macro.
51191         * lib/sigaction.c: Update comment.
51192
51193         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
51194
51195         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
51196         (gl_PREREQ_SIGPROCMASK): Invoke it.
51197         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
51198
51199         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
51200
51201         * lib/sigprocmask.c: Update a comment.
51202
51203 2008-06-21  Eric Blake  <ebb9@byu.net>
51204
51205         Use sigaction module rather than signal().
51206         * modules/c-stack (Depends-on): Add sigaction.
51207         * modules/fatal-signal (Depends-on): Likewise.
51208         * modules/nanosleep (Depends-on): Likewise.
51209         * modules/sigprocmask (Files): Add sig-handler.h.
51210         * modules/sigaction (Files): Likewise.
51211         * lib/sig-handler.h (get_handler): New file, suggested by Paul
51212         Eggert.
51213         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
51214         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
51215         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
51216         (init_fatal_signals): Likewise.
51217         * lib/nanosleep.c (rpl_nanosleep): Likewise.
51218         (siginterrupt): Delete fallback.
51219         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
51220         instead.
51221         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
51222         siginterrupt.
51223
51224         New module sigaction, for mingw.
51225         * modules/sigaction: New module...
51226         * modules/sigaction-tests: ...and its test.
51227         * m4/sigaction.m4: New file.
51228         * lib/sigaction.c: Likewise.
51229         * tests/test-sigaction.c: Likewise.
51230         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
51231         * modules/signal (Makefile.am): Likewise.
51232         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
51233         needed.
51234         * doc/posix-headers/signal.texi (signal.h): Mention provided
51235         types.
51236         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
51237         that sigaction is preferable.
51238         * doc/posix-functions/sigaction.texi (sigaction): Mention new
51239         module.
51240         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51241         sigaction.
51242
51243         Improve robustness of sigprocmask by overriding signal.
51244         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
51245         is in use.
51246         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
51247         (SIGKILL, SIGSTOP): Provide fallbacks.
51248         (rpl_signal): Implement.
51249         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
51250         signal can be called inside handlers.
51251
51252         Fix nanosleep module on mingw.
51253         * modules/nanosleep (Depends-on): Add sys_select.
51254         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
51255
51256         Fix licensing of sigprocmask.
51257         * modules/raise (License): Relicense as LGPL.
51258
51259 2008-06-21  Bruno Haible  <bruno@clisp.org>
51260
51261         * lib/propername.c (proper_name_utf8): Don't use the transliterated
51262         result if it contains question marks.
51263         Reported by Michael Geng <linux@michaelgeng.de>.
51264
51265 2008-06-19  Bruno Haible  <bruno@clisp.org>
51266
51267         Fix CVS-ism.
51268         * doc/gnulib.texi: Include updated-stamp.texi.
51269         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
51270         (updated-stamp.texi): New rule.
51271         (gnulib.info): Depend on it.
51272         * doc/.gitignore: Add updated-stamp.texi.
51273         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
51274
51275 2008-06-19  Bruno Haible  <bruno@clisp.org>
51276
51277         * doc/Makefile (gnulib.info): Update and simplify dependencies.
51278         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51279
51280 2008-06-19  Eric Blake  <ebb9@byu.net>
51281
51282         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
51283         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
51284         Reported by Stepan Kasal.
51285
51286 2008-06-18  Bruno Haible  <bruno@clisp.org>
51287
51288         * lib/fatal-signal.c (init_fatal_signals): Add comment.
51289         Reported by Eric Blake.
51290
51291 2008-06-18  Eric Blake  <ebb9@byu.net>
51292
51293         Work around cygwin 1.5.25 strsignal bug.
51294         * tests/test-strsignal.c: Allow for const char *.
51295         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
51296
51297 2008-06-18  Simon Josefsson  <simon@josefsson.org>
51298
51299         * users.txt: Update URL to article and add author/date
51300         information.
51301
51302 2008-06-17  Bruno Haible  <bruno@clisp.org>
51303
51304         New macro gl_DISABLE_THREADS.
51305         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
51306         if the user did not pass --enable-threads or --disable-threads option.
51307         (gl_DISABLE_THREADS): New macro.
51308         Reported by Eric Blake <ebb9@byu.net>.
51309
51310 2008-06-17  Bruno Haible  <bruno@clisp.org>
51311
51312         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
51313         when the macro ignores it.
51314         Based on a patch by Eric Blake <ebb9@byu.net>.
51315
51316 2008-06-17  Bruno Haible  <bruno@clisp.org>
51317
51318         * modules/tls (License): Change to LGPLv2+.
51319         Reported by Eric Blake.
51320
51321 2008-06-17  Eric Blake  <ebb9@byu.net>
51322
51323         Simplify c-stack prerequisites.
51324         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
51325         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
51326         no longer requires <ucontext.h> to exist.  Optimize setrlimit
51327         check.
51328         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
51329         <sys/resource.h>.
51330
51331         Move c-stack test into testsuite.
51332         * modules/c-stack-tests: New file.
51333         * lib/c-stack.c [DEBUG]: Move test program...
51334         * tests/test-c-stack.c: ...into this new file.  Skip rather than
51335         fail test if sigaltstack is lacking.
51336         * tests/test-c-stack.sh: New driver file.
51337
51338 2008-06-16  Eric Blake  <ebb9@byu.net>
51339
51340         Use raise module consistently.
51341         * modules/fatal-signal (Depends-on): Add raise.
51342         * modules/sigprocmask (Depends-on): Likewise.
51343         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
51344         * lib/sigprocmask.c (sigprocmask): Likewise.
51345         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51346         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
51347
51348         Fix compliance bug in sigpending.
51349         * lib/sigprocmask.c (sigpending): Return pending array via
51350         parameter, not return value.
51351
51352 2008-06-14  Eric Blake  <ebb9@byu.net>
51353
51354         Improve obstack-printf test code.
51355         * tests/test-obstack-printf.c (test_function): Fix comment, and
51356         simplify usage of obstack_* in macros.  Add a test for coverage.
51357         Reported by Bruno Haible.
51358
51359 2008-06-14  Bruno Haible  <bruno@clisp.org>
51360
51361         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
51362         array size as a constant, not as a const variable.
51363         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
51364         AC_USE_SYSTEM_EXTENSIONS.
51365         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51366         Test whether the obstack_printf function actually exists.
51367         * modules/obstack-printf (Depends-on): Add extensions.
51368         (Include): Remove obstack.h.
51369         * modules/obstack-printf-posix (Depends-on): Add extensions.
51370         (Include): Remove obstack.h.
51371
51372 2008-06-13  Eric Blake  <ebb9@byu.net>
51373
51374         Add obstack-printf and obstack-printf-posix modules.
51375         * modules/obstack-printf: New file.
51376         * modules/obstack-printf-posix: Likewise.
51377         * MODULES.html.sh (Misc): Mention them.
51378         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51379         Likewise.
51380         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51381         Likewise.
51382         * modules/stdio (Makefile.am): Accomodate new modules.
51383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51384         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
51385         Declare.
51386         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
51387         functions.
51388         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
51389         (gl_REPLACE_OBSTACK_PRINTF): New macros
51390         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
51391         * tests/test-obstack-printf.c: New file.
51392         * modules/obstack-printf-tests: Likewise.
51393         * modules/obstack-printf-posix-tests: Likewise.
51394
51395 2008-06-11  Bruno Haible  <bruno@clisp.org>
51396
51397         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
51398         * lib/open.c: Include errno.h.
51399         (open): Fail when attempting to write to a file that has a trailing
51400         slash.
51401         * tests/test-open.c (main): Test against trailing slash bug.
51402         * doc/posix-functions/open.texi: Mention the trailing slash bug.
51403
51404 2008-06-10  Bruno Haible  <bruno@clisp.org>
51405
51406         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
51407         for $? to work inside the trap command, with various /bin/sh-s.
51408         * tests/test-vc-list-files-cvs.sh: Likewise.
51409
51410 2008-06-10  Bruno Haible  <bruno@clisp.org>
51411
51412         * lib/acl-internal.h: Don't include gettext.h here.
51413         * lib/set-mode-acl.c: Include gettext.h here.
51414         * lib/copy-acl.c: Likewise.
51415
51416 2008-06-10  Bruno Haible  <bruno@clisp.org>
51417
51418         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
51419         * lib/wait-process.c (wait_subprocess): Likewise.
51420         * lib/execute.h (execute): Add termsigp argument.
51421         * lib/execute.c (execute): Likewise.
51422         * lib/csharpcomp.c (compile_csharp_using_pnet,
51423         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
51424         * lib/csharpexec.c (execute_csharp_using_pnet,
51425         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
51426         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
51427         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
51428         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
51429         is_jikes_present): Update.
51430         * lib/javaexec.c (execute_java_class): Update.
51431         * lib/javaversion.c (execute_and_read_line): Update.
51432         * NEWS: Document the changes.
51433         Reported by Eric Blake.
51434
51435 2008-06-10  Eric Blake  <ebb9@byu.net>
51436
51437         Add missing include.
51438         * tests/test-strstr.c (includes): Add <signal.h>.
51439         * tests/test-strcasestr.c (includes): Likewise.
51440         * tests/test-memmem.c (includes): Likewise.
51441
51442 2008-06-10  Bruno Haible  <bruno@clisp.org>
51443
51444         * lib/wait-process.c (wait_subprocess): Add an assertion.
51445
51446 2008-06-10  Bruno Haible  <bruno@clisp.org>
51447
51448         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
51449
51450 2008-06-10  Bruno Haible  <bruno@clisp.org>
51451
51452         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
51453         using alarm().
51454         * tests/test-strcasestr.c (main): Likewise.
51455         * tests/test-strstr.c (main): Likewise.
51456
51457 2008-06-09  Bruno Haible  <bruno@clisp.org>
51458
51459         Work around the Solaris 10 ACE ACLs ABI change.
51460         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
51461         declare if ACL_NO_TRIVIAL is present.
51462         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
51463         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
51464         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
51465         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
51466         define if ACL_NO_TRIVIAL is present.
51467         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
51468         and use the current ABI.
51469         (file_has_acl): Use same #if condition as elsewhere.
51470         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
51471         in use, and use the current ABI.
51472         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
51473         Reported by Jim Meyering.
51474
51475 2008-06-09  Eric Blake  <ebb9@byu.net>
51476
51477         Work around environments that (stupidly) ignore SIGALRM.
51478         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
51479         before using alarm().
51480         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51481         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51482         Reported by Ian Beckwith <ianb@erislabs.net>.
51483
51484         Produce autobuild blurb earlier in log.
51485         * modules/autobuild (configure.ac-early): Move AB_INIT here.
51486
51487 2008-06-09  Jim Meyering  <meyering@redhat.com>
51488         and OndÅ™ej Vašík  <ovasik@redhat.com>
51489
51490         utimens.c: correct kernel bug work-around
51491         OndÅ™ej Vašík found that the invalid return value of 280 indicates
51492         failure, not success, and the kernel bug we're trying to work
51493         around affects not just the utimensat call, but also the fallback
51494         futimens call.
51495         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
51496         not success.
51497         [HAVE_FUTIMENS]: Use the same work-around, here.
51498
51499 2008-06-09  Jim Meyering  <meyering@redhat.com>
51500
51501         add more guards around definition of ACE_-related code
51502         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
51503         ALLOW and ACE_OWNER are also defined.
51504
51505 2008-06-08  Bruno Haible  <bruno@clisp.org>
51506
51507         * lib/acl-internal.h: Add me as co-author.
51508         * lib/file-has-acl.c: Likewise.
51509         * lib/set-mode-acl.c: Likewise.
51510         * lib/copy-acl.c: Likewise.
51511
51512 2008-06-08  Bruno Haible  <bruno@clisp.org>
51513
51514         Add support for AIX ACLs.
51515         * lib/acl-internal.h (acl_nontrivial): New declaration.
51516         * lib/file-has-acl.c (acl_nontrivial): New function.
51517         (file_has_acl): Add implementation using AIX 4 ACL API.
51518         * lib/set-mode-acl.c (qset_acl): Likewise.
51519         * lib/copy-acl.c (qcopy_acl): Likewise.
51520
51521 2008-06-08  Bruno Haible  <bruno@clisp.org>
51522
51523         Add support for HP-UX ACLs.
51524         * lib/acl-internal.h (acl_nontrivial): New declaration.
51525         * lib/file-has-acl.c (acl_nontrivial): New function.
51526         (file_has_acl): Add implementation using HP-UX 11 ACL API.
51527         * lib/set-mode-acl.c (qset_acl): Likewise.
51528         * lib/copy-acl.c (qcopy_acl): Likewise.
51529
51530 2008-06-08  Bruno Haible  <bruno@clisp.org>
51531
51532         Add support for Cygwin ACLs.
51533         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
51534         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
51535         the chmod_or_fchmod call.
51536         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
51537
51538 2008-06-08  Bruno Haible  <bruno@clisp.org>
51539
51540         Fix bug with setuid modes in Solaris 10+ code.
51541         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
51542         succeeded, when the mode contains some special bits.
51543
51544 2008-06-08  Bruno Haible  <bruno@clisp.org>
51545
51546         Add support for Solaris 7..10 ACLs.
51547         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
51548         declarations.
51549         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
51550         functions.
51551         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
51552         * lib/set-mode-acl.c (qset_acl): Likewise.
51553         * lib/copy-acl.c (qcopy_acl): Likewise.
51554
51555 2008-06-08  Bruno Haible  <bruno@clisp.org>
51556
51557         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
51558         declaration.
51559         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
51560         (acl_access_nontrivial): Remove MacOS X case.
51561         (file_has_acl): Use acl_extended_nontrivial.
51562         * lib/copy-acl.c (qcopy_acl): Likewise.
51563
51564 2008-06-08  Bruno Haible  <bruno@clisp.org>
51565
51566         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
51567
51568 2008-06-08  Jim Meyering  <meyering@redhat.com>
51569
51570         * modules/acl (Maintainer): Add Bruno Haible.
51571
51572 2008-06-07  Bruno Haible  <bruno@clisp.org>
51573
51574         Improve support for Tru64 ACLs.
51575         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
51576         ACL on OSF/1.
51577
51578 2008-06-07  Bruno Haible  <bruno@clisp.org>
51579
51580         Add support for MacOS X ACLs.
51581         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
51582         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
51583         * lib/set-mode-acl.c (qset_acl): Likewise.
51584         * lib/copy-acl.c (qcopy_acl): Likewise.
51585
51586 2008-06-07  Bruno Haible  <bruno@clisp.org>
51587
51588         Fix memory leak introduced on 2008-05-22.
51589         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
51590         use.
51591
51592 2008-06-07  Bruno Haible  <bruno@clisp.org>
51593
51594         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
51595         to construct an empty ACL.
51596
51597 2008-06-07  Bruno Haible  <bruno@clisp.org>
51598
51599         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
51600         precisely.
51601         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
51602
51603 2008-06-07  Bruno Haible  <bruno@clisp.org>
51604
51605         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
51606         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
51607
51608 2008-06-07  Bruno Haible  <bruno@clisp.org>
51609
51610         * doc/posix-functions/_setjmp.texi: Explain the use of this function
51611         regardless of POSIX.
51612         * doc/posix-functions/_longjmp.texi: Likewise.
51613         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
51614         SystemV platform in this case.
51615
51616 2008-06-06  Eric Blake  <ebb9@byu.net>
51617
51618         Document abort() bugs.
51619         * doc/posix-functions/abort.texi (abort): Mention anomalies.
51620
51621         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
51622         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
51623         sigsetjmp.
51624         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
51625         siglongjmp, but only as a macro.
51626         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
51627         is obsolete.
51628         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
51629
51630         Tweak documentation to cover cygwin argz bugs.
51631         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
51632         argz bug fix; no code change needed since no cygwin releases
51633         occurred between the last fix and the bug being tested.
51634         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
51635         module and recently fixed cygwin bugs.
51636         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
51637         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
51638         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
51639         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
51640         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
51641         Likewise.
51642         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
51643         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
51644         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
51645         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
51646         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
51647         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
51648         Likewise.
51649
51650         Avoid gcc warning on cygwin.
51651         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
51652         !ACL_NO_TRIVIAL]: Avoid unused variable.
51653
51654 2008-06-05  Eric Blake  <ebb9@byu.net>
51655
51656         Be tolerant of UNKNOWN version in gnulib-tool test dir.
51657         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
51658         git-version-gen fails to come up with a version.
51659         Reported by Simon Josefsson.
51660
51661 2008-06-05  Jim Meyering  <meyering@redhat.com>
51662             Paul Eggert  <eggert@cs.ucla.edu>
51663
51664         utimens.c: work around a probable Linux kernel bug
51665         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
51666         appears to be a kernel bug that causes utimensat to return 280
51667         instead of 0, indicating success.
51668
51669 2008-06-04  Bruno Haible  <bruno@clisp.org>
51670
51671         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
51672         2008-06-01 commit.
51673
51674 2008-06-04  Bruno Haible  <bruno@clisp.org>
51675
51676         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
51677         * lib/file-has-acl.c (acl_access_nontrivial): New function.
51678         (file_has_acl): Use it. Save errno afterwards.
51679         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
51680
51681 2008-06-03  Bruno Haible  <bruno@clisp.org>
51682
51683         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
51684         draft code. Simplify #ifs.
51685         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
51686         Put Solaris code after POSIX-draft code. Fix comments regarding
51687         Solaris 10, HP-UX. Mention Cygwin.
51688         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
51689
51690 2008-06-03  Eric Blake  <ebb9@byu.net>
51691
51692         Provide fallback for older kernels.
51693         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
51694         Provide runtime fallback if kernel lacks support.
51695         Reported by Mike Frysinger.
51696
51697 2008-06-02  Bruno Haible  <bruno@clisp.org>
51698
51699         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
51700         it exists.
51701
51702 2008-06-02  Bruno Haible  <bruno@clisp.org>
51703
51704         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
51705         * lib/copy-acl.c (qcopy_acl): Update comment.
51706
51707 2008-06-02  Bruno Haible  <bruno@clisp.org>
51708
51709         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
51710         like ACL APIs.
51711
51712 2008-06-02  Bruno Haible  <bruno@clisp.org>
51713
51714         * tests/test-file-has-acl.sh: Use different code for Cygwin.
51715         * tests/test-set-mode-acl.sh: Likewise.
51716         * tests/test-copy-acl.sh: Likewise.
51717         * tests/test-copy-file.sh: Likewise.
51718
51719 2008-06-02  Bruno Haible  <bruno@clisp.org>
51720
51721         * tests/test-file-has-acl.sh: Remove unused code.
51722
51723 2008-06-01  Bruno Haible  <bruno@clisp.org>
51724
51725         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
51726         (copy_acl): Just a wrapper around qcopy_acl that emits the error
51727         messages.
51728         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
51729
51730 2008-06-01  Bruno Haible  <bruno@clisp.org>
51731
51732         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
51733         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
51734         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
51735         APIs.
51736         * modules/acl-tests (configure.ac): Remove tests now contained in
51737         m4/acl.m4.
51738
51739 2008-06-02  Jim Meyering  <meyering@redhat.com>
51740
51741         announce-gen: use a better key-server host name
51742         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
51743         it may be more consistently reliable.  Suggested by Werner Koch
51744         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
51745
51746 2008-06-01  Bruno Haible  <bruno@clisp.org>
51747
51748         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
51749         Reported by Voroskoi Andras <voroskoi@gmail.com>.
51750
51751 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
51752
51753         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
51754
51755 2008-06-01  Bruno Haible  <bruno@clisp.org>
51756
51757         New ACL tests.
51758         * tests/test-file-has-acl.sh: New file.
51759         * tests/test-file-has-acl.c: New file.
51760         * tests/test-set-mode-acl.sh: New file.
51761         * tests/test-set-mode-acl.c: New file.
51762         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
51763         * tests/test-copy-acl.c: New file.
51764         * modules/acl-tests: New file, based on modules/copy-file-tests.
51765         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
51766         (Depends-on): Add acl-tests.
51767         (configure.ac): Remove checks.
51768         (Makefile.am): Don't create test-sameacls program here any more.
51769
51770 2008-06-01  Bruno Haible  <bruno@clisp.org>
51771
51772         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
51773         * tests/test-sameacls.c: Include progname.h.
51774         (main): Invoke set_program_name. Portability fixes for MacOS X,
51775         Solaris, HP-UX.
51776
51777 2008-06-01  Bruno Haible  <bruno@clisp.org>
51778
51779         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
51780         function.
51781         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
51782
51783 2008-06-01  Bruno Haible  <bruno@clisp.org>
51784
51785         * modules/rpmatch (Depends-on): Add strdup.
51786
51787 2008-06-01  Bruno Haible  <bruno@clisp.org>
51788
51789         * lib/pipe.c: Include unistd-safer.h.
51790         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
51791         * modules/pipe (Depends-on): Add unistd-safer.
51792
51793 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51794
51795         * modules/autobuild (configure.ac): Call AB_INIT.
51796
51797 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51798
51799         * tests/test-getaddrinfo.c: Don't print debug messages by default.
51800         Suggested by Bruno Haible <bruno@clisp.org>.
51801
51802 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51803
51804         * tests/test-base64.c: Cast size_t to unsigned long when invoking
51805         printf.  Use %lu instead of %d.  Reported by Bruno Haible
51806         <bruno@clisp.org>.
51807
51808 2008-05-29  Eric Blake  <ebb9@byu.net>
51809
51810         Prefer new POSIX 200x interfaces over futimesat.
51811         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
51812         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
51813         when available.
51814         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
51815
51816 2008-05-28  Bruno Haible  <bruno@clisp.org>
51817
51818         * modules/stpcpy (License): Change to LGPLv2+.
51819         Requested by David Lutterkort <dlutter@redhat.com>.
51820
51821 2008-05-27  Bruno Haible  <bruno@clisp.org>
51822
51823         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
51824         current mingw.
51825         Reported by Jose E. Marchesi <jemarch@gnu.org>.
51826
51827 2008-05-27  Bruno Haible  <bruno@clisp.org>
51828
51829         * modules/iconv_open (Link): New section, from module 'iconv'.
51830         * modules/striconv (Link): Likewise.
51831         * modules/striconveh (Link): Likewise.
51832         * modules/xstriconv (Link): Likewise.
51833         * modules/unicodeio (Link): Likewise.
51834         * modules/propername (Link): Likewise.
51835         Reported by Jim Meyering.
51836
51837 2008-05-26  Jim Meyering  <meyering@redhat.com>
51838
51839         sha256: do not artificially restrict buffer length to be < 2^32
51840         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
51841         uint32_t to size_t.
51842         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
51843         to match.
51844
51845         avoid unaligned access errors, e.g., on sparc
51846         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
51847         direct access through a possibly-unaligned uint64* pointer.
51848         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
51849         direct access through a possibly-unaligned uint32* pointer.
51850         Prompted by this patch from Tom "spot" Callaway:
51851         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
51852
51853         sha512.c: fix typo in comment
51854         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
51855
51856 2008-05-25  Bruno Haible  <bruno@clisp.org>
51857
51858         * lib/set-mode-acl.c: Renamed from lib/acl.c.
51859         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
51860         (Makefile.am): Update lib_SOURCES.
51861
51862 2008-05-25  Bruno Haible  <bruno@clisp.org>
51863
51864         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
51865
51866 2008-05-25  Jim Meyering  <meyering@redhat.com>
51867
51868         useless-if-before-free: freed expr may have white-space differences
51869         * build-aux/useless-if-before-free: Recognize cases in which the
51870         freed expression differs from the tested one in embedded white
51871         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
51872         $1 was used, so we can't make any regexp shy.  Improved tests now
51873         detect this.
51874
51875         useless-if-before-free: accept white space in the expression.
51876         * build-aux/useless-if-before-free: For now, any white space
51877         in the expression must be identical in the free argument.
51878
51879         useless-if-before-free: efficiency tweak
51880         * build-aux/useless-if-before-free: Make the expression-matching
51881         regexp "shy".
51882         Make the *outer* regexp shy, not the expr-matching one.
51883
51884         update code-in-comment to accept cast of free arg
51885         * build-aux/useless-if-before-free: Update regexp.
51886
51887 2008-05-25  Bruno Haible  <bruno@clisp.org>
51888
51889         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
51890         * modules/copy-file-tests (Files, Makefile.am): Update.
51891         * tests/test-copy-file.c (func_test_copy): Update.
51892
51893 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
51894
51895         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
51896
51897 2008-05-23  Bruno Haible  <bruno@clisp.org>
51898
51899         Improve support for ACLs on OSF/1.
51900         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
51901         Remove fallback for unknown flavors of ACLs.
51902
51903 2008-05-22  Bruno Haible  <bruno@clisp.org>
51904
51905         Add support for ACLs on OSF/1.
51906         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
51907         replacements.
51908         (acl_free_text): New macro fallback.
51909         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
51910         acl_free.
51911         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
51912         acl_free_text function. Require AC_C_INLINE.
51913
51914 2008-05-22  Bruno Haible  <bruno@clisp.org>
51915
51916         Make copy_acl work on MacOS X 10.5.
51917         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
51918         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
51919         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
51920         If MODE_INSIDE_ACL, don't assume that every system has the same text
51921         representation for ACLs as FreeBSD.
51922         * lib/copy-acl.c (copy_acl): Add support for platforms with
51923         !MODE_INSIDE_ACL.
51924         * lib/file-has-acl.c (file_has_acl): Likewise.
51925         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
51926         FreeBSD, MacOS X, or IRIX, respectively.
51927
51928 2008-05-22  Bruno Haible  <bruno@clisp.org>
51929
51930         * lib/acl.h: Don't include <sys/acl.h>.
51931         (GETACLCNT): Move fallback to lib/acl-internal.h.
51932         * lib/acl-internal.h: Include <sys/acl.h> here.
51933         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
51934
51935 2008-05-22  Bruno Haible  <bruno@clisp.org>
51936
51937         Split off copy_acl function to separate file.
51938         * lib/copy-acl.c: New file, extracted from lib/acl.c.
51939         * lib/acl.c (copy_acl): Moved function to separate file.
51940         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
51941         * modules/acl (Files): Add lib/copy-acl.c.
51942         (Makefiles.am): Augment lib_SOURCES.
51943
51944 2008-05-22  Bruno Haible  <bruno@clisp.org>
51945
51946         * modules/copy-file-tests: New file.
51947         * tests/test-copy-file.sh: New file.
51948         * tests/test-copy-file.c: New file.
51949         * tests/test-copy-file-sameacls.c: New file.
51950
51951 2008-05-22  Eric Blake  <ebb9@byu.net>
51952
51953         Avoid gcc warning.
51954         * tests/test-memcmp.c (main): Pass NULL indirectly.
51955
51956 2008-05-21  Bruno Haible  <bruno@clisp.org>
51957
51958         Add reference doc about ACLs.
51959         * doc/acl-resources.txt: New file.
51960         * doc/acl-cygwin.txt: New file.
51961
51962 2008-05-21  Bruno Haible  <bruno@clisp.org>
51963
51964         Avoid one more warning from gcc.
51965         * lib/vasnprintf.c (IF_LINT): Update comments.
51966         (VASNPRINTF): Use it also for the 'prefix' array initializer.
51967
51968 2008-05-21  Jim Meyering  <meyering@redhat.com>
51969
51970         avoid a warning from gcc
51971         * lib/vasnprintf.c (IF_LINT): Define.
51972         (scale10_round_decimal_long_double):
51973         Use it to avoid a "may be used uninitialized" warning.
51974         (scale10_round_decimal_double): Likewise.
51975
51976 2008-05-21  Simon Josefsson  <simon@josefsson.org>
51977
51978         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
51979         declared.
51980
51981 2008-05-20  Bruno Haible  <bruno@clisp.org>
51982
51983         * tests/test-memcmp.c (main): Test also the sign of the result. Test
51984         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
51985
51986 2008-05-20  Simon Josefsson  <simon@josefsson.org>
51987
51988         * modules/memcmp-tests: New file.
51989         * tests/test-memcmp.c: New file.
51990
51991 2008-05-19  Bruno Haible  <bruno@clisp.org>
51992
51993         * modules/propername (Notice, configure.ac): Put quoted "..." into
51994         --keyword option.
51995         * lib/propername.h: Update comments accordingly.
51996         Reported by Eric Blake.
51997
51998 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
51999
52000         * modules/getpass-gnu (Depends-on): Add fseeko.
52001
52002 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52003
52004         * modules/base64-tests: New file.
52005
52006 2008-05-19  Bo Borgerson <gigabo@gmail.com>
52007
52008         * lib/base64.c (base64_decode_ctx): If a decode context structure
52009         was passed in use it to ignore newlines.  If a context structure
52010         was _not_ passed in, continue to treat newlines as garbage (this
52011         is the historical behavior).  Formerly base64_decode.
52012         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52013         takes a decode context structure.
52014         * lib/base64.h (base64_decode): Macro for four-argument calls.
52015         (base64_decode_alloc): Likewise.
52016         * lib/base64.c (base64_decode_ctx): If a decode context structure
52017         was passed in use it to ignore newlines.  If a context structure
52018         was _not_ passed in, continue to treat newlines as garbage (this
52019         is the historical behavior).  Formerly base64_decode.
52020         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52021         takes a decode context structure.
52022         * lib/base64.h (base64_decode): Macro for four-argument calls.
52023         (base64_decode_alloc): Likewise.
52024
52025 2008-05-19  Jim Meyering  <meyering@redhat.com>
52026
52027         avoid a warning from gcc
52028         * lib/trim.c (IF_LINT): Define.
52029         (trim2): Use it to avoid a "may be used uninitialized" warning.
52030
52031         Fix doc typo.
52032         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
52033
52034 2008-05-19  Bruno Haible  <bruno@clisp.org>
52035
52036         * doc/glibc-functions/getpass.texi: Document limits of other
52037         implementations.
52038
52039 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52040             Bruno Haible <bruno@clisp.org>
52041
52042         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
52043
52044 2008-05-18  Bruno Haible  <bruno@clisp.org>
52045
52046         * modules/propername: New file, from GNU gettext.
52047         * lib/propername.h: New file, from GNU gettext.
52048         * lib/propername.c: New file, from GNU gettext.
52049         * MODULES.html.sh (Internationalization functions): Add propername.
52050
52051 2008-05-16  Jim Meyering  <meyering@redhat.com>
52052             Bruno Haible  <bruno@clisp.org>
52053
52054         Avoid some warnings from "gcc -Wshadow".
52055         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
52056
52057 2008-05-15  Eric Blake  <ebb9@byu.net>
52058
52059         Extend previous patch to cygwin 1.7.0.
52060         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
52061         fast implementation in cygwin >= 1.7.0.
52062         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52063         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52064
52065 2008-05-15  Bruno Haible  <bruno@clisp.org>
52066
52067         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
52068         implementation in glibc >= 2.9.
52069         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52070         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52071
52072 2008-05-15  Bruno Haible  <bruno@clisp.org>
52073
52074         * MODULES.html.sh (Internationalization functions): Remove linebreak.
52075         (Unicode string functions): Add unilbrk/*.
52076         Reported by Karl Berry.
52077
52078 2008-05-15  Eric Blake  <ebb9@byu.net>
52079
52080         Fix violation of <stdbool.h> replacement in regex.
52081         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
52082         * lib/regexec.c (re_search_internal): Likewise.
52083         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
52084
52085 2008-05-15  Jim Meyering  <meyering@redhat.com>
52086
52087         avoid distracting test output when git or cvs is not found
52088         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
52089         * tests/test-vc-list-files-git.sh: Likewise.
52090
52091 2008-05-15  Eric Blake  <ebb9@byu.net>
52092
52093         Glibc finally accepted the memmem speedup code, bugzilla #5514.
52094         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
52095         glibc version.
52096         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
52097         * doc/posix-functions/strstr.texi (strstr): Likewise.
52098         * lib/str-two-way.h (MAX): Sychronize with glibc.
52099
52100 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
52101
52102         * lib/regcomp.c (optimize_utf8): Add a note on why we test
52103         opr.ctx_type.
52104         (calc_first): Initialize constraint field.
52105         (duplicate_node_closure): Use it instead of special casing ANCHORS.
52106         Fix grammar.
52107         (duplicate_node): Merge constraint field for all node types.
52108         (calc_eclosure_iter): Look at constraint field for all node types.
52109         * lib/regex_internal.c (create_cd_newstate): Don't look at
52110         opr.ctx_type.
52111
52112 2008-05-14  Bruno Haible  <bruno@clisp.org>
52113
52114         Help GCC to do better code generation.
52115         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
52116         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
52117         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
52118         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
52119         Declare with attribute 'malloc' if supported.
52120
52121 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
52122
52123         use "echo STR|wc -c" rather than unportable "expr length STR"
52124         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
52125         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
52126
52127 2008-05-14  Jim Meyering  <meyering@redhat.com>
52128
52129         use dd ibs=$n count=1 ... rather than less-portable head -c$n
52130         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
52131         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
52132         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
52133         via Collin Lasse.
52134
52135 2008-05-14  Eric Blake  <ebb9@byu.net>
52136
52137         Avoid quadratic growth in gl_LIBSOURCES.
52138         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
52139         Suggested by Bruno Haible.
52140
52141         Test xmemdup0.
52142         * modules/xmemdup0-tests: New file.
52143         * tests/test-xmemdup0.c: Likewise.
52144
52145 2008-05-13  Eric Blake  <ebb9@byu.net>
52146
52147         Split xmemdup0 into its own module.
52148         * modules/xmemdup0: New file.
52149         * lib/xmemdup0.h: Likewise.
52150         * lib/xmemdup0.c: Likewise.
52151         * MODULES.html.sh (Memory management functions): Add xmemdup0.
52152         * lib/xalloc.h (xmemdup0): Remove.
52153         * lib/xmalloc.c (xmemdup0): Likewise.
52154
52155 2008-05-13  Eric Blake  <ebb9@byu.net>
52156             Bruno Haible  <bruno@clisp.org>
52157
52158         Reduce number of forks required during autoconf.
52159         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
52160         and gl_LIBSOURCES_DIR.
52161         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
52162         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
52163         m4_syscmd per file.
52164         <m4_foreach_w>: Move...
52165         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
52166
52167 2008-05-13  Eric Blake  <ebb9@byu.net>
52168
52169         * gnulib-tool: Fix various comment typos.
52170
52171 2008-05-12  Bruno Haible  <bruno@clisp.org>
52172
52173         Tailor the linebreaking algorithm.
52174         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
52175
52176 2008-05-12  Bruno Haible  <bruno@clisp.org>
52177
52178         Update to Unicode 5.0.0.
52179         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52180         LBP_JV, LBP_JT. Redistribute values.
52181         (unilbrk_table): Change size.
52182         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
52183         Unicode TR#14 rev. 22.
52184         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52185         LBP_JV, LBP_JT. Redistribute values.
52186         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
52187         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
52188         Update.
52189         * lib/unilbrk/lbrkprop1.h: Regenerated.
52190         * lib/unilbrk/lbrkprop2.h: Regenerated.
52191         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
52192         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
52193         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
52194         Likewise.
52195         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
52196         Likewise.
52197         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
52198         result.
52199         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
52200         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
52201         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
52202         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
52203         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
52204         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
52205
52206 2008-05-11  Bruno Haible  <bruno@clisp.org>
52207
52208         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
52209
52210 2008-05-11  Bruno Haible  <bruno@clisp.org>
52211
52212         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
52213         * modules/unilbrk/gen-lbrk: New file.
52214
52215 2008-05-11  Bruno Haible  <bruno@clisp.org>
52216
52217         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
52218         * m4/sha512.m4 (gl_SHA512): Likewise.
52219
52220 2008-05-11  Jim Meyering  <meyering@redhat.com>
52221
52222         New modules: crypto/sha256, crypto/sha512 (from coreutils)
52223         * modules/crypto/sha256: New file.
52224         * modules/crypto/sha512: Likewise.
52225         * lib/sha256.c: Likewise.
52226         * lib/sha256.h: Likewise.
52227         * lib/sha512.c: Likewise.
52228         * lib/sha512.h: Likewise.
52229         * lib/u64.h: Likewise.
52230         * m4/sha256.m4: Likewise.
52231         * m4/sha512.m4: Likewise.
52232         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
52233
52234 2008-05-10  Bruno Haible  <bruno@clisp.org>
52235
52236         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
52237         (Input/Output <stdio.h>): Add xprintf.
52238         (Signal handling <signal.h>): Add strsignal.
52239         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
52240         (Core language properties): Add func.
52241         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
52242         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
52243         strings.
52244         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
52245         (Input/output): New section.
52246         (File system functions): Add openat-die, stat-macros.
52247         (Networking functions): Add sockets.
52248         (Unicode string functions): Add unictype/*.
52249         (Support for building libraries and executables): Add gperf.
52250         (Support for building documentation): Add agpl-3.0.
52251         (Misc): Add nocrash.
52252
52253 2008-05-10  Bruno Haible  <bruno@clisp.org>
52254
52255         * modules/unictype/gen-ctype: New file.
52256
52257 2008-05-10  Jim Meyering  <meyering@redhat.com>
52258
52259         Make chdir-safer.c more efficient on a system with no symlinks.
52260         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
52261         also if ELOOP is zero.  Suggested by Bruno Haible.
52262
52263         Make chdir-safer.c slightly safer.
52264         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
52265         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
52266
52267         Avoid compile failure on systems without ELOOP (like mingw).
52268         * lib/chdir-safer.c (ELOOP): Define if not already defined.
52269         Reported by Bruno Haible.
52270
52271 2008-05-10  Bruno Haible  <bruno@clisp.org>
52272
52273         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
52274         (is_utf8_encoding): Use a case-insensitive comparison.
52275         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
52276         streq.
52277
52278 2008-05-10  Bruno Haible  <bruno@clisp.org>
52279
52280         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
52281         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
52282         * lib/unilbrk/ulc-common.h (iconv_string_length,
52283         iconv_string_keeping_offsets): Remove declarations.
52284         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
52285         Don't include <iconv.h>, streq.h, xsize.h.
52286         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
52287         conversion.
52288         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
52289         <iconv.h>, streq.h, xsize.h.
52290         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
52291         conversion.
52292         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
52293         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
52294         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
52295         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
52296
52297 2008-05-10  Bruno Haible  <bruno@clisp.org>
52298
52299         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
52300         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
52301
52302         * modules/unilbrk/u32-width-linebreaks-tests: New file.
52303         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
52304
52305         * modules/unilbrk/u16-width-linebreaks-tests: New file.
52306         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
52307
52308         * modules/unilbrk/u8-width-linebreaks-tests: New file.
52309         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
52310
52311         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
52312         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
52313
52314         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
52315         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
52316
52317         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
52318         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
52319
52320         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
52321         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
52322
52323 2008-05-10  Bruno Haible  <bruno@clisp.org>
52324
52325         Split up 'linebreak' module.
52326         * lib/unilbrk.h: New file, based on lib/linebreak.h.
52327         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
52328         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
52329         modifications.
52330         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
52331         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
52332         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
52333         lib/linebreak.c.
52334         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
52335         lib/linebreak.c.
52336         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
52337         lib/linebreak.c.
52338         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
52339         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
52340         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
52341         lib/linebreak.c.
52342         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
52343         lib/linebreak.c.
52344         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
52345         lib/linebreak.c.
52346         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
52347         lib/linebreak.c.
52348         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
52349         lib/linebreak.c.
52350         * modules/unilbrk/base: New file.
52351         * modules/unilbrk/tables: New file.
52352         * modules/unilbrk/u8-possible-linebreaks: New file.
52353         * modules/unilbrk/u16-possible-linebreaks: New file.
52354         * modules/unilbrk/u32-possible-linebreaks: New file.
52355         * modules/unilbrk/ulc-common: New file.
52356         * modules/unilbrk/ulc-possible-linebreaks: New file.
52357         * modules/unilbrk/u8-width-linebreaks: New file.
52358         * modules/unilbrk/u16-width-linebreaks: New file.
52359         * modules/unilbrk/u32-width-linebreaks: New file.
52360         * modules/unilbrk/ulc-width-linebreaks: New file.
52361         * lib/linebreak.h: Remove file.
52362         * lib/linebreak.c: Remove file.
52363         * m4/linebreak.m4: Remove file.
52364         * modules/linebreak: Remove file.
52365         * NEWS: Mention the changes.
52366
52367 2008-05-09  Eric Blake  <ebb9@byu.net>
52368
52369         Add xmemdup0.
52370         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
52371         implementation.
52372         * lib/xmalloc.c (xmemdup0): New C implementation.
52373
52374 2008-05-08  Bruno Haible  <bruno@clisp.org>
52375
52376         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
52377
52378 2008-05-07  Eric Blake  <ebb9@byu.net>
52379
52380         Support cross-compilation of <wctype.h>.
52381         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
52382         AC_CACHE_CHECK.
52383
52384 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
52385
52386         * build-aux/vc-list-files: Add support for bzr.
52387
52388 2008-05-03  Jim Meyering  <meyering@redhat.com>
52389
52390         avoid failed assertion with tight malloc
52391         * tests/test-getndelim2.c: Correct an off-by-one assertion.
52392
52393 2008-05-03  Simon Josefsson  <simon@josefsson.org>
52394
52395         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
52396         are needed from arpa/inet.h.
52397         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
52398         Reported by Bruno Haible.
52399
52400 2008-05-02  Jim Meyering  <meyering@redhat.com>
52401
52402         avoid compilation error on FreeBSD 6
52403         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
52404
52405 2008-05-01  Jim Meyering  <meyering@redhat.com>
52406
52407         useless-if-before-free: correct --help's exit status description
52408         * build-aux/useless-if-before-free (usage): Like grep, exit 0
52409         for one or more matches, etc.  Reported by Bruno Haible.
52410
52411         vc-list-files: make the stand-alone gnulib test work
52412         * modules/vc-list-files-tests (configure.ac):
52413         Define and AC_SUBST abs_aux_dir.
52414         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
52415         $(abs_top_srcdir) to each script and having each of them
52416         duplicate the work of setting PATH, set PATH here, using
52417         the new variable, abs_aux_dir instead.
52418         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
52419         * tests/test-vc-list-files-git.sh: Likewise.
52420         Reported by Bruno Haible.
52421
52422 2008-05-01  Bruno Haible  <bruno@clisp.org>
52423
52424         * lib/getndelim2.c (getndelim2): Fix newsize computation during
52425         reallocation. Rename 'done' to 'found_delimiter'.
52426
52427 2008-05-01  Jim Meyering  <meyering@redhat.com>
52428
52429         vc-list-files: accommodate /bin/sh like the one from Solaris 10
52430         * build-aux/vc-list-files: Use `...`, not $(...).
52431
52432 2008-04-30  Jim Meyering  <meyering@redhat.com>
52433
52434         add tests for vc-list-files
52435         * modules/vc-list-files-tests: New module.
52436         * tests/test-vc-list-files-cvs.sh: New file.
52437         * tests/test-vc-list-files-git.sh: New file.
52438
52439         avoid a warning from gcc
52440         * lib/getndelim2.c (IF_LINT): Define.
52441         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
52442
52443         vc-list-files: work properly with build-aux/cvsu, too
52444         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
52445         to all cvs-based clauses.
52446
52447         vc-list-files: work properly in the CVS+awk case, too
52448         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
52449
52450         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
52451         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
52452         take more than one file argument, so .  Add quotes, just in case $dir
52453         ever contains a shell meta-character.  Prompted by Soren Hansen in
52454         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
52455
52456 2008-04-29  Eric Blake  <ebb9@byu.net>
52457
52458         Optimize getndelim2 to use block operations when possible.
52459         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
52460         freadseek, and memchr2.
52461         * lib/getndelim2.c (getndelim2): Use them for block reads.
52462
52463 2008-04-29  Bruno Haible  <bruno@clisp.org>
52464
52465         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
52466         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52467         * modules/inet_ntop (Depends-on): Add extensions.
52468         * modules/inet_pton (Depends-on): Likewise.
52469         Reported by Simon Josefsson.
52470
52471 2008-04-29  Jim Meyering  <meyering@redhat.com>
52472
52473         When the is more than one match in a block, match all of them.
52474         * build-aux/useless-if-before-free: Iterate through each block
52475         until there are no more matches.
52476
52477         Fix broken useless-if-before-free script.
52478         * build-aux/useless-if-before-free: Fix typo: missing "?" after
52479         the expression to match cast of argument to free-like function.
52480
52481 2008-04-29  Eric Blake  <ebb9@byu.net>
52482
52483         Use new header.
52484         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
52485
52486 2008-04-29  Jim Meyering  <meyering@redhat.com>
52487
52488         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
52489         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
52490         by gnulib to exist and to declare e.g., inet_ntop.
52491         Don't include "inet_ntop.h", now removed.
52492
52493         * m4/arpa_inet_h.m4: Remove trailing blanks.
52494
52495 2008-04-29  Eric Blake  <ebb9@byu.net>
52496
52497         Silence valgrind on safe reads beyond potential array bounds.
52498         * lib/rawmemchr.valgrind: New file.
52499         * lib/strchrnul.valgrind: Likewise.
52500         * modules/rawmemchr (Files): Distribute new file.
52501         * modules/strchrnul (Files): Likewise.
52502         Suggested by Bruno Haible.
52503
52504 2008-04-29  Bruno Haible  <bruno@clisp.org>
52505
52506         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
52507         (inet_ntop, inet_pton): Change portability warning's wording.
52508         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
52509         Invoke gl_CHECK_NEXT_HEADERS.
52510         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
52511         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
52512         set ARPA_INET_H.
52513         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52514         * modules/arpa_inet (Description): No longer only for systems that
52515         lack it.
52516         (Depends-on): Add include_next.
52517         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
52518         HAVE_ARPA_INET_H.
52519
52520 2008-04-29  Jim Meyering  <meyering@redhat.com>
52521
52522         * modules/mkdir (License): Re-license as LGPLv2+.
52523
52524 2008-04-29  Bruno Haible  <bruno@clisp.org>
52525
52526         * modules/rawmemchr (Maintainer): Set to Eric.
52527         * modules/strchrnul (Maintainer): Likewise.
52528
52529 2008-04-29  Simon Josefsson  <simon@josefsson.org>
52530
52531         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
52532         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
52533
52534         * modules/arpa_inet (arpa/inet.h): Use them.
52535
52536 2008-04-28  Eric Blake  <ebb9@byu.net>
52537
52538         Test getndelim2.
52539         * modules/getndelim2-tests: New file.
52540         * tests/test-getndelim2.c: Likewise.
52541         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
52542         stream.
52543         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
52544
52545         * MODULES.html.sh: Document new module.
52546
52547 2008-04-20  Bruno Haible  <bruno@clisp.org>
52548
52549         * lib/c-stack.c (die): Use raise.
52550         * modules/c-stack (Depends-on): Add raise.
52551
52552 2008-04-28  Bruno Haible  <bruno@clisp.org>
52553
52554         Expect rpmatch to be declared.
52555         * lib/yesno.c (rpmatch): Remove declaration.
52556
52557         Declare rpmatch.
52558         * lib/stdlib.in.h (rpmatch): New declaration.
52559         * lib/rpmatch.c: Include <stdlib.h> first.
52560         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
52561         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
52562         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
52563         HAVE_RPMATCH.
52564         * modules/rpmatch (Depends-on): Add stdlib, extensions.
52565         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52566         (Include): Set to <stdlib.h>.
52567         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
52568         HAVE_RPMATCH.
52569         * NEWS: Document the change.
52570
52571 2008-04-28  Bruno Haible  <bruno@clisp.org>
52572
52573         Change rpmatch to use nl_langinfo when appropriate.
52574         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
52575         (N_): New macro.
52576         (localized_pattern): New function/macro.
52577         (try): Remove match, nomatch arguments. Copy the pattern into safe
52578         memory before caching it.
52579         (rpmatch): Use localized_pattern. Add translator comments.
52580         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
52581         Suggested by Eric Blake.
52582         * modules/rpmatch (Depends-on): Add stdbool.
52583
52584 2008-04-28  Eric Blake  <ebb9@byu.net>
52585
52586         Add rawmemchr module, matching glibc.
52587         * modules/string (Makefile.am): New indicator.
52588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
52589         * lib/string.in.h (rawmemchr): Declare when appropriate.
52590         * modules/rawmemchr: New file.
52591         * m4/rawmemchr.m4: Likewise.
52592         * lib/rawmemchr.c: Likewise.
52593         * modules/rawmemchr-tests: Likewise.
52594         * tests/test-rawmemchr.c: Likewise.
52595         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
52596         module.
52597         * modules/strchrnul (Depends-on): Add rawmemchr.
52598         * lib/strchrnul.c (strchrnul): Optimize a corner case.
52599
52600         Whitespace cleanup.
52601         * tests/test-strchrnul.c: Reindent.
52602         * lib/strchrnul.c: Likewise.
52603
52604         Optimize and test strchrnul.
52605         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
52606         * modules/strchrnul-tests: New file.
52607         * tests/test-strchrnul.c: Likewise.
52608
52609         Remove intprops dependency.
52610         * modules/memchr (Depends-on): Remove intprops.
52611         * modules/memrchr (Depends-on): Likewise.
52612         * modules/memchr2 (Depends-on): Likewise.
52613         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
52614         * lib/memrchr.c (__memrchr): Likewise.
52615         * lib/memrchr2.c (memchr2): Likewise.
52616         Reported by Simon Josefsson.
52617
52618 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52619
52620         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
52621         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52622
52623 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52624
52625         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
52626
52627         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
52628
52629         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
52630
52631         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
52632         declarations.
52633         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
52634
52635         * m4/inet_pton.m4: Don't check for header files.
52636
52637         * m4/inet_ntop.m4: Don't check for header files.
52638
52639 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52640
52641         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
52642         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
52643         trigger for cygwin).
52644         Reported by Bruno Haible  <bruno@clisp.org>.
52645
52646 2008-04-28  Bruno Haible  <bruno@clisp.org>
52647
52648         * doc/posix-functions/strdup.texi: Mention mingw problem.
52649
52650 2008-04-27  Bruno Haible  <bruno@clisp.org>
52651
52652         * modules/stat-time-tests (Depends-on): Add sleep.
52653         * tests/test-stat-time.c (force_unlink): New function.
52654         (cleanup): Use it.
52655         (test_mtime): Remove the ctime related tests.
52656         (test_ctime): New function, containing the ctime related tests.
52657         (main): Call test_ctime, except on native Windows platforms.
52658
52659 2008-04-27  Bruno Haible  <bruno@clisp.org>
52660
52661         * lib/rpmatch.c (rpmatch): Add some comments.
52662         Reported by James Youngman <jay@gnu.org>.
52663
52664 2008-04-27  Bruno Haible  <bruno@clisp.org>
52665
52666         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
52667         quiet NaNs.
52668
52669 2008-04-27  Bruno Haible  <bruno@clisp.org>
52670
52671         Make test-yesno.sh work on mingw.
52672         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
52673         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
52674         (main): Set stdin to binary mode.
52675         * modules/yesno-tests (Depends-on): Add binary-io.
52676
52677 2008-04-27  Bruno Haible  <bruno@clisp.org>
52678
52679         Fix 'isfinite' on x86, x86_64, ia64 platforms.
52680         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
52681         argument that lie outside the IEEE 854 domain.
52682         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
52683         (gl_ISFINITE): Use it.
52684         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
52685
52686 2008-04-27  Bruno Haible  <bruno@clisp.org>
52687
52688         Allow local renaming in config.h.
52689         * lib/memrchr.c (memrchr): Don't undefine outside libc.
52690
52691 2008-04-27  Bruno Haible  <bruno@clisp.org>
52692
52693         * lib/memchr.c (__memchr): Change type of 'i'.
52694         * lib/memchr2.c (memchr2): Likewise.
52695
52696 2008-04-26  Eric Blake  <ebb9@byu.net>
52697         and Bruno Haible  <bruno@clisp.org>
52698
52699         Optimize and test memrchr.
52700         * modules/memrchr (Depends-on): Add intprops.
52701         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
52702         * modules/memrchr-tests: New file.
52703         * tests/test-memrchr.c: New file.
52704
52705 2008-04-26  Bruno Haible  <bruno@clisp.org>
52706
52707         Add tentative support for DragonFly BSD.
52708         * lib/stdio-impl.h: Add macros for DragonFly BSD.
52709         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
52710         fp.
52711         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52712         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
52713         * lib/fpurge.c (fpurge): Likewise.
52714         * lib/freadable.c (freaadable): Likewise.
52715         * lib/freadahead.c (freadahead): Likewise.
52716         * lib/freading.c (freading): Likewise.
52717         * lib/freadptr.c (freadptr): Likewise.
52718         * lib/freadseek.c (freadptrinc): Likewise.
52719         * lib/fseeko.c (fseeko): Likewise.
52720         * lib/fseterr.c (fseterr): Likewise.
52721         * lib/fwritable.c (fwritable): Likewise.
52722         * lib/fwriting.c (fwriting): Likewise.
52723
52724 2008-04-26  Bruno Haible  <bruno@clisp.org>
52725
52726         * lib/stdio-impl.h: New file.
52727         * lib/fbufmode.c: Include stdio-impl.h.
52728         (fbufmode): Use fp_, remove redundant #defines.
52729         * lib/fflush.c: Include stdio-impl.h.
52730         (clear_ungetc_buffer): Remove redundant #defines.
52731         * lib/fpurge.c: Include stdio-impl.h.
52732         (fpurge): Remove redundant #defines.
52733         * lib/freadable.c: Include stdio-impl.h.
52734         (freadable): Remove redundant #defines.
52735         * lib/freadahead.c: Include stdio-impl.h.
52736         (freadahead): Remove redundant #defines.
52737         * lib/freading.c: Include stdio-impl.h.
52738         (freading): Remove redundant #defines.
52739         * lib/freadptr.c: Include stdio-impl.h.
52740         (freadptr): Remove redundant #defines.
52741         * lib/freadseek.c: Include stdio-impl.h.
52742         (freadptrinc): Remove redundant #defines.
52743         * lib/fseeko.c: Include stdio-impl.h.
52744         (rpl_fseeko): Remove redundant #defines.
52745         * lib/fseterr.c: Include stdio-impl.h.
52746         (fseterr): Remove redundant #defines.
52747         * lib/fwritable.c: Include stdio-impl.h.
52748         (fwritable: Remove redundant #defines.
52749         * lib/fwriting.c: Include stdio-impl.h.
52750         (fwriting): Remove redundant #defines.
52751         * modules/fbufmode (Files): Add lib/stdio-impl.h.
52752         * modules/fflush (Files): Likewise.
52753         * modules/fpurge (Files): Likewise.
52754         * modules/freadable (Files): Likewise.
52755         * modules/freadahead (Files): Likewise.
52756         * modules/freading (Files): Likewise.
52757         * modules/freadptr (Files): Likewise.
52758         * modules/freadseek (Files): Likewise.
52759         * modules/fseeko (Files): Likewise.
52760         * modules/fseterr (Files): Likewise.
52761         * modules/fwritable (Files): Likewise.
52762         * modules/fwriting (Files): Likewise.
52763
52764 2008-04-26  Bruno Haible  <bruno@clisp.org>
52765
52766         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52767         restore_seek_optimization, update_fpos_cache): New functions, extracted
52768         from rpl_fflush.
52769         (rpl_fflush): Use them.
52770         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
52771         (gl_REPLACE_FFLUSH): Use it.
52772
52773 2008-04-26  Bruno Haible  <bruno@clisp.org>
52774
52775         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
52776         on Solaris.
52777         * tests/test-xstrtoimax.sh: Likewise.
52778         * tests/test-xstrtoumax.sh: Likewise.
52779         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52780
52781 2008-04-26  Bruno Haible  <bruno@clisp.org>
52782
52783         * modules/memchr-tests: New file.
52784         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
52785
52786 2008-04-26  Eric Blake  <ebb9@byu.net>
52787             Bruno Haible  <bruno@clisp.org>
52788
52789         * lib/memchr.c: Include intprops.h.
52790         (__memchr): Optimize parallel detection of matching bytes. Rename local
52791         variables. Add explanatory comments.
52792
52793 2008-04-26  Bruno Haible  <bruno@clisp.org>
52794
52795         Fix module 'memchr', broken since 2000-10-28.
52796         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
52797
52798 2008-04-26  Bruno Haible  <bruno@clisp.org>
52799
52800         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
52801         comments.
52802
52803 2008-04-25  Eric Blake  <ebb9@byu.net>
52804
52805         Use native fstatat on cygwin 1.7.0.
52806         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
52807         first.
52808
52809 2008-04-23  Eric Blake  <ebb9@byu.net>
52810
52811         Improve memchr2 performance.
52812         * lib/memchr2.c (memchr2): Further optimize parallel detection of
52813         NUL bytes.
52814         * modules/memchr2 (Depends-on): Use intprops.h.
52815
52816 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52817
52818         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
52819         an inline function instead of a CPP macro.  Patch by Ben Pfaff
52820         <blp@cs.stanford.edu>.
52821
52822 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52823
52824         * lib/arpa_inet.in.h: New file.
52825
52826         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
52827         (Makefile.am): Sed in substitute header file.
52828
52829         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
52830         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
52831
52832         * modules/inet_ntop (configure.ac): Use
52833         gl_ARPA_INET_MODULE_INDICATOR.
52834
52835         * modules/inet_pton (configure.ac): Use
52836         gl_ARPA_INET_MODULE_INDICATOR.
52837
52838 2008-04-22  Jim Meyering  <meyering@redhat.com>
52839
52840         * modules/verify (License): Re-license as LGPLv2+.
52841
52842 2008-04-22  Simon Josefsson  <simon@josefsson.org>
52843
52844         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
52845         parameter to void* as per POSIX standard (MinGW uses char*).
52846
52847 2008-04-21  Bruno Haible  <bruno@clisp.org>
52848
52849         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
52850         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
52851         Define to replacements if REPLACE_ISWCNTRL is 1.
52852         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
52853         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
52854         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
52855         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
52856         what it fixes.
52857         * doc/posix-functions/iswalpha.texi: Likewise.
52858         * doc/posix-functions/iswblank.texi: Likewise.
52859         * doc/posix-functions/iswcntrl.texi: Likewise.
52860         * doc/posix-functions/iswdigit.texi: Likewise.
52861         * doc/posix-functions/iswgraph.texi: Likewise.
52862         * doc/posix-functions/iswlower.texi: Likewise.
52863         * doc/posix-functions/iswprint.texi: Likewise.
52864         * doc/posix-functions/iswpunct.texi: Likewise.
52865         * doc/posix-functions/iswspace.texi: Likewise.
52866         * doc/posix-functions/iswupper.texi: Likewise.
52867         * doc/posix-functions/iswxdigit.texi: Likewise.
52868         Reported by Alain Guibert.
52869
52870 2008-04-21  Bruno Haible  <bruno@clisp.org>
52871
52872         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
52873         Patch by Alain Guibert.
52874
52875 2008-04-21  Bruno Haible  <bruno@clisp.org>
52876
52877         Fix test failures on mingw.
52878         * tests/test-xstrtol.c (print_no_progname): New function.
52879         (main): Install it in error_print_progname hook.
52880         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
52881         * tests/test-xstrtoimax.sh: Likewise.
52882         * tests/test-xstrtoumax.sh: Likewise.
52883
52884 2008-04-21  Bruno Haible  <bruno@clisp.org>
52885
52886         Fix test failure on mingw.
52887         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
52888
52889 2008-04-21  Bruno Haible  <bruno@clisp.org>
52890
52891         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
52892         Actually assign a value.
52893
52894 2008-04-20  Bruno Haible  <bruno@clisp.org>
52895
52896         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
52897         take 2.
52898         * lib/canonicalize.c (canonicalize_file_name): Elide if the
52899         'canonicalize-lgpl' module is also used.
52900         * lib/canonicalize-lgpl.c: Undo last change.
52901         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
52902
52903 2008-04-20  Bruno Haible  <bruno@clisp.org>
52904
52905         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
52906         config.h. Provide _mkdir based fallback for mingw.
52907         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
52908         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
52909         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
52910         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
52911         rather than defining mkdir in config.h.
52912         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
52913         (gl_SYS_STAT_H_DEFAULTS): New macro.
52914         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
52915         HAVE_IO_H any more.
52916         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
52917         HAVE_DECL_MKDIR and HAVE_IO_H.
52918
52919 2008-04-20  Bruno Haible  <bruno@clisp.org>
52920
52921         * lib/isapipe.c: Port to native Windows platforms.
52922
52923 2008-04-20  Bruno Haible  <bruno@clisp.org>
52924
52925         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
52926
52927 2008-04-21  Eric Blake  <ebb9@byu.net>
52928
52929         Work around preprocessors that don't handle UINTMAX_MAX.
52930         * lib/memchr2.c (memchr2): Avoid embedded #if.
52931         Reported by Alain Guibert, fix suggested by Bruno Haible.
52932
52933 2008-04-21  Simon Josefsson  <simon@josefsson.org>
52934
52935         * doc/posix-functions/strftime.texi (strftime): Explain better
52936         Windows incompatibility.  Suggested by Micah Cowan
52937         <micah@cowan.name>.
52938
52939 2008-04-20  Bruno Haible  <bruno@clisp.org>
52940
52941         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
52942         unistr/u8-mblen.
52943
52944 2008-04-20  Bruno Haible  <bruno@clisp.org>
52945
52946         Fix test failure on platforms with non-GNU iconv.
52947         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
52948         (U_TO_U8): Use it, rather than u16_to_u8.
52949         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
52950         units at the end of the input string.
52951         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
52952
52953 2008-04-20  Bruno Haible  <bruno@clisp.org>
52954
52955         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
52956         when the resulting length is 0.
52957         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
52958
52959 2008-04-20  Bruno Haible  <bruno@clisp.org>
52960
52961         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
52962         works.
52963         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
52964
52965 2008-04-20  Bruno Haible  <bruno@clisp.org>
52966
52967         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
52968         * modules/tsearch-tests (configure.ac): Test for initstate function.
52969
52970 2008-04-20  Bruno Haible  <bruno@clisp.org>
52971
52972         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
52973         for nlink_t if missing.
52974         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
52975
52976 2008-04-19  Bruno Haible  <bruno@clisp.org>
52977
52978         Work around snprintf bug on Linux libc5.
52979         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
52980         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52981         gl_SNPRINTF_SIZE1.
52982         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52983         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
52984         that test failed.
52985         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52986         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
52987         * modules/snprintf (Files): Add m4/printf.m4.
52988         * modules/vsnprintf (Files): Likewise.
52989         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
52990         * doc/posix-functions/vsnprintf.texi: Likewise.
52991
52992 2008-04-19  Bruno Haible  <bruno@clisp.org>
52993
52994         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
52995         from 0.0058 to less than 10^-7.
52996
52997 2008-04-19  Bruno Haible  <bruno@clisp.org>
52998
52999         Fix rounding when a precision is given.
53000         * lib/vasnprintf.c (is_borderline): New function.
53001         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
53002         9...9x.
53003         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
53004         %e, %g.
53005         * tests/test-vasprintf-posix.c (test_function): Likewise.
53006         * tests/test-snprintf-posix.h (test_function): Likewise.
53007         * tests/test-sprintf-posix.h (test_function): Likewise.
53008         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
53009         * tests/test-printf-posix.h (test_function): Likewise.
53010         * tests/test-printf-posix.output: Update.
53011         Reported by John Darrington <john@darrington.wattle.id.au> via
53012         Ben Pfaff <blp@cs.stanford.edu>.
53013
53014 2008-04-18  Simon Josefsson  <simon@josefsson.org>
53015
53016         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
53017         Suggested by Bruno Haible <bruno@clisp.org>.
53018
53019 2008-04-17  Bruno Haible  <bruno@clisp.org>
53020
53021         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
53022         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
53023         implementation.
53024         Patch by Bruce Merry <bmerry@gmail.com>.
53025
53026 2008-04-17  Simon Josefsson  <simon@josefsson.org>
53027
53028         * doc/posix-functions/strftime.texi (strftime): Mention that %e
53029         doesn't work under Windows.
53030
53031 2008-04-16  Bruno Haible  <bruno@clisp.org>
53032
53033         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
53034         New macros.
53035         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
53036         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
53037         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
53038         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
53039         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
53040         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
53041         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
53042         macros.
53043         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
53044         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
53045         Northern Sotho, Uighur.
53046
53047 2008-04-16  Bruno Haible  <bruno@clisp.org>
53048
53049         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
53050         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
53051         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
53052         Reported by Daniel Bergström <daniel@octocode.com>.
53053
53054 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
53055             Bruno Haible  <bruno@clisp.org>
53056
53057         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
53058         function.
53059         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
53060         New functions, mostly extracted from gl_locale_name_default.
53061         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
53062
53063 2008-04-16  Eric Blake  <ebb9@byu.net>
53064
53065         Adjust strtod detection to catch glibc 2.7 bug.
53066         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
53067         Reported by John Gatewood Ham.
53068
53069 2008-04-16  Bruno Haible  <bruno@clisp.org>
53070
53071         Add tentative support for Linux libc5.
53072         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
53073         * lib/fpurge.c (fpurge): Likewise.
53074         * lib/freadable.c (freadable): Likewise.
53075         * lib/freadahead.c (freadahead): Likewise.
53076         * lib/freading.c (freading): Likewise.
53077         * lib/freadptr.c (freadptr): Likewise.
53078         * lib/freadseek.c (freadptrinc): Likewise.
53079         * lib/fseeko.c (rpl_fseeko): Likewise.
53080         * lib/fseterr.c (fseterr): Likewise.
53081         * lib/fwritable.c (fwritable): Likewise.
53082         * lib/fwriting.c (fwriting): Likewise.
53083         Reported by Alain Guibert <alguibert+bts@free.fr>.
53084
53085 2008-04-15  Bruno Haible  <bruno@clisp.org>
53086
53087         * modules/mathl (configure.ac): Define module indicator.
53088
53089 2008-04-15  Bruno Haible  <bruno@clisp.org>
53090
53091         * lib/logl.c (logl): Remove unused variables.
53092
53093 2008-04-15  Bruno Haible  <bruno@clisp.org>
53094
53095         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
53096         fails.
53097
53098 2008-04-15  Bruno Haible  <bruno@clisp.org>
53099
53100         * lib/trim.c (trim2): Fix argument of isspace() macro.
53101
53102 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
53103
53104         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
53105         to 0.
53106         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
53107
53108 2008-04-14  Bruno Haible  <bruno@clisp.org>
53109
53110         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
53111         AC_LANG_PROGRAM argument.
53112         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
53113         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
53114         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53115         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53116         * m4/math_h.m4 (gl_MATH_H): Likewise.
53117         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
53118         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53119         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53120         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
53121         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53122         * m4/regex.m4 (gl_REGEX): Likewise.
53123         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
53124         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
53125         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53126         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
53127         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53128         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53129         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53130         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53131
53132 2008-04-14  Jim Meyering  <meyering@redhat.com>
53133
53134         test-strtod: fix typos: s/abs/fabs/
53135         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
53136
53137 2008-04-13  Bruno Haible  <bruno@clisp.org>
53138
53139         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
53140         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
53141         module is also used and while not building the reloc-wrapper.
53142
53143 2008-04-13  Bruno Haible  <bruno@clisp.org>
53144
53145         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
53146
53147 2008-04-13  Bruno Haible  <bruno@clisp.org>
53148
53149         Fix AIX compilation failure introduced on 2008-04-02.
53150         * tests/test-frexp.c (exp): Undefine before redefining.
53151         * tests/test-frexpl.c (exp): Likewise.
53152
53153 2008-04-13  Bruno Haible  <bruno@clisp.org>
53154
53155         Work around a HP-UX stdio bug.
53156         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
53157         * tests/test-ftello.c (main): Likewise.
53158         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
53159         * doc/posix-functions/ftello.texi: Likewise.
53160
53161 2008-04-13  Bruno Haible  <bruno@clisp.org>
53162
53163         Make test-signbit pass on HP-UX/hppa.
53164         * tests/test-signbit.c (minus_zerol): New variable.
53165         (test_signbitl): Use it.
53166
53167 2008-04-13  Bruno Haible  <bruno@clisp.org>
53168
53169         Make truncl work on OSF/1 4.0.
53170         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
53171         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53172         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53173         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
53174         HAVE_DECL_TRUNCL.
53175         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
53176         HAVE_DECL_TRUNCL.
53177         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
53178
53179 2008-04-13  Bruno Haible  <bruno@clisp.org>
53180
53181         * lib/unictype.h: Remove trailing comma from enumeration definitions.
53182
53183 2008-04-13  Bruno Haible  <bruno@clisp.org>
53184
53185         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
53186         expression, so as to avoid HP-UX 11 cc compiler bug.
53187
53188 2008-04-13  Bruno Haible  <bruno@clisp.org>
53189
53190         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
53191
53192 2008-04-13  Bruno Haible  <bruno@clisp.org>
53193
53194         * lib/git-merge-changelog.c: Remove empty declaration outside of
53195         functions.
53196
53197 2008-04-13  Bruno Haible  <bruno@clisp.org>
53198
53199         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
53200
53201 2008-04-13  Bruno Haible  <bruno@clisp.org>
53202
53203         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
53204         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
53205         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
53206         also if it exists but lacks definitions of the SHUT_* macros.
53207         * modules/sys_socket (Description): Update.
53208         Reported by Elbert Pol <e.pol@chello.nl>.
53209
53210 2008-04-13  Bruno Haible  <bruno@clisp.org>
53211
53212         * lib/localcharset.c (OS2): Don't redefine if already defined.
53213         Reported by Elbert Pol <e.pol@chello.nl>.
53214
53215 2008-04-13  Bruno Haible  <bruno@clisp.org>
53216
53217         * lib/binary-io.h [__EMX__]: Include <io.h>.
53218         Reported by Elbert Pol <e.pol@chello.nl>.
53219
53220 2008-04-12  Bruno Haible  <bruno@clisp.org>
53221
53222         * lib/fpucw.h: Enable the definitions also for x86_64.
53223         Needed for NetBSD/x86_64.
53224         Reported by Thomas Klausner <tk@giga.or.at>.
53225
53226 2008-04-12  Bruno Haible  <bruno@clisp.org>
53227
53228         * tests/test-strtod.c: Include isnand.h.
53229         (main): Use isnand instead of isnan.
53230         Reported by Jim Meyering.
53231
53232 2008-04-12  Bruno Haible  <bruno@clisp.org>
53233
53234         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
53235         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
53236
53237 2008-04-12  Jim Meyering  <meyering@redhat.com>
53238
53239         * m4/math_h.m4 (gl_MATH_H): Fix typos.
53240
53241 2008-04-12  Bruno Haible  <bruno@clisp.org>
53242
53243         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
53244         Reported by Elbert Pol <e.pol@chello.nl>.
53245
53246 2008-04-12  Eric Blake  <ebb9@byu.net>
53247
53248         Work around Solaris 10 math.h bug.
53249         * m4/math_h.m4 (gl_MATH_H): Check for bug.
53250         (gl_MATH_H_DEFAULTS): Set up default.
53251         * modules/math (Makefile.am): Replace new indicators.
53252         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
53253         * tests/test-math.c (main): Test this.
53254         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
53255         * doc/posix-headers/math.texi (math.h): Mention bug.
53256         Reported by Nelson H. F. Beebe and Jim Meyering.
53257
53258 2008-04-11  Bruno Haible  <bruno@clisp.org>
53259
53260         Adapt to future versions of Apple GCC.
53261         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
53262         Reported by Peter O'Gorman <peter@pogma.com>.
53263
53264 2008-04-11  Bruno Haible  <bruno@clisp.org>
53265
53266         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
53267
53268 2008-04-11  Bruno Haible  <bruno@clisp.org>
53269
53270         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
53271
53272         * modules/getaddrinfo-tests (Makefile.am): Define
53273         test_getaddrinfo_LDADD.
53274
53275 2008-04-11  Bruno Haible  <bruno@clisp.org>
53276
53277         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
53278         (init): Fix syntax error.
53279         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
53280         is declared.
53281
53282 2008-04-11  Bruno Haible  <bruno@clisp.org>
53283
53284         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
53285         * modules/glob (Depends-on): Add stdbool.
53286
53287 2008-04-11  Bruno Haible  <bruno@clisp.org>
53288
53289         * lib/trim.c: Include <string.h>.
53290
53291 2008-04-11  Eric Blake  <ebb9@byu.net>
53292
53293         Avoid compile failure on OS/2.
53294         * lib/regex_internal.h (internal_function): Disable optimization
53295         on OS/2 (__EMX__), where it caused compiler error.
53296         Reported by Elbert Pol.
53297
53298 2008-04-11  Bruno Haible  <bruno@clisp.org>
53299
53300         Flush the standard error stream before aborting. Needed on mingw.
53301         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
53302         * tests/test-array_list.c (ASSERT): Likewise.
53303         * tests/test-array_oset.c (ASSERT): Likewise.
53304         * tests/test-avltree_list.c (ASSERT): Likewise.
53305         * tests/test-avltree_oset.c (ASSERT): Likewise.
53306         * tests/test-avltreehash_list.c (ASSERT): Likewise.
53307         * tests/test-binary-io.c (ASSERT): Likewise.
53308         * tests/test-byteswap.c (ASSERT): Likewise.
53309         * tests/test-c-ctype.c (ASSERT): Likewise.
53310         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
53311         * tests/test-c-strcasestr.c (ASSERT): Likewise.
53312         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
53313         * tests/test-c-strstr.c (ASSERT): Likewise.
53314         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
53315         * tests/test-canonicalize.c (ASSERT): Likewise.
53316         * tests/test-carray_list.c (ASSERT): Likewise.
53317         * tests/test-ceilf1.c (ASSERT): Likewise.
53318         * tests/test-ceilf2.c (ASSERT): Likewise.
53319         * tests/test-ceill.c (ASSERT): Likewise.
53320         * tests/test-count-one-bits.c (ASSERT): Likewise.
53321         * tests/test-fbufmode.c (ASSERT): Likewise.
53322         * tests/test-fflush2.c (ASSERT): Likewise.
53323         * tests/test-floorf1.c (ASSERT): Likewise.
53324         * tests/test-floorf2.c (ASSERT): Likewise.
53325         * tests/test-floorl.c (ASSERT): Likewise.
53326         * tests/test-fopen.c (ASSERT): Likewise.
53327         * tests/test-fpending.c (ASSERT): Likewise.
53328         * tests/test-fprintf-posix.c (ASSERT): Likewise.
53329         * tests/test-fpurge.c (ASSERT): Likewise.
53330         * tests/test-freadable.c (ASSERT): Likewise.
53331         * tests/test-freadahead.c (ASSERT): Likewise.
53332         * tests/test-freading.c (ASSERT): Likewise.
53333         * tests/test-freadptr.c (ASSERT): Likewise.
53334         * tests/test-freadptr2.c (ASSERT): Likewise.
53335         * tests/test-freadseek.c (ASSERT): Likewise.
53336         * tests/test-freopen.c (ASSERT): Likewise.
53337         * tests/test-frexp.c (ASSERT): Likewise.
53338         * tests/test-frexpl.c (ASSERT): Likewise.
53339         * tests/test-fseek.c (ASSERT): Likewise.
53340         * tests/test-fseeko.c (ASSERT): Likewise.
53341         * tests/test-fstrcmp.c (ASSERT): Likewise.
53342         * tests/test-ftell.c (ASSERT): Likewise.
53343         * tests/test-ftello.c (ASSERT): Likewise.
53344         * tests/test-func.c (ASSERT): Likewise.
53345         * tests/test-fwritable.c (ASSERT): Likewise.
53346         * tests/test-fwriting.c (ASSERT): Likewise.
53347         * tests/test-getdelim.c (ASSERT): Likewise.
53348         * tests/test-getline.c (ASSERT): Likewise.
53349         * tests/test-i-ring.c (ASSERT): Likewise.
53350         * tests/test-iconv-utf.c (ASSERT): Likewise.
53351         * tests/test-iconv.c (ASSERT): Likewise.
53352         * tests/test-isfinite.c (ASSERT): Likewise.
53353         * tests/test-isnand.c (ASSERT): Likewise.
53354         * tests/test-isnanf.c (ASSERT): Likewise.
53355         * tests/test-isnanl.h (ASSERT): Likewise.
53356         * tests/test-ldexpl.c (ASSERT): Likewise.
53357         * tests/test-linked_list.c (ASSERT): Likewise.
53358         * tests/test-linkedhash_list.c (ASSERT): Likewise.
53359         * tests/test-localename.c (ASSERT): Likewise.
53360         * tests/test-lseek.c (ASSERT): Likewise.
53361         * tests/test-mbscasecmp.c (ASSERT): Likewise.
53362         * tests/test-mbscasestr1.c (ASSERT): Likewise.
53363         * tests/test-mbscasestr2.c (ASSERT): Likewise.
53364         * tests/test-mbscasestr3.c (ASSERT): Likewise.
53365         * tests/test-mbscasestr4.c (ASSERT): Likewise.
53366         * tests/test-mbschr.c (ASSERT): Likewise.
53367         * tests/test-mbscspn.c (ASSERT): Likewise.
53368         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
53369         * tests/test-mbspbrk.c (ASSERT): Likewise.
53370         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
53371         * tests/test-mbsrchr.c (ASSERT): Likewise.
53372         * tests/test-mbsspn.c (ASSERT): Likewise.
53373         * tests/test-mbsstr1.c (ASSERT): Likewise.
53374         * tests/test-mbsstr2.c (ASSERT): Likewise.
53375         * tests/test-mbsstr3.c (ASSERT): Likewise.
53376         * tests/test-memchr2.c (ASSERT): Likewise.
53377         * tests/test-memmem.c (ASSERT): Likewise.
53378         * tests/test-open.c (ASSERT): Likewise.
53379         * tests/test-printf-frexp.c (ASSERT): Likewise.
53380         * tests/test-printf-frexpl.c (ASSERT): Likewise.
53381         * tests/test-printf-posix.c (ASSERT): Likewise.
53382         * tests/test-quotearg.c (ASSERT): Likewise.
53383         * tests/test-rbtree_list.c (ASSERT): Likewise.
53384         * tests/test-rbtree_oset.c (ASSERT): Likewise.
53385         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
53386         * tests/test-round1.c (ASSERT): Likewise.
53387         * tests/test-roundf1.c (ASSERT): Likewise.
53388         * tests/test-roundl.c (ASSERT): Likewise.
53389         * tests/test-signbit.c (ASSERT): Likewise.
53390         * tests/test-sleep.c (ASSERT): Likewise.
53391         * tests/test-snprintf-posix.c (ASSERT): Likewise.
53392         * tests/test-snprintf.c (ASSERT): Likewise.
53393         * tests/test-sprintf-posix.c (ASSERT): Likewise.
53394         * tests/test-stat-time.c (ASSERT): Likewise.
53395         * tests/test-strcasestr.c (ASSERT): Likewise.
53396         * tests/test-strerror.c (ASSERT): Likewise.
53397         * tests/test-striconv.c (ASSERT): Likewise.
53398         * tests/test-striconveh.c (ASSERT): Likewise.
53399         * tests/test-striconveha.c (ASSERT): Likewise.
53400         * tests/test-strsignal.c (ASSERT): Likewise.
53401         * tests/test-strstr.c (ASSERT): Likewise.
53402         * tests/test-strtod.c (ASSERT): Likewise.
53403         * tests/test-trunc1.c (ASSERT): Likewise.
53404         * tests/test-trunc2.c (ASSERT): Likewise.
53405         * tests/test-truncf1.c (ASSERT): Likewise.
53406         * tests/test-truncf2.c (ASSERT): Likewise.
53407         * tests/test-truncl.c (ASSERT): Likewise.
53408         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
53409         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
53410         * tests/test-vasnprintf.c (ASSERT): Likewise.
53411         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
53412         * tests/test-vasprintf.c (ASSERT): Likewise.
53413         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
53414         * tests/test-vprintf-posix.c (ASSERT): Likewise.
53415         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
53416         * tests/test-vsnprintf.c (ASSERT): Likewise.
53417         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
53418         * tests/test-wcwidth.c (ASSERT): Likewise.
53419         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
53420         * tests/test-xprintf-posix.c (ASSERT): Likewise.
53421         * tests/test-xvasprintf.c (ASSERT): Likewise.
53422         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
53423         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
53424         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
53425         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
53426         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
53427         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
53428         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
53429         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
53430         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
53431         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
53432         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
53433         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
53434         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
53435         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
53436         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
53437         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
53438         * tests/unictype/test-block_list.c (ASSERT): Likewise.
53439         * tests/unictype/test-block_of.c (ASSERT): Likewise.
53440         * tests/unictype/test-block_test.c (ASSERT): Likewise.
53441         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
53442         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
53443         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
53444         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
53445         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
53446         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
53447         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
53448         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
53449         * tests/unictype/test-combining.c (ASSERT): Likewise.
53450         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
53451         * tests/unictype/test-digit.c (ASSERT): Likewise.
53452         * tests/unictype/test-mirror.c (ASSERT): Likewise.
53453         * tests/unictype/test-numeric.c (ASSERT): Likewise.
53454         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
53455         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
53456         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
53457         * tests/unictype/test-scripts.c (ASSERT): Likewise.
53458         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
53459         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
53460         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
53461         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
53462         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
53463         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
53464         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
53465         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
53466         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
53467         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
53468         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
53469         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
53470         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
53471         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
53472         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
53473         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
53474         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
53475         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
53476         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
53477         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
53478         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
53479         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
53480         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
53481         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
53482         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
53483         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
53484         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
53485         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
53486         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
53487         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
53488         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
53489         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
53490         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
53491         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
53492         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
53493         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
53494         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
53495         Reported by Eric Blake.
53496
53497 2008-04-11  Bruno Haible  <bruno@clisp.org>
53498
53499         * lib/wchar.in.h: Tweak comment.
53500
53501 2008-04-11  Bruno Haible  <bruno@clisp.org>
53502
53503         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
53504         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
53505         gl_COMMON.
53506         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
53507
53508 2008-04-11  Bruno Haible  <bruno@clisp.org>
53509
53510         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
53511
53512 2008-04-11  Simon Josefsson  <simon@josefsson.org>
53513
53514         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
53515         of attempting to use non-existing /dev/*random.  Based on patch
53516         from Adam Strzelecki <ono@java.pl> in
53517         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
53518
53519 2008-04-08  Bruno Haible  <bruno@clisp.org>
53520
53521         Add tentative support for emx+gcc.
53522         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
53523         * lib/fpurge.c (fpurge): Likewise.
53524         * lib/freadable.c (freadable): Likewise.
53525         * lib/freadahead.c (freadahead): Likewise.
53526         * lib/freading.c (freading): Likewise.
53527         * lib/freadptr.c (freadptr): Likewise.
53528         * lib/freadseek.c (freadptrinc): Likewise.
53529         * lib/fseeko.c (rpl_fseeko): Likewise.
53530         * lib/fseterr.c (fseterr): Likewise.
53531         * lib/fwritable.c (fwritable): Likewise.
53532         * lib/fwriting.c (fwriting): Likewise.
53533         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
53534
53535 2008-04-09  Eric Blake  <ebb9@byu.net>
53536
53537         Avoid some autoconf warnings.
53538         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
53539         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
53540         * m4/afs.m4 (gl_AFS): Likewise.
53541         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
53542         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
53543         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53544         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
53545         (gl_INTEGER_TYPE_SUFFIX): Likewise.
53546         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
53547         (AC_CHECK_DECLS_ONCE): Likewise.
53548         Rename file...
53549         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
53550         gnulib-tool requires autoconf 2.59 or better.
53551         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
53552
53553 2008-04-08  Eric Blake  <ebb9@byu.net>
53554
53555         Use 'git describe --match' if present (added in git 1.5.5).
53556         * build-aux/git-version-gen: Limit result to tags that match 'v*'
53557         if possible.
53558
53559 2008-04-08  Bruno Haible  <bruno@clisp.org>
53560
53561         Add tentative support for OpenServer.
53562         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
53563         _ptr, _cnt.
53564         * lib/fpurge.c (fpurge): Likewise.
53565         * lib/freadable.c (freadable): Likewise.
53566         * lib/freadahead.c (freadahead): Likewise.
53567         * lib/freading.c (freading): Likewise.
53568         * lib/freadptr.c (freadptr): Likewise.
53569         * lib/freadseek.c (freadptrinc): Likewise.
53570         * lib/fseeko.c (rpl_fseeko): Likewise.
53571         * lib/fseterr.c (fseterr): Likewise.
53572         * lib/fwritable.c (fwritable): Likewise.
53573         * lib/fwriting.c (fwriting): Likewise.
53574         Reported by Roger Cornelius <rac@tenzing.org> and
53575         Brian K. White <brian@aljex.com>.
53576
53577 2008-04-06  Jim Meyering  <meyering@redhat.com>
53578
53579         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
53580
53581 2008-04-06  Bruno Haible  <bruno@clisp.org>
53582
53583         Avoid possible error with non-ASCII bytes in UTF-8 locales.
53584         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
53585         * tests/test-printf-posix.sh: Likewise.
53586         * tests/test-vfprintf-posix.sh: Likewise.
53587         * tests/test-vprintf-posix.sh: Likewise.
53588         * tests/test-xprintf-posix.sh: Likewise.
53589
53590 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53591
53592         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
53593         hide error from 'ls', needed on OS/2.
53594         Report by Elbert Pol <elbert.pol@gmail.com>.
53595
53596 2008-04-04  Eric Blake  <ebb9@byu.net>
53597
53598         Make test-fseeko.c failures meaningful.
53599         * tests/test-fseeko.c: Print line number on failure.
53600         * tests/test-fseek.c: Likewise.
53601         Reported by Nelson H. F. Beebe.
53602
53603         Improve strtod bug detection check.
53604         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
53605         required for Solaris 10.
53606         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
53607
53608 2008-04-04  Bruno Haible  <bruno@clisp.org>
53609
53610         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
53611         by m4/setenv.m4.
53612
53613 2008-04-03  Eric Blake  <ebb9@byu.net>
53614
53615         Ensure sane .version contents.
53616         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
53617         version string.
53618         * build-aux/git-version-gen: Improve documentation.
53619
53620         Make GNU make output nicer.
53621         * top/GNUmakefile [!_have-Makefile]: Add dependency on
53622         MAKECMDGOALS to enforce message for all command line targets.  Set
53623         srcdir for use in maint.mk.
53624
53625         Another maintainer tweak.
53626         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
53627         a target that regenerates version.
53628
53629 2008-04-03  Jim Meyering  <meyering@redhat.com>
53630
53631         vc-list-files: don't cause coreutils "make po-check" failure
53632         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
53633
53634 2008-04-03  Eric Blake  <ebb9@byu.net>
53635
53636         Allow VPATH usage of vc-list-files.
53637         * build-aux/vc-list-files (scriptversion): Add timestamp.
53638         (options): Add --help, --version, -C.
53639         (CVS): Support installed cvsu.
53640
53641 2008-04-02  Bruno Haible  <bruno@clisp.org>
53642
53643         Avoid some "statement with no effect" warnings from gcc.
53644         * tests/test-wctype.c (main): Explicitly ignore unused values.
53645         Reported by Jim Meyering.
53646
53647 2008-04-02  Jim Meyering  <meyering@redhat.com>
53648
53649         Avoid some warnings from "gcc -Wshadow".
53650         * tests/test-frexp.c (exp): Define to a different identifier.
53651         * tests/test-frexpl.c (exp): Likewise.
53652
53653 2008-04-03  Jim Meyering  <meyering@redhat.com>
53654
53655         bootstrap: remove dangling *.[ch] symlinks from lib
53656         * build-aux/bootstrap [dangling symlink removal]: Move find's
53657         -depth option to precede all others, to avoid a warning.
53658         Remove *.[ch] files too, and from "$source_base" (usually lib/).
53659
53660 2008-04-02  Bruno Haible  <bruno@clisp.org>
53661
53662         Avoid some warnings from "gcc -Wshadow".
53663         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
53664         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
53665         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
53666         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
53667         Reported by Jim Meyering.
53668
53669 2008-04-01  Bruno Haible  <bruno@clisp.org>
53670
53671         Fix test to work on IRIX 6.5 with cc.
53672         * tests/test-math.c (numeric_equal): New function.
53673         (main): Use it.
53674
53675 2008-04-01  Bruno Haible  <bruno@clisp.org>
53676
53677         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
53678
53679 2008-04-01  Bruno Haible  <bruno@clisp.org>
53680
53681         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
53682         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53683         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
53684         (Depends-on): Remove math.
53685
53686         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
53687         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53688         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
53689         (Depends-on): Remove math.
53690
53691         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
53692         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53693         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
53694         (Depends-on): Remove math.
53695         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
53696         (Depends-on): Remove math.
53697
53698         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
53699         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53700         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
53701         (Depends-on): Remove math.
53702         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
53703         (Depends-on): Remove math.
53704
53705         * tests/test-round1.c: Include nan.h.
53706         (main): Use NaNd instead of NAN.
53707         * modules/round-tests (Files): Add tests/nan.h.
53708
53709         * tests/test-trunc1.c: Include nan.h.
53710         (main): Use NaNd instead of NAN.
53711         * modules/trunc-tests (Files): Add tests/nan.h.
53712
53713         * tests/test-roundf1.c: Include nan.h.
53714         (main): Use NaNf instead of NAN.
53715         * modules/roundf-tests (Files): Add tests/nan.h.
53716
53717         * tests/test-truncf1.c: Include nan.h.
53718         (main): Use NaNf instead of NAN.
53719         * modules/truncf-tests (Files): Add tests/nan.h.
53720
53721         * tests/test-ceilf1.c: Include nan.h.
53722         (main): Use NaNf instead of NAN.
53723         * modules/ceilf-tests (Files): Add tests/nan.h.
53724
53725         * tests/test-floorf1.c: Include nan.h.
53726         (main): Use NaNf instead of NAN.
53727         * modules/floorf-tests (Files): Add tests/nan.h.
53728
53729         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
53730         (main): Use NaNf instead of NAN.
53731         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
53732
53733         * tests/test-isnand.c: Include nan.h instead of <math.h>.
53734         (main): Use NaNd instead of NAN.
53735         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
53736
53737         * tests/test-frexp.c: Include nan.h.
53738         (main): Use NaNd instead of NAN.
53739         * modules/frexp-tests (Files): Add tests/nan.h.
53740
53741         * lib/isnan.c: Don't include <math.h>.
53742         (FUNC): Don't use NAN macro.
53743         * modules/isnand-nolibm (Depends-on): Remove math.
53744         * modules/isnanf-nolibm (Depends-on): Remove math.
53745         * modules/isnanl (Depends-on): Remove math.
53746         * modules/isnanl-nolibm (Depends-on): Remove math.
53747
53748         * tests/nan.h: New file.
53749
53750 2008-04-01  Eric Blake  <ebb9@byu.net>
53751
53752         Fix typos.
53753         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
53754         values to be the right type.
53755
53756         For now, cater to gnulib strtod inaccuracies.
53757         * tests/test-strtod.c (main): Allow 1-ulp error on expected
53758         fractional results.  While not as nice from a QoI perspective, it
53759         is a quicker patch than correctly implementing decimal to binary
53760         rounding.
53761
53762 2008-03-31  Eric Blake  <ebb9@byu.net>
53763
53764         Guarantee a definition of NAN.
53765         * lib/math.in.h (NAN): Define if missing.
53766         * tests/test-math.c (main): Test it.
53767         * doc/posix-headers/math.texi (math.h): Document this.
53768         * lib/isnan.c (rpl_isnand): Use it.
53769         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
53770         * tests/test-floorf1.c (NaN): Likewise.
53771         * tests/test-frexp.c (NaN): Likewise.
53772         * tests/test-isnand.c (NaN): Likewise.
53773         * tests/test-isnanf.c (NaN): Likewise.
53774         * tests/test-round1.c (NaN): Likewise.
53775         * tests/test-roundf1.c (NaN): Likewise.
53776         * tests/test-snprintf-posix.h (NaN): Likewise.
53777         * tests/test-sprintf-posix.h (NaN): Likewise.
53778         * tests/test-trunc1.c (NaN): Likewise.
53779         * tests/test-truncf1.c (NaN): Likewise.
53780         * tests/test-vasnprintf-posix.c (NaN): Likewise.
53781         * tests/test-vasprintf-posix.c (NaN): Likewise.
53782         * modules/isnand-nolibm (Depends-on): Add math.
53783         * modules/isnanf-nolibm (Depends-on): Likewise.
53784         * modules/isnanl (Depends-on): Likewise.
53785         * modules/isnanl-nolibm (Depends-on): Likewise.
53786         * modules/snprintf-posix-tests (Depends-on): Likewise.
53787         * modules/sprintf-posix-tests (Depends-on): Likewise.
53788         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
53789         * modules/vsprintf-posix-tests (Depends-on): Likewise.
53790         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
53791         * modules/vasprintf-posix-tests (Depends-on): Likewise.
53792
53793 2008-03-31  Bruno Haible  <bruno@clisp.org>
53794
53795         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
53796         * doc/posix-functions/strtod.texi: Likewise.
53797
53798 2008-03-31  Bruno Haible  <bruno@clisp.org>
53799
53800         * tests/test-strtod.c (main): Don't use C99 syntax.
53801
53802 2008-03-31  Bruno Haible  <bruno@clisp.org>
53803
53804         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
53805         Reported by Eric Blake.
53806
53807 2008-03-31  Jim Meyering  <meyering@redhat.com>
53808
53809         Don't compare actual signbit return values.
53810         * tests/test-strtod.c (main): Rather, compare only their
53811         zero/non-zero nature.
53812
53813 2008-03-31  Eric Blake  <ebb9@byu.net>
53814
53815         More strtod documentation.
53816         * doc/posix-functions/strtod.texi (strtod): Interpret more test
53817         failures as distinct bugs.
53818
53819 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53820
53821         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
53822         Problem reported by Erik Benada in
53823         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
53824
53825 2008-03-30  Bruno Haible  <bruno@clisp.org>
53826
53827         * tests/test-strtod.c: Add comments about which assertion fails on which
53828         platform.
53829         * doc/posix-functions/strtod.texi: Add info about many more platforms.
53830
53831 2008-03-30  Eric Blake  <ebb9@byu.net>
53832
53833         Test signbit behavior on zeros.
53834         * tests/test-signbit.c (test_signbitf): Add tests for zero.
53835         (test_signbitd, test_signbitl): Likewise.
53836
53837         More strtod touchups.
53838         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
53839         sign of negative underflow, for now.  Use .5, not .1.
53840         * doc/posix-functions/strtod.texi (strtod): Mention these
53841         limitations.
53842         Reported by Jim Meyering.
53843
53844 2008-03-30  Bruno Haible  <bruno@clisp.org>
53845
53846         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
53847         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
53848
53849 2008-03-30  Bruno Haible  <bruno@clisp.org>
53850
53851         Avoid failure when attempting to return empty iconv results on some
53852         platforms.
53853         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
53854         allocation, don't report ENOMEM when the resulting string is empty.
53855
53856 2008-03-30  Bruno Haible  <bruno@clisp.org>
53857
53858         Fix buffer overrun.
53859         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
53860         Don't consider the width for tmp_length. Check count against tmp_length
53861         before doing the padding. Ensure enough allocation during padding.
53862
53863 2008-03-30  Eric Blake  <ebb9@byu.net>
53864
53865         strtod touchups.
53866         * lib/strtod.c (strtod): Avoid compiler warnings.
53867         Reported by Jim Meyering.
53868
53869 2008-03-30  Bruno Haible  <bruno@clisp.org>
53870
53871         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
53872         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
53873         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
53874         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
53875         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
53876         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
53877         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
53878         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
53879
53880         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
53881         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
53882         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
53883         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
53884         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
53885         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
53886         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
53887         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
53888
53889         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
53890         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
53891         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
53892         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
53893         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
53894         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
53895         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
53896         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
53897
53898         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
53899         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
53900
53901         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
53902         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
53903
53904         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
53905         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
53906
53907         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
53908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
53909         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
53910
53911         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
53912         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
53913         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
53914
53915         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
53916         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
53917         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
53918
53919         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
53920         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
53921         * modules/vasprintf (Depends-on): Add EOVERFLOW.
53922
53923         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
53924         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
53925         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
53926         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
53927         (Depends-on): Add EOVERFLOW.
53928         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
53929         (Depends-on): Add EOVERFLOW.
53930         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53931         (Depends-on): Add EOVERFLOW.
53932         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53933         (Depends-on): Add EOVERFLOW.
53934         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53935         (Depends-on): Add EOVERFLOW.
53936         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53937         (Depends-on): Add EOVERFLOW.
53938         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53939         (Depends-on): Add EOVERFLOW.
53940         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53941         (Depends-on): Add EOVERFLOW.
53942
53943         * lib/sprintf.c (EOVERFLOW): Remove fallback.
53944         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
53945         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
53946
53947         * lib/snprintf.c (EOVERFLOW): Remove fallback.
53948         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
53949         * modules/snprintf (Depends-on): Add EOVERFLOW.
53950
53951         * lib/poll.c (EOVERFLOW): Remove fallback.
53952         * modules/poll (Depends-on): Add EOVERFLOW.
53953
53954         * lib/getugroups.c (EOVERFLOW): Remove fallback.
53955         * modules/getugroups (Depends-on): Add EOVERFLOW.
53956
53957         * lib/getdelim.c (EOVERFLOW): Remove fallback.
53958         * modules/getdelim (Depends-on): Add EOVERFLOW.
53959
53960         * lib/ftell.c (EOVERFLOW): Remove fallback.
53961         * modules/ftell (Depends-on): Add EOVERFLOW.
53962
53963         * lib/fprintf.c (EOVERFLOW): Remove fallback.
53964         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
53965         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
53966
53967         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
53968
53969         * modules/EOVERFLOW-tests: New file.
53970         * tests/test-EOVERFLOW.c: New file.
53971
53972         * modules/EOVERFLOW: New file.
53973         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
53974
53975 2008-03-30  Bruno Haible  <bruno@clisp.org>
53976
53977         Fix bug introduced on 2007-06-10.
53978         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
53979         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
53980
53981 2008-03-30  Bruno Haible  <bruno@clisp.org>
53982
53983         Improve freadseek's efficiency after ungetc.
53984         * lib/freadseek.c: Include freadahead.h.
53985         (freadptrinc): New function, extracted from freadseek.
53986         (freadseek): Use it in a loop. Use freadahead to determine the number
53987         of loop iterations.
53988         * modules/freadseek (Depends-on): Add freadahead.
53989         (configure.ac): Require AC_C_INLINE.
53990
53991 2008-03-30  Bruno Haible  <bruno@clisp.org>
53992
53993         * lib/freadseek.c (freadseek): Don't ignore the return value of
53994         freadptr.
53995
53996 2008-03-29  Eric Blake  <ebb9@byu.net>
53997
53998         Add hex float support.
53999         * modules/strtod (Depends-on): Add c-ctype.
54000         (Link): Mention POW_LIB.
54001         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
54002         whitespace between 'e' and exponent.
54003         * tests/test-strtod.c (main): Enable hex float tests.
54004         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
54005         now provides.
54006
54007         Document various strtod bugs, with some fixes.
54008         * doc/posix-functions/strtod.texi (strtod): Document bugs with
54009         "-0x", "inf", "nan", and hex constants.
54010         * doc/posix-functions/atof.texi (atof): Likewise.
54011         * modules/stdlib (Makefile.am): Support strtod.
54012         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
54013         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
54014         detect additional strtod bugs.
54015         * lib/stdlib.in.h (rpl_strtod): Add declarations.
54016         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
54017         bool where appropriate.  Parse 'inf' and 'nan'.
54018         * tests/test-strtod.c: New file.
54019         * modules/strtod (Depends-on): Add stdbool, stdlib.
54020         (configure.ac): Turn on module indicator.
54021         * modules/strtod-tests: New module.
54022
54023 2008-03-29  Eric Blake  <ebb9@byu.net>
54024
54025         Fix ftell on mingw.
54026         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
54027         * modules/ftell-tests (Depends-on): Add binary-io.
54028         * modules/ftello-tests (Depends-on): Likewise.
54029         * tests/test-ftell.c (main): Enhance test to cover behavior after
54030         ungetc.  Enforce binary mode.
54031         * tests/test-ftello.c (main): Likewise.
54032
54033         Pass test-freadseek on cygwin.
54034         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
54035         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
54036         ungetc buffer.
54037
54038         * tests/test-fflush2.c (main): Fix typo.
54039
54040 2008-03-29  Bruno Haible  <bruno@clisp.org>
54041
54042         * tests/test-fflush2.c (main): Temporarily disable the contents of
54043         this test.
54044         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
54045         Reported by Eric Blake.
54046
54047 2008-03-28  Simon Josefsson  <simon@josefsson.org>
54048
54049         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
54050         (GC_SHA224_DIGEST_SIZE): Add.
54051
54052         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
54053         (gc_hash_digest_length): Likewise.
54054         (gc_hash_buffer): Likewise.
54055
54056 2008-03-25  Bruno Haible  <bruno@clisp.org>
54057
54058         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
54059         detail which gettext release to use.
54060         Reported by Simon Josefsson.
54061
54062 2008-03-26  Jim Meyering  <meyering@redhat.com>
54063
54064         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
54065         * modules/gnumakefile (clean-GNUmakefile): Also, use
54066         test ... && ... || : syntax rather than if-then ... fi.
54067
54068         gnumakefile: Don't double-quote-expand $(VPATH) value.
54069         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
54070
54071 2008-03-24  Eric Blake  <ebb9@byu.net>
54072
54073         Alter GNUmakefile to install into top directory.
54074         * modules/maintainer-makefile: Split, and add dependency...
54075         * modules/gnumakefile: to this new module.
54076         * build-aux/GNUmakefile: Move...
54077         * top/GNUmakefile: ...here.
54078         * build-aux/maint.mk: Move...
54079         * top/maint.mk: ...here.
54080         * MODULES.html.sh (Support for maintaining...): Document new
54081         module.
54082
54083 2008-03-23  Bruno Haible  <bruno@clisp.org>
54084
54085         * gnulib-tool: New options --vc-files, --no-vc-files.
54086         (func_usage): Document them.
54087         (vc_files): New variable.
54088         (func_import): Consider vc_files.
54089         (func_create_testdir): Set vc_files to empty.
54090         Suggested by Jim Meyering and Karl Berry.
54091
54092 2008-03-23  Bruno Haible  <bruno@clisp.org>
54093
54094         Fix regex compilation error on HP-UX 11.
54095         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
54096         * modules/regex (Files): Add m4/mbstate_t.m4.
54097         Reported by Ton Voon <ton.voon@altinity.com>.
54098
54099 2008-03-23  Bruno Haible  <bruno@clisp.org>
54100
54101         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
54102
54103 2008-03-23  Eric Blake  <ebb9@byu.net>
54104             Bruno Haible  <bruno@clisp.org>
54105
54106         Install files from top/ in the destination directory.
54107         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
54108         augmentation also for the files from top/.
54109         (func_import, func_create_testdir): Rewrite file names:
54110         top/filename -> filename.
54111
54112 2008-03-23  Bruno Haible  <bruno@clisp.org>
54113
54114         Tweak "gnulib --version" output.
54115         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
54116
54117 2008-03-23  Bruno Haible  <bruno@clisp.org>
54118
54119         Tweak "gnulib --version" output.
54120         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
54121         rather than contents of ChangeLog, when possible.
54122
54123 2008-03-21  Eric Blake  <ebb9@byu.net>
54124
54125         More --version tweaks.
54126         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
54127         date of last ChangeLog entry.
54128
54129 2008-03-21  Jim Meyering  <meyering@redhat.com>
54130
54131         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
54132
54133 2008-03-20  Eric Blake  <ebb9@byu.net>
54134
54135         VPATH fix.
54136         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
54137
54138 2008-03-20  Simon Josefsson  <simon@josefsson.org>
54139
54140         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
54141         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
54142
54143 2008-03-20  Eric Blake  <ebb9@byu.net>
54144
54145         Sync GNUmakefile with coreutils.
54146         * build-aux/GNUmakefile (have-Makefile): Rename...
54147         (_have-Makefile): ...to this, for namespace consideration.
54148         (GNUmakefile.cfg): Include, if present.
54149         (_autoreconf): Define a default.
54150         (_is-dist-target): New rule for rebuilds to pick up intra-release
54151         version.
54152         (maint-cfg.mk): Rename...
54153         (cfg.mk): ...to this.
54154
54155 2008-03-18  Jim Meyering  <meyering@redhat.com>
54156
54157         New script and module: mktempd
54158         * MODULES.html.sh (maint+release support): Add mktempd.
54159         * build-aux/mktempd: New file.
54160         * modules/mktempd: New file.
54161
54162 2008-03-15  Jim Meyering  <meyering@redhat.com>
54163
54164         Undo last change.
54165         * lib/sha1.c, lib/md5.c: 63 != ~63.
54166         Reported by Andreas Schwab.
54167
54168         sha1.c, md5.c: Hoist a redundant expression.
54169         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
54170         "ctx->buflen" only once, before calling *_process_block.
54171         * lib/md5.c (md5_process_bytes): Likewise.
54172
54173 2008-03-14  Eric Blake  <ebb9@byu.net>
54174
54175         Bump copyright year in files generated by gnulib-tool.
54176         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
54177         gnulib-tool, rather than hard-coding it.
54178
54179         Fix 'gnulib-tool --version' output to work with git.
54180         * gnulib-tool (func_gnulib_dir): New function, extracted from...
54181         (startup): ...here.
54182         (func_version): Use it to invoke git-version-gen, rather than
54183         relying on CVS keyword expansion.  Modernize wording.
54184         (cvsdatestamp, last_checkin_date, version): Kill unused
54185         variables.
54186
54187 2008-03-12  Jim Meyering  <meyering@redhat.com>
54188
54189         Recognize optional cast of the argument to free.
54190         * build-aux/useless-if-before-free: Update regexps.
54191
54192         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
54193
54194 2008-03-11  Bruno Haible  <bruno@clisp.org>
54195
54196         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
54197         by a single package.
54198         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
54199         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
54200         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
54201         Reported by Sam Steingold <sds@gnu.org>.
54202
54203 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54204
54205         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
54206         repositories.
54207
54208 2008-03-11  Bruno Haible  <bruno@clisp.org>
54209
54210         Avoid conflicts between local macro definitions.
54211         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54212         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
54213
54214 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
54215             Bruno Haible  <bruno@clisp.org>
54216
54217         Make va_copy work with some version of xlc on AIX 5.1.
54218         * lib/stdarg.in.h: New file.
54219         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
54220         On AIX, use a <stdarg.h> file substitute.
54221         * modules/stdarg (Files): Add lib/stdarg.in.h.
54222         (Depends-on): Add include_next.
54223         (Makefile.am): Build a stdarg.h substitute if requested.
54224         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
54225
54226 2008-03-10  Bruno Haible  <bruno@clisp.org>
54227
54228         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
54229         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54230         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54231
54232 2008-03-10  Bruno Haible  <bruno@clisp.org>
54233
54234         * modules/stdlib (Depends-on): Add include_next, remove
54235         absolute-header.
54236
54237 2008-03-09  Bruno Haible  <bruno@clisp.org>
54238
54239         * lib/freadahead.h (freadahead): Document more precisely.
54240         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
54241         the sum of both buffer sizes.
54242         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
54243         * NEWS: Document the change.
54244
54245 2008-03-09  Bruno Haible  <bruno@clisp.org>
54246
54247         Extend freadptr to return also the buffer size.
54248         * lib/freadptr.h (freadptr): Add sizep argument.
54249         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
54250         (freadptr): Add sizep argument. Determine buffer size like freadahead
54251         does.
54252         * tests/test-freadptr.c: Don't include freadahead.h.
54253         (main): Adapt for new calling convention of freadptr.
54254         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
54255         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
54256         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
54257         tests/test-freadptr2.sh.
54258         (Depends): Remove freadahead.
54259         (TESTS): Add test-freadptr2.sh.
54260         (check_PROGRAMS): Add test-freadptr2.
54261
54262 2008-03-09  Bruno Haible  <bruno@clisp.org>
54263
54264         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
54265         Report and solution by Simon Josefsson.
54266
54267 2008-03-06  Bruno Haible  <bruno@clisp.org>
54268
54269         Make fflush after ungetc work on BSD platforms.
54270         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
54271         * tests/test-fflush2.c: New file.
54272         * tests/test-fflush2.sh: New file.
54273         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
54274         tests/test-fflush2.c.
54275         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
54276         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
54277
54278 2008-03-06  Eric Blake  <ebb9@byu.net>
54279
54280         Likewise for ftello.
54281         * modules/ftello (Dependencies): Add extensions.
54282         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
54283
54284 2008-03-06  Bruno Haible  <bruno@clisp.org>
54285
54286         * modules/fseeko (Dependencies): Add extensions.
54287         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
54288         Needed on glibc systems.
54289
54290 2008-03-06  Bruno Haible  <bruno@clisp.org>
54291
54292         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
54293         email address.
54294         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54295
54296 2008-03-06  Bruno Haible  <bruno@clisp.org>
54297
54298         * users.txt: Add libgnupdf.
54299
54300 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54301
54302         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
54303         (Header File Substitutes, Function Substitutes,
54304         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
54305         (Build robot for gnulib): Fix typo.
54306
54307 2008-03-06  Bruno Haible  <bruno@clisp.org>
54308
54309         * doc/gnulib-tool.texi (VCS Issues): Small updates.
54310         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54311
54312 2008-03-06  Bruno Haible  <bruno@clisp.org>
54313
54314         * doc/func.texi: New file, extracted from doc/gnulib.texi.
54315         * doc/gnulib.texi: Include it.
54316
54317 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54318
54319         * modules/func (License): Change license to unlimited; there was
54320         no LGPL parts in the module anyway.
54321
54322 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54323
54324         * modules/__func__: Renamed to modules/func.
54325         * modules/__func__-tests: Renamed to modules/func-tests.
54326         * tests/test-__func__.c: Renamed to tests/test-func.c.
54327         * m4/__func__.m4: Renamed to m4/func.m4.
54328         * doc/gnulib.texi (__func__): Section renamed to func.
54329         Suggested by Eric Blake <ebb9@byu.net>.
54330
54331 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54332
54333         * doc/gnulib.texi (__func__): Use C99 terminology when talking
54334         about __func__.  Make example self-contained.  Suggested by Eric
54335         Blake <ebb9@byu.net>.
54336
54337         * tests/test-__func__.c (main): Avoid extraneous () around __func.
54338         Suggested by Eric Blake <ebb9@byu.net>.
54339
54340 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54341
54342         * modules/__func__: New file.
54343         * modules/__func__-tests: New file.
54344         * tests/test-__func__.c: New file.
54345         * m4/__func__.m4: New file.
54346         * doc/gnulib.texi (__func__): Document __func__ module.
54347
54348 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54349
54350         * modules/byteswap (License): Re-license as LGPLv2+.
54351
54352 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54353
54354         * doc/Makefile: Add pdf target.
54355
54356 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54357
54358         * modules/inline (License): Use 'unlimited', since there are only
54359         *.m4 files in this module.
54360
54361 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54362             Bruno Haible  <bruno@clisp.org>
54363
54364         Add support for HP C 7.1 on OpenVMS 8.3.
54365         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
54366
54367 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54368
54369         Update VMS specifics.
54370         * lib/getopt.c [VMS]: Remove include of unixlib.h.
54371
54372 2008-03-02  Jim Meyering  <meyering@redhat.com>
54373
54374         Remove the last dependency on the "free" module.
54375         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
54376         Reported by Bob Proulx.
54377
54378         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
54379
54380         Remove useless "if" tests before free.  Deprecate "free" module.
54381         * doc/posix-functions/free.texi: Mention that this
54382         module is no longer useful.
54383         * modules/free (Notice): Say this module is obsolete.
54384         * modules/readutmp (Depends-on): Remove free.
54385         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
54386         * lib/putenv.c (putenv): Likewise.
54387         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
54388         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
54389         * tests/test-c-strcasestr.c (main): Likewise.
54390         * tests/test-c-strstr.c (main): Likewise.
54391         * tests/test-mbscasestr1.c (main): Likewise.
54392         * tests/test-mbscasestr2.c (main): Likewise.
54393         * tests/test-mbsstr1.c (main): Likewise.
54394         * tests/test-mbsstr2.c (main): Likewise.
54395         * tests/test-memmem.c (main): Likewise.
54396         * tests/test-strcasestr.c (main): Likewise.
54397         * tests/test-striconv.c (main): Likewise.
54398         * tests/test-striconveh.c (main): Likewise.
54399         * tests/test-striconveha.c (main): Likewise.
54400         * tests/test-strstr.c (main): Likewise.
54401
54402         * build-aux/git-version-gen: Adjust a comment and the Usage string.
54403
54404         bootstrap: sync from coreutils again
54405         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
54406
54407 2008-03-01  Jim Meyering  <meyering@redhat.com>
54408
54409         bootstrap: sync from coreutils
54410         * build-aux/bootstrap (update_po_files): Copy a .po file into place
54411         also when the target doesn't exist.
54412
54413 2008-03-01  Eric Blake  <ebb9@byu.net>
54414
54415         Fix bugs in last patch.
54416         * lib/memchr2.c (memchr2): Fix typo.
54417         * tests/test-memchr2.c: Test previous bug, and don't use GNU
54418         extension.
54419         Reported by Bruce Korb.
54420
54421         New module 'memchr2'.
54422         * modules/memchr2: New file.
54423         * modules/memchr2-tests: Likewise.
54424         * lib/memchr2.h: Likewise.
54425         * lib/memchr2.c: Likewise, based on memchr.c.
54426         * tests/test-memchr2.c: New test.
54427         * MODULES.html.sh (String handling): Add memchr2.
54428
54429 2008-02-29  Bruno Haible  <bruno@clisp.org>
54430
54431         * modules/freadseek-tests: New file.
54432         * tests/test-freadseek.sh: New file.
54433         * tests/test-freadseek.c: New file.
54434
54435         New module 'freadseek'.
54436         * modules/freadseek: New file.
54437         * lib/freadseek.h: New file.
54438         * lib/freadseek.c: New file.
54439         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
54440
54441 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
54442
54443         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
54444         wydawca.
54445
54446         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
54447         program_invocation_name and program_invocation_short_name are
54448         present.
54449
54450 2008-02-28  Bruno Haible  <bruno@clisp.org>
54451
54452         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
54453         * tests/test-freadptr.sh: Also test non-seekable stdin.
54454
54455 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
54456
54457         * build-aux/bootstrap (source_base, m4_base)
54458         (doc_base, tests_base): New variables.
54459         (gnulib_tool_options): Do not hardcode base directories, use
54460         the above variables instead.
54461
54462 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
54463
54464         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
54465
54466 2008-02-28  Bruno Haible  <bruno@clisp.org>
54467
54468         * modules/freadptr-tests: New file.
54469         * tests/test-freadptr.sh: New file.
54470         * tests/test-freadptr.c: New file.
54471
54472         New module 'freadptr'.
54473         * modules/freadptr: New file.
54474         * lib/freadptr.h: New file.
54475         * lib/freadptr.c: New file.
54476         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
54477
54478 2008-02-26  Karl Berry  <karl@freefriends.org>
54479
54480         Sync from Libtool:
54481         * libltdl/argz.c (argz_add, argz_count): New functions.
54482         * libltdl/argz.in.h: Declare them.
54483         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
54484
54485 2008-02-22  Bruno Haible  <bruno@clisp.org>
54486
54487         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
54488         is a pointer type.  Needed for HP-UX 10.
54489         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
54490         * doc/posix-functions/gmtime_r.texi: Likewise.
54491         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54492
54493 2008-02-24  Bruno Haible  <bruno@clisp.org>
54494
54495         * modules/environ-tests: New file.
54496         * tests/test-environ.c: New file.
54497
54498         New module 'environ'.
54499         * modules/environ: New file.
54500         * lib/unistd.in.h (environ): New declaration.
54501         * m4/environ.m4: New file.
54502         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
54503         after use.
54504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
54505         HAVE_DECL_ENVIRON.
54506         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
54507         HAVE_DECL_ENVIRON.
54508         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
54509         wrong claim that 'environ' is missing on some systems.
54510         * modules/execute (Depends-on): Add environ.
54511         * lib/execute.c (environ): Remove fallback declaration.
54512         * modules/pipe (Depends-on): Add environ.
54513         * lib/pipe.c (environ): Remove fallback declaration.
54514         * modules/setenv (Depends-on): Add environ.
54515         * lib/setenv.c (environ): Remove fallback declaration.
54516         * modules/unsetenv (Depends-on): Add environ.
54517         * lib/unsetenv.c (environ): Remove fallback declaration.
54518         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
54519         m4/environ.m4.
54520         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
54521         (gl_PREREQ_UNSETENV): Likewise.
54522
54523 2008-02-24  Bruno Haible  <bruno@clisp.org>
54524
54525         * doc/posix-functions/environ.texi: Document the MacOS X problem.
54526
54527 2008-02-20  Bob Proulx  <bob@proulx.com>
54528
54529         Enable use of older two part flavor 'git describe'.
54530         * build-aux/git-version-gen: If using the older two part flavor of
54531         git version then recreate the third part now present in the
54532         newer three part flavor of git describe.
54533
54534 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
54535
54536         * lib/fts.c (fts_build): Typo correction to comment.
54537
54538 2008-02-17  Bruno Haible  <bruno@clisp.org>
54539
54540         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
54541         generating no-op conflicts.
54542
54543 2008-02-17  Bruno Haible  <bruno@clisp.org>
54544
54545         Speed up by 10%.
54546         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
54547         result_entries, rather than an index-based loop.
54548
54549 2008-02-17  Bruno Haible  <bruno@clisp.org>
54550
54551         Speed up by 25%.
54552         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
54553         'hashcode_cached'.
54554         (entry_create): New function.
54555         (entry_hashcode): Use the cached hashcode if possible.
54556         (read_changelog_file, try_split_merged_entry): Use entry_create.
54557
54558 2008-02-17  Bruno Haible  <bruno@clisp.org>
54559
54560         Speed up from O(n^2) to O(n) for long ChangeLog files.
54561         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
54562         (read_changelog_file): Change implementation of entries_reversed list
54563         to rbtreehash.
54564         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
54565
54566 2008-02-17  Bruno Haible  <bruno@clisp.org>
54567
54568         New option --split-merged-entry.
54569         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
54570         (find_paragraph_end, try_split_merged_entry): New functions.
54571         (long_options): Add option --split-merged-entry.
54572         (usage): Document option --split-merged-entry.
54573         (main): Implement option --split-merged-entry.
54574         Reported by Eric Blake.
54575
54576 2008-02-17  Bruno Haible  <bruno@clisp.org>
54577
54578         * lib/git-merge-changelog.c: Include c-strstr.h.
54579         (main): Support the "git pull --rebase" situation.
54580         * modules/git-merge-changelog (Depends-on): Add c-strstr.
54581         Reported by Eric Blake.
54582
54583 2008-02-16  Eric Blake  <ebb9@byu.net>
54584
54585         Avoid doubling \ in common case of "c-maybe" quoting style.
54586         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
54587         eliding outer quotes.
54588         * lib/quotearg.h: Document this.
54589         * tests/test-quotearg.c (result_strings, inputs, results_g)
54590         (flag_results, locale_results): Test it by adding a new string to
54591         each test group.
54592         (compare_strings): Test new string.
54593
54594 2008-02-13  Eric Blake  <ebb9@byu.net>
54595
54596         Avoid trigraph quoting in default output.
54597         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
54598         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
54599         unless explicitly requested.
54600         * tests/test-quotearg.c (flag_results, main): Add additional tests.
54601
54602 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
54603
54604         Don't rely on signed integer overflowing to negative value.
54605         * lib/getugroups.c (getugroups): Include <limits.h>.
54606         Instead, compare against INT_MAX, and increment only if the test passes.
54607
54608 2008-02-13  Jim Meyering  <meyering@redhat.com>
54609         and Eric Blake  <ebb9@byu.net>
54610
54611         Avoid shadowing warning and compile errors on Linux.
54612         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
54613         forwarding macros on Linux.
54614         (dcgettext): Define a stub, for Linux.
54615         (results_g, main): Avoid warnings.
54616
54617 2008-02-12  Eric Blake  <ebb9@byu.net>
54618
54619         Silence warning in last patch.
54620         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
54621
54622         Quotearg part 4: add tests, fix c-maybe colon quoting.
54623         * lib/quotearg.h: Improve documentation.
54624         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
54625         escapes when adding outer quotes.  When quoting trigraphs, use
54626         valid C notation.  When quoting NUL, omit extra characters if next
54627         character is not digit.  Alter prototype.
54628         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
54629         callers.
54630         * modules/quotearg-tests: New module.
54631         * tests/test-quotearg.c: New test.
54632
54633 2008-02-07  Eric Blake  <ebb9@byu.net>
54634
54635         Quotearg part 3: add flag to control outer quote elision.
54636         * lib/quotearg.h (c_maybe_quoting_style): New style.
54637         (enum quoting_flags): Better documentation of flags.
54638         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
54639         c-maybe style.
54640         (quotearg_buffer_restyled): Handle new flag to elide outer
54641         quotes.
54642
54643         Quotearg part 2: add flag that can control NUL elision.
54644         * lib/quotearg.h (set_quoting_flags): New prototype.
54645         * lib/quotearg.c (struct quoting_options): Add flag field.
54646         (set_quoting_flags): New function.
54647         (quotearg_buffer_restyled): Add flags parameter.
54648         (quotearg_alloc_mem): Set the flag if length cannot be returned.
54649         (quotearg_n_options): Set the flag, since length cannot be
54650         returned.
54651         (quoting_options_from_style): Default flags correctly.
54652
54653         Quotearg part 1: more wrappers, restore quotearg_char state.
54654         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
54655         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
54656         (quotearg_colon_mem): New wrappers.
54657         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
54658         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
54659         functions.
54660         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
54661         (quotearg_colon_mem): New functions.
54662
54663 2008-02-11  Bruno Haible  <bruno@clisp.org>
54664
54665         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
54666         library in the current directory: it does not work with parallel make.
54667         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54668
54669 2008-02-11  Bruno Haible  <bruno@clisp.org>
54670
54671         * .gitattributes: New file.
54672
54673 2008-02-11  Jim Meyering  <meyering@redhat.com>
54674
54675         useless-if-before-free: Fix reversed exit values.
54676         * build-aux/useless-if-before-free: Use correct values
54677         for EXIT_MATCH and EXIT_NO_MATCH.
54678
54679         * build-aux/useless-if-before-free: Close stdout carefully.
54680
54681 2008-02-10  Bruno Haible  <bruno@clisp.org>
54682
54683         New module 'git-merge-changelog'.
54684         * modules/git-merge-changelog: New file.
54685         * lib/git-merge-changelog.c: New file.
54686
54687 2008-02-10  Jim Meyering  <meyering@redhat.com>
54688
54689         useless-if-before-free: New option: --list (-l).
54690
54691         useless-if-before-free: Don't exit immediately upon open failure.
54692         * build-aux/useless-if-before-free: Exit 2 for errors.
54693         Upon failure to open a file, don't exit immediately.
54694         Rather, just warn and continue with any remaining files.
54695
54696 2008-02-10  Bruno Haible  <bruno@clisp.org>
54697
54698         New abstract list operation 'node_set_value'.
54699         * lib/gl_list.h (gl_list_node_set_value): New function.
54700         (struct gl_list_implementation): New field node_set_value.
54701         * lib/gl_list.c (gl_list_node_set_value): New function.
54702         * lib/gl_array_list.c (gl_array_node_set_value): New function.
54703         (gl_array_list_implementation): Update.
54704         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
54705         (gl_carray_list_implementation): Update.
54706         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
54707         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54708         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54709         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
54710         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54711         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54712         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54713         Update.
54714         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54715         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
54716         (gl_sublist_list_implementation): Update.
54717
54718 2008-02-10  Bruno Haible  <bruno@clisp.org>
54719
54720         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
54721         Needed when ELEMENT is #defined to 'some_type *'.
54722
54723 2008-02-10  Jim Meyering  <meyering@redhat.com>
54724
54725         New script and module: useless-if-before-free
54726         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
54727         * build-aux/useless-if-before-free: New file.
54728         * modules/useless-if-before-free: New file.
54729
54730         * build-aux/gitlog-to-changelog: Use committer date, not author date.
54731
54732         xstrtol_error: Fix typo.
54733         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
54734         s/exit_failure/exit_status/.
54735
54736 2008-02-09  Jim Meyering  <meyering@redhat.com>
54737
54738         New script and module: gitlog-to-changelog
54739         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
54740         * modules/gitlog-to-changelog: New file.
54741         * build-aux/gitlog-to-changelog: New file.
54742
54743 2008-02-08  Jim Meyering  <meyering@redhat.com>
54744
54745         Avoid two "parameter unused" warnings.
54746         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
54747         Mark "st" as used.
54748
54749         Use "git COMMAND", not "git-COMMAND".
54750         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
54751         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
54752         * build-aux/git-version-gen: Use "git status", not "git-status".
54753
54754 2008-02-07  Bruno Haible  <bruno@clisp.org>
54755
54756         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
54757         Avoids a crash on Windows Vista.
54758         Reported by Adam Strzelecki <ono@java.pl> via
54759         Simon Josefsson <simon@josefsson.org>.
54760
54761 2008-02-06  Bruno Haible  <bruno@clisp.org>
54762
54763         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
54764         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
54765         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
54766         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
54767         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54768         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54769         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
54770         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
54771         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54772         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54773         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54774         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54775         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54776         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54777         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54778         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
54779         left-adjust flag.
54780         * tests/test-snprintf-posix.h (test_function): Likewise.
54781         * tests/test-sprintf-posix.h (test_function): Likewise.
54782         * tests/test-vasprintf-posix.c (test_function): Likewise.
54783         * doc/posix-functions/fprintf.texi: Update.
54784         * doc/posix-functions/printf.texi: Update.
54785         * doc/posix-functions/snprintf.texi: Update.
54786         * doc/posix-functions/sprintf.texi: Update.
54787         * doc/posix-functions/vfprintf.texi: Update.
54788         * doc/posix-functions/vprintf.texi: Update.
54789         * doc/posix-functions/vsnprintf.texi: Update.
54790         * doc/posix-functions/vsprintf.texi: Update.
54791         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54792
54793 2008-02-06  Bruno Haible  <bruno@clisp.org>
54794
54795         Fix bug introduced on 2008-01-26.
54796         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
54797
54798 2008-02-06  Bruno Haible  <bruno@clisp.org>
54799
54800         Fix bug introduced on 2007-06-10.
54801         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
54802         !NEED_PRINTF_FLAG_ZERO.
54803
54804 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
54805
54806         getloadavg: use libperfstat on AIX5
54807         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
54808
54809 2008-02-03  Bruno Haible  <bruno@clisp.org>
54810
54811         * lib/diffseq.h: Add comments about required #includes.
54812         Reported by Michael Biggs <gnulib@doubleplum.net>.
54813
54814 2008-02-01  Bruno Haible  <bruno@clisp.org>
54815
54816         * users.txt: Add gnuit.
54817
54818 2008-01-31  Bruno Haible  <bruno@clisp.org>
54819
54820         * lib/md4.c (set_uint32): Mark as inline.
54821         * lib/md5.c (set_uint32): Likewise.
54822         * lib/sha1.c (set_uint32): Likewise.
54823         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
54824         * m4/md5.m4 (gl_MD5): Likewise.
54825         * m4/sha1.m4 (gl_SHA1): Likewise.
54826
54827 2008-01-31  Jim Meyering  <meyering@redhat.com>
54828
54829         Use "sizeof VAR", rather than a literal "4".
54830         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
54831         * lib/md4.c (md4_read_ctx): Likewise.
54832         * lib/sha1.c (sha1_read_ctx): Likewise.
54833
54834 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54835
54836         * tests/test-sha1.c: New file, based on test-md5.c.
54837
54838         * modules/crypto/sha1-tests: New file.
54839
54840 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54841
54842         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
54843
54844 2008-01-31  Jim Meyering  <meyering@redhat.com>
54845
54846         Prefer "sizeof v" over the equivalent "4".
54847         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
54848         * lib/md5.c (set_uint32): Likewise.
54849         * lib/sha1.c (set_uint32): Likewise.
54850
54851 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54852
54853         * lib/sha1.c (set_uint32): Mark function as static.
54854
54855 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54856
54857         md2: clarify comments to say that alignment is not required.
54858         * lib/md2.h: Remove warning about alignment in comment.
54859         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
54860         never been required.
54861
54862 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54863
54864         md4: adapt alignment constraint fix from sha1.
54865         * lib/md4.c (set_uint32): New function, from sha1.c
54866         (md4_read_ctx): Use it.
54867         (md4_finish_ctx): Doc fix.
54868         * lib/md4.h: Doc fix.
54869
54870 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54871
54872         md5: adapt alignment constraint fix from sha1.
54873         * lib/md5.c (set_uint32): New function, from sha1.c
54874         (md5_read_ctx): Use it.
54875         (md5_finish_ctx): Doc fix.
54876         * lib/md5.h: Doc fix.
54877
54878 2008-01-30  Peter Palfrader  <weasel@debian.org>
54879
54880         sha1: remove the result buffer alignment constraint
54881         * lib/sha1.c (set_uint32): New function.
54882         (sha1_read_ctx): Rewrite to remove the result buffer alignment
54883         constraint.
54884         (sha1_finish_ctx): Remove comment warning about alignment constraint.
54885         * lib/sha1.h: Likewise.
54886
54887 2008-01-30  Andreas Schwab  <schwab@suse.de>
54888             Bruno Haible  <bruno@clisp.org>
54889
54890         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
54891         correct definition of LDBL_MIN_EXP.
54892
54893 2008-01-30  Karl Berry  <karl@gnu.org>
54894
54895         * config/srclist-update: try to preserve x bit on updates.
54896         * config/srclistvars.sh: update for karl.
54897
54898 2008-01-29  Jim Meyering  <meyering@redhat.com>
54899
54900         vasnprintf.c: Avoid warning about unused label
54901         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
54902         "overflow" label definition and associated code with the
54903         same cpp condition that guards the sole use of that label.
54904
54905 2008-01-26  Bruno Haible  <bruno@clisp.org>
54906
54907         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
54908         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
54909         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
54910         * lib/isnanl-nolibm.h (isnanl): Likewise.
54911         Reported by Paul Eggert <eggert@cs.ucla.edu>.
54912
54913 2008-01-26  Bruno Haible  <bruno@clisp.org>
54914
54915         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
54916         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
54917
54918 2008-01-26  Bruno Haible  <bruno@clisp.org>
54919
54920         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
54921         GCC >= 4.0 built-in.
54922         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
54923
54924 2008-01-26  Bruno Haible  <bruno@clisp.org>
54925
54926         Rename isnan, applicable to 'double' only, to isnand.
54927         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
54928         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
54929         (configure.ac): Update.
54930         (Include): Replace "isnan.h" with "isnand.h".
54931         * m4/isnand.m4: Renamed from m4/isnan.m4.
54932         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
54933         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
54934         instead of isnan.c.
54935         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
54936         instead of HAVE_ISNAN_IN_LIBC.
54937         (isnand): Renamed from isnan.
54938         * lib/isnand.c: New file.
54939         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
54940         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
54941         (Makefile.am): Update.
54942         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
54943         Include isnand.h instead of isnan.h.
54944         (main): Test isnand instead of isnan.
54945         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
54946         isnan-nolibm.
54947         * modules/frexp (Depends-on): Likewise.
54948         * modules/frexp-tests (Depends-on): Likewise.
54949         * modules/frexp-nolibm (Depends-on): Likewise.
54950         * modules/frexp-nolibm-tests (Depends-on): Likewise.
54951         * modules/isfinite (Depends-on): Likewise.
54952         * modules/round-tests (Depends-on): Likewise.
54953         * modules/signbit (Depends-on): Likewise.
54954         * modules/signbit-tests (Depends-on): Likewise.
54955         * modules/snprintf-posix (Depends-on): Likewise.
54956         * modules/sprintf-posix (Depends-on): Likewise.
54957         * modules/trunc-tests (Depends-on): Likewise.
54958         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54959         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54960         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54961         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54962         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54963         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54964         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54965         * modules/vasnprintf-posix (Depends-on): Likewise.
54966         * modules/vasprintf-posix (Depends-on): Likewise.
54967         * modules/vfprintf-posix (Depends-on): Likewise.
54968         * modules/vsnprintf-posix (Depends-on): Likewise.
54969         * modules/vsprintf-posix (Depends-on): Likewise.
54970         * lib/frexp.c: Include isnand.h instead of isnan.h.
54971         (ISNAN): Set to isnand instead of isnan.
54972         * lib/isfinite.c: Include isnand.h instead of isnan.h.
54973         (gl_isfinited): Use isnand instead of isnan.
54974         * lib/signbitd.c: Include isnand.h instead of isnan.h.
54975         (gl_signbitd): Use isnand instead of isnan.
54976         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
54977         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
54978         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
54979         (main): Use isnand instead of isnan.
54980         * tests/test-round1.c: Include isnand.h.
54981         (main): Use isnand instead of isnan.
54982         * tests/test-round2.c: Include isnand.h instead of isnan.h.
54983         (ISNAN): Set to isnand instead of isnan.
54984         * tests/test-trunc1.c: Include isnand.h.
54985         (main): Use isnand instead of isnan.
54986         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
54987         (equal): Use isnand instead of isnan.
54988         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
54989         isnand-nolibm.
54990         * NEWS: Mention the change.
54991
54992 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54993             Bruno Haible  <bruno@clisp.org>
54994
54995         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
54996         the GCC builtins for signbits are present and set
54997         REPLACE_SIGNBIT_USING_GCC if so.
54998         * lib/math.in.h (signbit): Define using GCC builtins if
54999         REPLACE_SIGNBIT_USING_GCC is set.
55000         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
55001         REPLACE_SIGNBIT_USING_GCC.
55002         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
55003
55004 2008-01-25  Jim Meyering  <meyering@redhat.com>
55005
55006         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
55007         * lib/poll.c: Include <config.h>, not "config.h".
55008         * tests/test-getaddrinfo.c: Likewise.
55009
55010 2008-01-25  Simon Josefsson  <simon@josefsson.org>
55011
55012         * modules/sockets-tests: New file.
55013
55014 2008-01-24  Simon Josefsson  <simon@josefsson.org>
55015
55016         * modules/sockets: New module, can be used to call WSA_Startup and
55017         WSA_Cleanup when needed.
55018
55019         * lib/sockets.h, lib/sockets.c: New files.
55020
55021         * m4/sockets.m4: New file.
55022
55023         * tests/test-sockets.c: New file.
55024
55025 2008-01-19  Bruno Haible  <bruno@clisp.org>
55026
55027         * doc/posix-headers: Renamed from doc/headers.
55028         * doc/posix-functions: Renamed from doc/functions.
55029         * doc/gnulib.texi: Update.
55030
55031 2008-01-19  Bruno Haible  <bruno@clisp.org>
55032
55033         * doc/glibc-functions/strcasestr.texi: Include contents of
55034         doc/functions/strcasestr.texi, fixing the list of platforms.
55035         * doc/functions/strcasestr.texi: Remove file.
55036
55037 2008-01-19  Bruno Haible  <bruno@clisp.org>
55038
55039         * doc/glibc-functions/memmem.texi: Include contents of
55040         doc/functions/memmem.texi.
55041         * doc/functions/memmem.texi: Remove file.
55042
55043 2008-01-18  Bruno Haible  <bruno@clisp.org>
55044
55045         * doc/glibc-functions/*.texi: New files.
55046         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
55047         to use the new files.
55048
55049 2008-01-17  Bruno Haible  <bruno@clisp.org>
55050
55051         * tests/test-gethostname.c (main): Fix printf statement.
55052
55053 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55054
55055         * modules/gethostname-tests: New file.
55056
55057         * tests/test-gethostname.c: New file.
55058
55059 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55060
55061         * lib/gethostname.c: Include string.h unconditionally, strncpy is
55062         used by the UNAME case.  Reported by Bruno Haible
55063         <bruno@clisp.org>.
55064
55065 2008-01-17  Eric Blake  <ebb9@byu.net>
55066
55067         Convert c-strcasestr to be more efficient.
55068         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
55069         (Depends-on): Add c-strcase, remove malloca, strnlen.
55070         * tests/test-c-strcasestr.c (main): Enhance test.
55071         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
55072
55073 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55074
55075         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
55076         Use it in creating po/Makevars.
55077
55078 2008-01-15  Simon Josefsson  <simon@josefsson.org>
55079
55080         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
55081         Applications that requires it should initialize libgcrypt
55082         manually.
55083
55084 2008-01-16  Simon Josefsson  <simon@josefsson.org>
55085
55086         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
55087
55088 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
55089
55090         Fix problem with getdate on mingw32 reported by Simon Josefsson
55091         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
55092         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
55093         tzname", when deciding whether to declare tzname.
55094         * lib/strftime.c (tzname): Likewise.
55095
55096 2008-01-15  Bruno Haible  <bruno@clisp.org>
55097
55098         Work around a MacOS X 10.5 bug in frexpl().
55099         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
55100         * doc/functions/frexpl.texi: Document the bug.
55101         Reported by Elias Pipping <pipping@gentoo.org>.
55102
55103 2008-01-14  Eric Blake  <ebb9@byu.net>
55104
55105         Touch up previous patch.
55106         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
55107         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
55108
55109         Convert strcasestr module to use Two-Way algorithm.
55110         * modules/strcasestr-simple: New module, based on the old
55111         strcasestr, but with Two-Way rather than KMP.
55112         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
55113         * lib/string.in.h (rpl_strcasestr): Declare.
55114         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
55115         performance.
55116         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
55117         * modules/string (Makefile.am): Support strcasestr.
55118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
55119         * modules/strcasestr-tests (Depends-on): Check for alarm.
55120         * tests/test-strcasestr.c: Augment test.
55121         * lib/str-two-way.h: Clean up stray macro.
55122         * NEWS: Document new module.
55123         * MODULES.html.sh (string handling): Likewise.
55124         * doc/functions/strcasestr.texi: New file.
55125         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
55126         here, since it is not a POSIX function.
55127
55128 2008-01-14  Colin Watson  <cjwatson@debian.org>
55129             Bruno Haible  <bruno@clisp.org>
55130
55131         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
55132         works fine; if not, set REPLACE_STRSIGNAL.
55133         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
55134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55135         REPLACE_STRSIGNAL.
55136         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
55137         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
55138         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
55139
55140 2008-01-14  Bruno Haible  <bruno@clisp.org>
55141
55142         * modules/strsignal (Include): Change to <string.h>.
55143
55144 2008-01-14  Colin Watson  <cjwatson@debian.org>
55145
55146         * modules/argp (Notice): Add a notice recommending to change
55147         XGETTEXT_OPTIONS.
55148         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
55149
55150 2008-01-13  Colin Watson  <cjwatson@debian.org>
55151
55152         * modules/strsignal-tests: New file.
55153         * tests/test-strsignal.c: New file.
55154
55155         * lib/strsignal.c: New file, from glibc with modifications.
55156         * lib/siglist.h: New file, from glibc with modifications.
55157         * lib/string.in.h (strsignal): New declaration.
55158         * m4/strsignal.m4: New file.
55159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55160         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
55161         * modules/strsignal: New file.
55162         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
55163         HAVE_DECL_STRSIGNAL.
55164
55165 2008-01-13  Bruno Haible  <bruno@clisp.org>
55166
55167         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
55168         locale encoding is not ASCII. Needed for OpenBSD 4.0.
55169         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55170         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55171
55172 2008-01-13  Bruno Haible  <bruno@clisp.org>
55173
55174         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
55175         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
55176         * lib/argp.h (__attribute__): Likewise.
55177         * lib/c-stack.c (__attribute__): Likewise.
55178         * lib/error.h (__attribute__): Likewise.
55179         * lib/fts.c (__attribute__): Likewise.
55180         * lib/openat.h (__attribute__): Likewise.
55181         * lib/stdio.in.h (__attribute__): Likewise.
55182         * lib/string.in.h (__attribute__): Likewise.
55183         * lib/utimens.c (__attribute__): Likewise.
55184         * lib/vasnprintf.h (__attribute__): Likewise.
55185         * lib/xalloc.h (__attribute__): Likewise.
55186         * lib/xprintf.h (__attribute__): Likewise.
55187         * lib/xstrtol.h (__attribute__): Likewise.
55188         * lib/xvasprintf.h (__attribute__): Likewise.
55189
55190 2008-01-12  Bruno Haible  <bruno@clisp.org>
55191
55192         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
55193         * doc/glibc-headers/a.out.texi: New file.
55194         * doc/glibc-headers/aliases.texi: New file.
55195         * doc/glibc-headers/alloca.texi: New file.
55196         * doc/glibc-headers/ar.texi: New file.
55197         * doc/glibc-headers/argp.texi: New file.
55198         * doc/glibc-headers/argz.texi: New file.
55199         * doc/glibc-headers/byteswap.texi: New file.
55200         * doc/glibc-headers/crypt.texi: New file.
55201         * doc/glibc-headers/endian.texi: New file.
55202         * doc/glibc-headers/envz.texi: New file.
55203         * doc/glibc-headers/err.texi: New file.
55204         * doc/glibc-headers/error.texi: New file.
55205         * doc/glibc-headers/execinfo.texi: New file.
55206         * doc/glibc-headers/fpu_control.texi: New file.
55207         * doc/glibc-headers/fstab.texi: New file.
55208         * doc/glibc-headers/fts.texi: New file.
55209         * doc/glibc-headers/getopt.texi: New file.
55210         * doc/glibc-headers/ieee754.texi: New file.
55211         * doc/glibc-headers/ifaddrs.texi: New file.
55212         * doc/glibc-headers/libintl.texi: New file.
55213         * doc/glibc-headers/mcheck.texi: New file.
55214         * doc/glibc-headers/mntent.texi: New file.
55215         * doc/glibc-headers/obstack.texi: New file.
55216         * doc/glibc-headers/paths.texi: New file.
55217         * doc/glibc-headers/printf.texi: New file.
55218         * doc/glibc-headers/pty.texi: New file.
55219         * doc/glibc-headers/resolv.texi: New file.
55220         * doc/glibc-headers/shadow.texi: New file.
55221         * doc/glibc-headers/sysexits.texi: New file.
55222         * doc/glibc-headers/ttyent.texi: New file.
55223
55224 2008-01-12  Jim Meyering  <meyering@redhat.com>
55225
55226         announce-gen: emit Gnulib's git-based version string.
55227         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
55228         New option --gnulib-version=V, where V is expected to be
55229         the output of running git describe in the gnulib directory.
55230         (get_tool_versions): Request feedback on xdelta.  I suspect it's
55231         not useful, and plan to stop publishing an xdelta file with each
55232         coreutils release.
55233
55234         * build-aux/announce-gen: Also check for lzma-compressed files.
55235
55236 2008-01-11  Bruno Haible  <bruno@clisp.org>
55237
55238         * tests/test-memmem.c (main): Increase maximum allowed time.
55239         * tests/test-strstr.c (main): Likewise.
55240
55241 2008-01-11  Bruno Haible  <bruno@clisp.org>
55242
55243         * doc/functions/memmem.texi: Add more precisions about platforms.
55244         * doc/functions/strstr.texi: Likewise.
55245
55246 2008-01-10  Eric Blake  <ebb9@byu.net>
55247
55248         * m4/strstr.m4: Delete cruft from copy-n-paste.
55249         Reported by Bruno Haible.
55250
55251 2008-01-10  Bruno Haible  <bruno@clisp.org>
55252
55253         Make c-strstr rely on strstr.
55254         * lib/c-strstr.c: Don't include str-kmp.h.
55255         (c_strstr): Define in terms of strstr.
55256         * modules/c-strstr (Files): Remove lib/str-kmp.h.
55257         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
55258
55259 2008-01-10  Bruno Haible  <bruno@clisp.org>
55260
55261         * doc/gnulib.texi (String Functions in C Locale): New section.
55262         * doc/c-ctype.texi: New file.
55263         * doc/c-strcase.texi: New file.
55264         * doc/c-strcaseeq.texi: New file.
55265         * doc/c-strcasestr.texi: New file.
55266         * doc/c-strstr.texi: New file.
55267         * doc/c-strtod.texi: New file.
55268         * doc/c-strtold.texi: New file.
55269
55270 2008-01-10  Eric Blake  <ebb9@byu.net>
55271
55272         * lib/relocatable.h: Fix a comment.
55273
55274 2008-01-10  Eric Blake  <ebb9@byu.net>
55275
55276         Share two-way algorithm.
55277         * lib/str-two-way.h: New file, merged from...
55278         * lib/memmem.c: ...here...
55279         * lib/strstr.c: ...and here.
55280         * modules/memmem (Files): Use it.
55281         * modules/strstr (Files): Likewise.
55282
55283         Avoid quadratic strstr implementations.
55284         * lib/strstr.c: New file.
55285         * m4/strstr.m4: Likewise.
55286         * modules/strstr: Likewise.
55287         * modules/strstr-tests: Likewise.
55288         * tests/test-strstr.c: Likewise.
55289         * lib/string.in.h (rpl_strstr): Declare.
55290         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
55291         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
55292         * modules/string (Makefile.am): Likewise.
55293         * MODULES.html.sh (string handling): Mention new module.
55294         * doc/functions/strstr.texi (strstr): Document the bug.
55295
55296 2008-01-10  Bruno Haible  <bruno@clisp.org>
55297
55298         * lib/relocatable.h (relocate): State whether result is freshly
55299         allocated or not.
55300         * lib/relocatable.c (relocate): Return a freshly allocated string
55301         instead of a pointer to a privately held string.
55302         Reported by Sylvain Beucler <beuc@gnu.org>.
55303
55304 2008-01-10  Colin Watson  <cjwatson@debian.org>
55305
55306         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
55307         s/S_ISNLK/S_ISLNK/.
55308
55309 2008-01-09  Bruno Haible  <bruno@clisp.org>
55310
55311         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
55312         and other files.
55313         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
55314         if it's only a guess.
55315         * modules/memmem: Simplify by depending on memmem-simple.
55316
55317 2008-01-09  Bruno Haible  <bruno@clisp.org>
55318
55319         Work around OpenBSD 4.0 tdelete() bug.
55320         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
55321         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
55322         macros and don't redefine the enum values.
55323         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
55324         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
55325         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
55326
55327 2008-01-09  Bruno Haible  <bruno@clisp.org>
55328
55329         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
55330         (main): Don't perform the tests if setlocale did not install a UTF-8
55331         locale. Needed on OpenBSD 4.0.
55332         * modules/wcwidth-tests (Depends-on): Add localcharset.
55333
55334 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
55335
55336         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
55337         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
55338         * NEWS: announce this.
55339         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
55340
55341 2008-01-09  Simon Josefsson  <simon@josefsson.org>
55342         and Eric Blake  <ebb9@byu.net>
55343
55344         Add memmem-simple module.
55345         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
55346         (gl_FUNC_MEMMEM): Separate performance from presence checks.
55347         * modules/memmem-simple: New file.
55348         * modules/memmem (Description): Tweak.
55349         * MODULES.html.sh (string handling): Mention new module.
55350         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
55351         addressed by memmem-simple.
55352         * NEWS: Document the difference.
55353
55354 2008-01-09  Eric Blake  <ebb9@byu.net>
55355
55356         Give gcc some memmem optimization hints.
55357         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
55358         (strcasestr): Declare as pure.
55359         * modules/memmem (Maintainer): Claim my implementation.
55360
55361 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55362
55363         Support AIX 6.1 and higher.
55364         * build-aux/config.libpath: Likewise.
55365         * build-aux/config.rpath: Likewise.
55366
55367 2008-01-08  Jim Meyering  <meyering@redhat.com>
55368             Bruno Haible  <bruno@clisp.org>
55369
55370         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
55371         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
55372         Reported by Peter Fales in
55373         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
55374
55375 2008-01-08  Bruno Haible  <bruno@clisp.org>
55376
55377         * modules/unictype/category-of (Depends-on): Add
55378         unictype/category-none.
55379         * modules/unictype/category-and-tests (Depends-on): Add
55380         unictype/category-{L,N,Lu,Nd}.
55381         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
55382         * modules/unictype/category-or-tests (Depends-on): Add
55383         unictype/category-{L,N}.
55384         * modules/unictype/category-name-tests (Depends-on): Add
55385         unictype/category-{Z,Nl}.
55386         Reported by Simon Josefsson.
55387
55388 2008-01-08  Bruno Haible  <bruno@clisp.org>
55389
55390         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
55391         convention better.
55392         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
55393         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
55394         Reported by Peter Miller <millerp@canb.auug.org.au>.
55395
55396 2008-01-08  Eric Blake  <ebb9@byu.net>
55397
55398         Rewrite memmem to guarantee linear complexity without malloc.
55399         * lib/memmem.c (memmem): Use Two-Way rather than
55400         Knuth-Morris-Pratt, to allow O(1) space usage.
55401         (critical_factorization, two_way_short_needle)
55402         (two_way_long_needle): New functions.
55403         (knuth_morris_pratt): Delete.
55404         * modules/memmem (Depends-on): No longer need malloca or stdbool.
55405         Add stdint.
55406         * tests/test-memmem.c (main): Add tests for periodic needle and
55407         sublinear performance.
55408         * doc/functions/memmem.texi (memmem): Document other deficiencies
55409         in cygwin and older glibc.
55410
55411 2008-01-08  Bruno Haible  <bruno@clisp.org>
55412
55413         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
55414         augmentation.
55415
55416 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
55417
55418         Add a configure time option: --disable-acl.
55419         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
55420         AC_ARG_ENABLE(acl).
55421
55422 2008-01-06  Simon Josefsson  <simon@josefsson.org>
55423
55424         * tests/test-localename.c: Don't include obsolete "setenv.h".
55425
55426         * modules/localename-tests (Depends-on): Need unsetenv.
55427
55428 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55429
55430         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
55431
55432 2008-01-06  Colin Watson  <cjwatson@debian.org>
55433
55434         * users.txt: Add man-db.
55435
55436 2008-01-07  Bruno Haible  <bruno@clisp.org>
55437
55438         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
55439         previous section name.
55440
55441 2008-01-07  Bruno Haible  <bruno@clisp.org>
55442
55443         * lib/progname.c (set_program_name): Don't strip off a leading
55444         "lt-" prefix outside a .libs directory.
55445         Suggested by Paul Eggert.
55446
55447 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
55448             Bruno Haible  <bruno@clisp.org>
55449
55450         Improve memory cleanup in 'relocatable' module.
55451         * lib/relocatable.h (compute_curr_prefix): Change return type to
55452         'char *'.
55453         * lib/relocatable.c (compute_curr_prefix): Change return type to
55454         'char *'. Free curr_installdir after use.
55455         (relocate): Free curr_prefix_better after use.
55456         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
55457
55458 2008-01-01  Bruno Haible  <bruno@clisp.org>
55459
55460         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
55461         failure on older glibc systems.
55462         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55463
55464 2008-01-05  Eric Blake  <ebb9@byu.net>
55465
55466         Avoid quadratic system memmem.
55467         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
55468         Reported by Ralf Wildenhues.
55469
55470         Fix memmem test for mingw.
55471         * modules/memmem-tests (configure.ac): Check for alarm.
55472         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
55473         it.
55474         * doc/functions/memmem.texi: New file.
55475         * doc/gnulib.texi (Function Substitutes): Add memmem.
55476         Reported by Bruno Haible.
55477
55478 2008-01-04  Bruno Haible  <bruno@clisp.org>
55479
55480         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
55481         Require gl_HEADER_STRINGS_H_DEFAULTS, not
55482         gl_HEADER_STRING_H_DEFAULTS.
55483
55484 2008-01-04  Eric Blake  <ebb9@byu.net>
55485
55486         Shorten duration of memmem test.
55487         * tests/test-memmem.c (main): Use alarm to declare failure if test
55488         is taking too long.
55489         Reported by Ralf Wildenhues.
55490
55491 2007-12-21  Simon Josefsson  <simon@josefsson.org>
55492
55493         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
55494         string, needed by strerror.
55495
55496 2008-01-03  Colin Watson  <cjwatson@debian.org>
55497             Bruno Haible  <bruno@clisp.org>
55498
55499         * doc/gnulib-tool.texi (Localization): New section.
55500
55501 2008-01-02  Bruno Haible  <bruno@clisp.org>
55502
55503         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
55504         variables to 'unsigned char *' type.
55505         Reported by Paul Eggert.
55506
55507 2008-01-02  Jim Meyering  <jim@meyering.net>
55508
55509         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
55510
55511 2007-12-31  Jim Meyering  <jim@meyering.net>
55512
55513         Avoid use of private FTS type name.
55514         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
55515
55516 2007-12-30  Karl Berry  <karl@gnu.org>
55517
55518         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
55519         work around defect in Texinfo and/or the standalone Info browser.
55520
55521 2007-12-30  Bruno Haible  <bruno@clisp.org>
55522
55523         Unify 5 copies of the KMP code.
55524         * lib/str-kmp.h: New file.
55525         * lib/c-strcasestr.c: Include str-kmp.h.
55526         (knuth_morris_pratt): Remove function.
55527         (c_strcasestr): Update.
55528         * lib/c-strstr.c: Include str-kmp.h.
55529         (knuth_morris_pratt): Remove function.
55530         (c_strcasestr): Update.
55531         * lib/mbscasestr.c: Include str-kmp.h.
55532         (knuth_morris_pratt_unibyte): Remove function.
55533         * lib/mbsstr.c: Include str-kmp.h.
55534         (knuth_morris_pratt_unibyte): Remove function.
55535         * lib/strcasestr.c: Include str-kmp.h.
55536         (knuth_morris_pratt): Remove function.
55537         (strcasestr): Update.
55538         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
55539         * modules/c-strstr (Files): Likewise.
55540         * modules/mbscasestr (Files): Likewise.
55541         * modules/mbsstr (Files): Likewise.
55542         * modules/strcasestr (Files): Likewise.
55543         Suggested by Paul Eggert.
55544
55545 2007-12-30  Bruno Haible  <bruno@clisp.org>
55546
55547         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
55548         defined.
55549
55550 2007-12-30  Bruno Haible  <bruno@clisp.org>
55551
55552         * lib/xmalloca.h: Include xalloc.h.
55553         (xnmalloca): New macro.
55554
55555 2007-12-30  Bruno Haible  <bruno@clisp.org>
55556
55557         * lib/malloca.h (nmalloca): New macro.
55558         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
55559         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
55560         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
55561         knuth_morris_pratt_multibyte): Likewise.
55562         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
55563         knuth_morris_pratt_multibyte): Likewise.
55564         * lib/memmem.c (knuth_morris_pratt): Likewise.
55565         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
55566
55567 2007-12-25  Bruno Haible  <bruno@clisp.org>
55568
55569         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
55570         * lib/glob.c: Don't include openat.h.
55571         (link_exists2_p): Add back the code that deals with the
55572         !GLOB_ALTDIRFUNC case.
55573         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
55574         let it do the filename concatenation.
55575         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
55576         * modules/glob (Depends-on): Remove openat.
55577
55578 2007-12-31  Bruno Haible  <bruno@clisp.org>
55579
55580         * modules/dirfd (License): Change to LGPLv2+.
55581         Approved by Jim Meyering.
55582
55583 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55584
55585         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
55586         when multiplying M by sizeof (size_t).
55587
55588 2007-12-10  Martin Lambers  <marlam@marlam.de>
55589
55590         Override getpagesize on mingw.
55591         * lib/getpagesize.c: New file.
55592         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
55593         * modules/getpagesize (Files): Add lib/getpagesize.c.
55594         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
55595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55596         REPLACE_GETPAGESIZE.
55597         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
55598
55599 2007-12-25  Bruno Haible  <bruno@clisp.org>
55600
55601         * modules/localcharset (Notice): New field.
55602         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
55603         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55604
55605 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55606             Bruno Haible  <bruno@clisp.org>
55607
55608         Avoid using the syntax symbol() in formatted documentation.
55609         * MODULES.html.sh (func_module): When replacing symbol() with a
55610         hyperlink, remove the parentheses. Show an error if some remain.
55611         Recognize and render the '...' syntax.
55612         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
55613         Rework. Add paragraph about GCC's inlining.
55614         * doc/alloca.texi: Likewise.
55615         * doc/error.texi: Remove parentheses from symbol reference.
55616         * doc/gnulib-intro.texi: Likewise.
55617         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
55618         * modules/fnmatch (Description): Reword to say "the ... function".
55619         * modules/full-read (Description): Likewise.
55620         * modules/full-write (Description): Likewise.
55621         * modules/safe-read (Description): Likewise.
55622         * modules/safe-write (Description): Likewise.
55623         * modules/strchrnul (Description): Likewise.
55624         * modules/trim (Description): Likewise.
55625         * modules/error (Description): Remove parentheses from symbol
55626         references.
55627         * modules/verror (Description): Likewise.
55628         Reported by Karl Berry.
55629
55630 2007-12-25  Bruno Haible  <bruno@clisp.org>
55631
55632         Fixup after 2007-10-16 commit.
55633         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
55634
55635 2007-12-24  Bruno Haible  <bruno@clisp.org>
55636
55637         Make --enable-relocatable work with DESTDIR.
55638         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
55639         to compute installdir from destprog.
55640         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
55641         also set the RELOC_DESTDIR variable.
55642         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55643
55644 2007-12-24  Bruno Haible  <bruno@clisp.org>
55645
55646         Fix link error due to xalloc_die().
55647         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
55648         of xreadlink.
55649         * lib/relocwrapper.c: Update comments.
55650         * build-aux/install-reloc: Remove xreadlink.c from file list.
55651         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
55652         xreadlink.c.
55653         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55654
55655 2007-12-24  Bruno Haible  <bruno@clisp.org>
55656
55657         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
55658         * lib/setenv.h: Remove file.
55659         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
55660         lib/setenv.h.
55661         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
55662         (Depends-on): Add stdlib.
55663         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
55664         gl_FUNC_UNSETENV.
55665         (Include): Replace setenv.h with <stdlib.h>.
55666         * modules/unsetenv: New file.
55667         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
55668         * lib/unsetenv.c: Include <stdlib.h> first.
55669         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
55670         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
55671         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
55672         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
55673         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
55674         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55675         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
55676         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55677         * doc/functions/unsetenv.texi: Update.
55678         * modules/xsetenv (Depends-on): Add unsetenv.
55679         * modules/getdate (Depends-on): Likewise.
55680         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
55681         * lib/xsetenv.c: Don't include setenv.h.
55682         * lib/getdate.y: Likewise.
55683         * lib/relocwrapper.c: Likewise.
55684         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
55685         (Depends-on): Add stdlib.
55686         * NEWS: Mention the changes.
55687         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55688
55689 2007-12-23  Bruno Haible  <bruno@clisp.org>
55690
55691         * lib/memmem.c (memmem): Use lowercase variable names. Tab
55692         indentation.
55693
55694 2007-12-23  Bruno Haible  <bruno@clisp.org>
55695
55696         * lib/c-strcasestr.c: Add more comments.
55697         * lib/c-strstr.c: Likewise.
55698         * lib/mbscasestr.c: Likewise.
55699         * lib/mbsstr.c: Likewise.
55700         * lib/strcasestr.c: Likewise.
55701         * lib/memmem.c: Likewise.
55702
55703 2007-12-23  Bruno Haible  <bruno@clisp.org>
55704
55705         * tests/test-memmem.c: Include <string.h> first.
55706
55707 2007-12-22  Bruno Haible  <bruno@clisp.org>
55708
55709         * gnulib-tool (func_create_testdir): Change $auxdir while generating
55710         the contents of $testsbase.
55711         Reported by Ralf Wildenhues.
55712
55713 2007-12-22  Bruno Haible  <bruno@clisp.org>
55714
55715         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
55716         two variables local_ldadd_before, local_ldadd_last.
55717
55718 2007-12-20  Eric Blake  <ebb9@byu.net>
55719
55720         Work around circular library issue when cross-compiling.
55721         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
55722         that progname.o does not need to pull in rpl_memcmp.
55723
55724 2007-12-19  Eric Blake  <ebb9@byu.net>
55725
55726         Fix memmem to avoid O(n^2) worst-case complexity.
55727         * lib/memmem.c (knuth_morris_pratt): New function.
55728         (memmem): Use it if first few naive iterations fail.
55729         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
55730         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
55731         * modules/memchr (License): Likewise.
55732         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
55733         malloca.
55734         * tests/test-memmem.c: Rewrite, borrowing ideas from
55735         test-mbsstr1.c; the old version wouldn't even compile!
55736         * modules/memmem-tests: New file.
55737         * lib/string.in.h (rpl_memmem): Add declaration.
55738         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
55739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
55740         REPLACE_MEMMEM.
55741
55742 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55743
55744         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
55745         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
55746         before any system include files, and undef after them all.  This
55747         should fix a problem on VMS reported by John E. Malmberg in
55748         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
55749
55750 2007-12-17  Eric Blake  <ebb9@byu.net>
55751
55752         Revert addition of verify, for BSD/OS.
55753         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
55754         can't handle large files, for the sake of obsolete platforms.
55755         * modules/fseeko (Depends-on): Remove verify.
55756         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
55757         * doc/functions/ftello.texi (ftello): Likewise.
55758         * doc/functions/fgetpos.texi (fgetpos): Likewise.
55759         Reported by Larry Jones.
55760
55761 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
55762
55763         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
55764         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
55765
55766 2007-12-17  Jim Meyering  <meyering@redhat.com>
55767
55768         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
55769         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
55770         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
55771         * modules/getcwd (Depends-on): Add openat.
55772         Reported by Petr Salinger.
55773
55774 2007-12-17  Bruno Haible  <bruno@clisp.org>
55775
55776         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
55777         avoid a segmentation fault of the configure test on x86_64 systems.
55778
55779 2007-12-15  Jim Meyering  <meyering@redhat.com>
55780
55781         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
55782
55783 2007-12-13  Eric Blake  <ebb9@byu.net>
55784
55785         Another fseek test.
55786         * tests/test-fseek.c (main): Also test ungetc handling.
55787         * tests/test-fseeko.c (main): Likewise.
55788         * modules/fseeko (Depends-on): Add verify.
55789         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
55790         large.
55791         Reported by Larry Jones.
55792
55793         Fix fseeko on mingw.
55794         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
55795         seek.
55796
55797         Beef up fseek tests.
55798         * tests/test-fseek.c (main): Also test eof handling.
55799         * tests/test-fseeko.c (main): Likewise.
55800         Reported by Larry Jones.
55801
55802 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
55803
55804         Fix fseeko on BSD-based platforms.
55805         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
55806         successful seek.
55807
55808 2007-12-12  Eric Blake  <ebb9@byu.net>
55809
55810         Allow circular dependency of separate libtests.a
55811         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
55812         when use_libtests.
55813
55814 2007-12-11  Eric Blake  <ebb9@byu.net>
55815
55816         Fix bug with -0.0L in previous patch.
55817         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
55818         * tests/test-isnan.c (main): Also test on zeroes.
55819         * tests/test-isnanf.c (main): Likewise.
55820         * tests/test-isnanl.h (main): Likewise.
55821
55822         Detect pseudo-denormals on x86 even when cross-compiling.
55823         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
55824         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
55825         invalid bit patterns that happen to satisfy ==.
55826
55827         Avoid link failures with separate libtests.a.
55828         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
55829         last, to satisfy circular dependencies.
55830
55831 2007-12-11  Eric Blake  <ebb9@byu.net>
55832         and Bruno Haible  <bruno@clisp.org>
55833
55834         Fix OpenBSD 4.0 <float.h> handling of long double.
55835         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
55836         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
55837         * doc/headers/float.texi (float.h): Document OpenBSD bug.
55838
55839 2007-12-11  Jim Meyering  <meyering@redhat.com>
55840
55841         * users.txt: Add libvirt.
55842
55843         Support versions of autoconf prior to 2.59c.
55844         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
55845         if it is not already defined.
55846
55847 2007-12-09  Bruno Haible  <bruno@clisp.org>
55848
55849         Let 'gnulib-tool --import' collect sources needed for the tests in
55850         tests/ rather than in lib/.
55851         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
55852         argument. If true, add rules to generate libtests.a, and put libtests.a
55853         into $(LDADD). Consider source files in subdirectories and set
55854         uses_subdirs.
55855         (func_emit_initmacro_start, func_emit_initmacro_end,
55856         func_emit_initmacro_done): Pass all arguments explicitly.
55857         (func_import): Determine two module lists main_modules,
55858         testsrelated_modules. Determine use_libtests. Determine two variables
55859         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
55860         instead of just sed_transform_lib_file. Determine two variables
55861         main_files and testsrelated_files. Compute 'files' as the union of
55862         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
55863         func_add_or_update. In the generated gnulib-comp.m4, collect the
55864         object files for tests/ in different variables than those for lib/.
55865         Substitute LIBTESTS_LIBDEPS.
55866         (func_create_testdir): Combine the uses_subdirs results from
55867         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
55868
55869 2007-12-09  Bruno Haible  <bruno@clisp.org>
55870
55871         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
55872         the build-aux directory.
55873
55874 2007-12-09  Bruno Haible  <bruno@clisp.org>
55875
55876         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
55877         introduced on 2006-09-09.
55878
55879 2007-12-07  Jim Meyering  <meyering@redhat.com>
55880
55881         Let these macros work also with autoconf-2.59.
55882         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
55883         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
55884         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
55885
55886 2007-12-06  Jim Meyering  <meyering@redhat.com>
55887
55888         Avoid a configure-time syntax error in gl_FUNC_ACL.
55889         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
55890         function in each branch, before testing the cache variable.
55891
55892 2007-12-04  Eric Blake  <ebb9@byu.net>
55893
55894         Make scripts executable.
55895         * build-aux/config.guess: Add execute permissions.
55896         * build-aux/config.sub: Likewise.
55897         * build-aux/gendocs.sh: Likewise.
55898
55899         Fix frexp on mingw.
55900         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
55901         cross-compiling.
55902         * doc/functions/frexp.texi (frexp): Document the bug.
55903
55904         Make cygwin fseeko check more reliable.
55905         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
55906         version numbers, rather than unrelated feature check.
55907         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
55908         * doc/functions/ftello.texi (ftello): Likewise.
55909         Reported by Bruno Haible.
55910
55911         * m4/strerror.m4: Bump version number.
55912
55913 2007-12-03  Bruno Haible  <bruno@clisp.org>
55914
55915         * doc/functions/mprotect.texi: Mention the mingw problem.
55916
55917 2007-12-03  Eric Blake  <ebb9@byu.net>
55918
55919         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
55920         REPLACE_STRERROR is initialized before this macro.
55921
55922 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55923
55924         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
55925         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
55926         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
55927         put -lsec in even for programs other than 'ls'.  This fixes a problem
55928         for gettext reported by Bruno Haible in
55929         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
55930         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
55931         Add support for Solaris 10.  This isn't efficient, but should get the
55932         job done for now.
55933
55934 2007-12-03  James Youngman  <jay@gnu.org>
55935
55936         * doc/regexprops-generic.texi: change "an close-group" to "a
55937         close-group" and "illegal" to "not allowed".
55938
55939 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55940
55941         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
55942         pr_byname.h. Needed for the rare case when the maintainer has done
55943         "make maintainer-clean" in the source directory and then attempts a
55944         build outside the source directory.
55945         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
55946         scripts_byname.h.
55947
55948 2007-12-02  Martin Lambers <marlam@marlam.de>
55949             Bruno Haible  <bruno@clisp.org>
55950
55951         * lib/getpagesize.h: Remove file.
55952         * lib/unistd.in.h: Include declaration of getpagesize here.
55953         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
55954         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
55955         HAVE_SYS_PARAM_H.
55956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
55957         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55958         * modules/getpagesize (Files): Remove lib/getpagesize.h.
55959         (Depends-on): Add unistd.
55960         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55961         (Include): Use <unistd.h> instead of getpagesize.h.
55962         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
55963         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55964         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
55965         gl_GETPAGESIZE invocation, already handled by module dependency.
55966         * lib/pagealign_alloc.c: Don't include getpagesize.h.
55967
55968 2007-12-02  Bruno Haible  <bruno@clisp.org>
55969
55970         * modules/strings-tests: New file.
55971         * tests/test-strings.c: New file.
55972
55973         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
55974         * lib/strings.in.h: New file.
55975         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
55976         * m4/strings_h.m4: New file.
55977         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
55978         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
55979         * modules/strings: New file.
55980         * modules/string (Makefile.am): Update.
55981         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
55982         Reported by Karl Berry.
55983
55984 2007-12-01  Eric Blake  <ebb9@byu.net>
55985
55986         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
55987         accomodate fix in cygwin 1.5.25.
55988
55989 2007-12-01  Jim Meyering  <meyering@redhat.com>
55990
55991         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
55992         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
55993         that would inhibit utf8-optimization of a regexp containing line-
55994         or buffer-anchors, e.g., `^', `$'.
55995
55996 2007-11-30  Bruno Haible  <bruno@clisp.org>
55997
55998         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
55999         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
56000         glthread_recursive_lock_init.
56001         * lib/lock.c (glthread_recursive_lock_init)
56002         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
56003         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56004
56005 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
56006
56007         New function qset_acl, like set_acl but with syscall semantics.
56008         * lib/acl.h (qset_acl): New decl.
56009         * lib/acl.c (qset_acl): New function.
56010         (set_acl): Use new function.  Use more-consistent diagnostics.
56011
56012 2007-11-28  Jim Meyering  <meyering@redhat.com>
56013
56014         * modules/physmem (License): Change from GPL to LGPLv2+.
56015
56016 2007-11-26  Bruno Haible  <bruno@clisp.org>
56017
56018         * lib/vasnprintf.c (decode_long_double): Don't abort if the
56019         'long double' type has excess precision.
56020         Reported by Jim Meyering in
56021         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
56022
56023 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56024
56025         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
56026         Sync from <http://gnu.org/licenses>.
56027         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
56028         with license text from same location.
56029         * doc/maintain.texi, doc/standards.texi:  Sync from
56030         <http://savannah.gnu.org/projects/gnustandards>.
56031
56032 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
56033         and Jim Meyering  <meyering@redhat.com>
56034
56035         Adjust getdate' grammar to accept a slightly more regular language.
56036         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
56037         Before, the former was rejected.
56038         * lib/getdate.y (digits_to_date_time): New function, factored
56039         out of ...
56040         (number): ...here.  Just call digits_to_date_time.
56041         (hybrid): New non-terminal to handle an <unsigned number,
56042         signed relative offset> sequence consistently.
56043
56044 2007-11-18  Jim Meyering  <meyering@redhat.com>
56045
56046         Pull my changes from coreutils:
56047         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
56048         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
56049         use of $gnulib_tool_option_extras, so that it's separated from the
56050         preceding argument.
56051
56052         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
56053         * build-aux/bootstrap (cp_mark_as_generated): Create any required
56054         parent destination directories before copying a file into place.
56055
56056 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56057
56058         bootstrap: work also with 4-argument variant of AC_INIT
56059         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
56060
56061 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56062
56063         Port test-getaddrinfo to Solaris.
56064         Problem reported by Bruno Haible in
56065         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
56066         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
56067         explanation of setting 'hints'.
56068         Don't reject an implementation merely because it returns EAI_SERVICE.
56069         (EAI_SERVICE): Define to 0 if not defined.
56070
56071 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
56072
56073         The license of gnu-make and posix-shell is now "GPLed build tool".
56074         * modules/gnu-make (License): Likewise.
56075         * modules/posix-shell (License): Likewise.
56076
56077         New module posix-shell, for determining a POSIX shell
56078         or perhaps something that is close enough to a POSIX shell.
56079         * m4/posix-shell.m4: New file.
56080         * modules/posix-shell: New file.
56081
56082         * MODULES.html.sh: Mention new module.
56083
56084         New module gnu-make, for determining whether we're using GNU Make.
56085         * m4/gnu-make.m4: New file.
56086         * modules/gnu-make: New file.
56087         * MODULES.html.sh: Mention new module.
56088
56089 2007-11-14  Jim Meyering  <meyering@redhat.com>
56090
56091         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
56092         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
56093         use this macro to create a function _definition_.
56094         Remove useless "#undef ARGMATCH_DIE".
56095
56096 2007-11-14  Bruno Haible  <bruno@clisp.org>
56097
56098         * lib/config.charset: Update for OpenBSD 4.1.
56099         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
56100
56101 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
56102
56103         Document 64-bit #if problems in stdint.texi.
56104         * doc/headers/stdint.texi (stdint.h): Mention problems with
56105         64-bit-#if, and how to work around them.
56106
56107         Don't insist on 'long long int' support in the preprocessor.  It
56108         breaks too many things.  For example, PRIdMAX still uses a 'long
56109         long int' format with the latest Sun compiler, even though
56110         HAVE_LONG_LONG_INT isn't defined due to that compiler's
56111         preprocessor problem.  This causes the latest coreutils to dump
56112         core on Solaris 10 sparc with the Sun C compiler.
56113         Instead, fix the 2007-10-16 problem in a different way, by evaluating
56114         the troublesome expressions at configure-time, not at #if-time.
56115         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
56116         preprocessor.
56117         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
56118         compile-time C checks, done at 'configure'-time.
56119         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
56120         * modules/inttypes (Makefile): Substitute the new symbols that
56121         gl_INTTYPES_H now generates.
56122         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
56123
56124 2007-11-12  Bruno Haible  <bruno@clisp.org>
56125
56126         Tests for Unicode character classification functions.
56127
56128         * modules/unictype/bidicategory-byname-tests: New file.
56129         * modules/unictype/bidicategory-name-tests: New file.
56130         * modules/unictype/bidicategory-of-tests: New file.
56131         * modules/unictype/bidicategory-test-tests: New file.
56132         * modules/unictype/block-list-tests: New file.
56133         * modules/unictype/block-of-tests: New file.
56134         * modules/unictype/block-test-tests: New file.
56135         * modules/unictype/category-C-tests: New file.
56136         * modules/unictype/category-Cc-tests: New file.
56137         * modules/unictype/category-Cf-tests: New file.
56138         * modules/unictype/category-Cn-tests: New file.
56139         * modules/unictype/category-Co-tests: New file.
56140         * modules/unictype/category-Cs-tests: New file.
56141         * modules/unictype/category-L-tests: New file.
56142         * modules/unictype/category-Ll-tests: New file.
56143         * modules/unictype/category-Lm-tests: New file.
56144         * modules/unictype/category-Lo-tests: New file.
56145         * modules/unictype/category-Lt-tests: New file.
56146         * modules/unictype/category-Lu-tests: New file.
56147         * modules/unictype/category-M-tests: New file.
56148         * modules/unictype/category-Mc-tests: New file.
56149         * modules/unictype/category-Me-tests: New file.
56150         * modules/unictype/category-Mn-tests: New file.
56151         * modules/unictype/category-N-tests: New file.
56152         * modules/unictype/category-Nd-tests: New file.
56153         * modules/unictype/category-Nl-tests: New file.
56154         * modules/unictype/category-No-tests: New file.
56155         * modules/unictype/category-P-tests: New file.
56156         * modules/unictype/category-Pc-tests: New file.
56157         * modules/unictype/category-Pd-tests: New file.
56158         * modules/unictype/category-Pe-tests: New file.
56159         * modules/unictype/category-Pf-tests: New file.
56160         * modules/unictype/category-Pi-tests: New file.
56161         * modules/unictype/category-Po-tests: New file.
56162         * modules/unictype/category-Ps-tests: New file.
56163         * modules/unictype/category-S-tests: New file.
56164         * modules/unictype/category-Sc-tests: New file.
56165         * modules/unictype/category-Sk-tests: New file.
56166         * modules/unictype/category-Sm-tests: New file.
56167         * modules/unictype/category-So-tests: New file.
56168         * modules/unictype/category-Z-tests: New file.
56169         * modules/unictype/category-Zl-tests: New file.
56170         * modules/unictype/category-Zp-tests: New file.
56171         * modules/unictype/category-Zs-tests: New file.
56172         * modules/unictype/category-and-not-tests: New file.
56173         * modules/unictype/category-and-tests: New file.
56174         * modules/unictype/category-byname-tests: New file.
56175         * modules/unictype/category-name-tests: New file.
56176         * modules/unictype/category-none-tests: New file.
56177         * modules/unictype/category-of-tests: New file.
56178         * modules/unictype/category-or-tests: New file.
56179         * modules/unictype/category-test-withtable-tests: New file.
56180         * modules/unictype/combining-class-tests: New file.
56181         * modules/unictype/ctype-alnum-tests: New file.
56182         * modules/unictype/ctype-alpha-tests: New file.
56183         * modules/unictype/ctype-blank-tests: New file.
56184         * modules/unictype/ctype-cntrl-tests: New file.
56185         * modules/unictype/ctype-digit-tests: New file.
56186         * modules/unictype/ctype-graph-tests: New file.
56187         * modules/unictype/ctype-lower-tests: New file.
56188         * modules/unictype/ctype-print-tests: New file.
56189         * modules/unictype/ctype-punct-tests: New file.
56190         * modules/unictype/ctype-space-tests: New file.
56191         * modules/unictype/ctype-upper-tests: New file.
56192         * modules/unictype/ctype-xdigit-tests: New file.
56193         * modules/unictype/decimal-digit-tests: New file.
56194         * modules/unictype/digit-tests: New file.
56195         * modules/unictype/mirror-tests: New file.
56196         * modules/unictype/numeric-tests: New file.
56197         * modules/unictype/property-alphabetic-tests: New file.
56198         * modules/unictype/property-ascii-hex-digit-tests: New file.
56199         * modules/unictype/property-bidi-arabic-digit-tests: New file.
56200         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
56201         * modules/unictype/property-bidi-block-separator-tests: New file.
56202         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
56203         * modules/unictype/property-bidi-common-separator-tests: New file.
56204         * modules/unictype/property-bidi-control-tests: New file.
56205         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
56206         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
56207         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
56208         * modules/unictype/property-bidi-european-digit-tests: New file.
56209         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
56210         * modules/unictype/property-bidi-left-to-right-tests: New file.
56211         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
56212         * modules/unictype/property-bidi-other-neutral-tests: New file.
56213         * modules/unictype/property-bidi-pdf-tests: New file.
56214         * modules/unictype/property-bidi-segment-separator-tests: New file.
56215         * modules/unictype/property-bidi-whitespace-tests: New file.
56216         * modules/unictype/property-byname-tests: New file.
56217         * modules/unictype/property-combining-tests: New file.
56218         * modules/unictype/property-composite-tests: New file.
56219         * modules/unictype/property-currency-symbol-tests: New file.
56220         * modules/unictype/property-dash-tests: New file.
56221         * modules/unictype/property-decimal-digit-tests: New file.
56222         * modules/unictype/property-default-ignorable-code-point-tests: New file.
56223         * modules/unictype/property-deprecated-tests: New file.
56224         * modules/unictype/property-diacritic-tests: New file.
56225         * modules/unictype/property-extender-tests: New file.
56226         * modules/unictype/property-format-control-tests: New file.
56227         * modules/unictype/property-grapheme-base-tests: New file.
56228         * modules/unictype/property-grapheme-extend-tests: New file.
56229         * modules/unictype/property-grapheme-link-tests: New file.
56230         * modules/unictype/property-hex-digit-tests: New file.
56231         * modules/unictype/property-hyphen-tests: New file.
56232         * modules/unictype/property-id-continue-tests: New file.
56233         * modules/unictype/property-id-start-tests: New file.
56234         * modules/unictype/property-ideographic-tests: New file.
56235         * modules/unictype/property-ids-binary-operator-tests: New file.
56236         * modules/unictype/property-ids-trinary-operator-tests: New file.
56237         * modules/unictype/property-ignorable-control-tests: New file.
56238         * modules/unictype/property-iso-control-tests: New file.
56239         * modules/unictype/property-join-control-tests: New file.
56240         * modules/unictype/property-left-of-pair-tests: New file.
56241         * modules/unictype/property-line-separator-tests: New file.
56242         * modules/unictype/property-logical-order-exception-tests: New file.
56243         * modules/unictype/property-lowercase-tests: New file.
56244         * modules/unictype/property-math-tests: New file.
56245         * modules/unictype/property-non-break-tests: New file.
56246         * modules/unictype/property-not-a-character-tests: New file.
56247         * modules/unictype/property-numeric-tests: New file.
56248         * modules/unictype/property-other-alphabetic-tests: New file.
56249         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
56250         * modules/unictype/property-other-grapheme-extend-tests: New file.
56251         * modules/unictype/property-other-id-continue-tests: New file.
56252         * modules/unictype/property-other-id-start-tests: New file.
56253         * modules/unictype/property-other-lowercase-tests: New file.
56254         * modules/unictype/property-other-math-tests: New file.
56255         * modules/unictype/property-other-uppercase-tests: New file.
56256         * modules/unictype/property-paired-punctuation-tests: New file.
56257         * modules/unictype/property-paragraph-separator-tests: New file.
56258         * modules/unictype/property-pattern-syntax-tests: New file.
56259         * modules/unictype/property-pattern-white-space-tests: New file.
56260         * modules/unictype/property-private-use-tests: New file.
56261         * modules/unictype/property-punctuation-tests: New file.
56262         * modules/unictype/property-quotation-mark-tests: New file.
56263         * modules/unictype/property-radical-tests: New file.
56264         * modules/unictype/property-sentence-terminal-tests: New file.
56265         * modules/unictype/property-soft-dotted-tests: New file.
56266         * modules/unictype/property-space-tests: New file.
56267         * modules/unictype/property-terminal-punctuation-tests: New file.
56268         * modules/unictype/property-test-tests: New file.
56269         * modules/unictype/property-titlecase-tests: New file.
56270         * modules/unictype/property-unassigned-code-value-tests: New file.
56271         * modules/unictype/property-unified-ideograph-tests: New file.
56272         * modules/unictype/property-uppercase-tests: New file.
56273         * modules/unictype/property-variation-selector-tests: New file.
56274         * modules/unictype/property-white-space-tests: New file.
56275         * modules/unictype/property-xid-continue-tests: New file.
56276         * modules/unictype/property-xid-start-tests: New file.
56277         * modules/unictype/property-zero-width-tests: New file.
56278         * modules/unictype/scripts-tests: New file.
56279         * modules/unictype/syntax-c-ident-tests: New file.
56280         * modules/unictype/syntax-c-whitespace-tests: New file.
56281         * modules/unictype/syntax-java-ident-tests: New file.
56282         * modules/unictype/syntax-java-whitespace-tests: New file.
56283         * tests/unictype/test-bidi_byname.c: New file.
56284         * tests/unictype/test-bidi_name.c: New file.
56285         * tests/unictype/test-bidi_of.c: New file.
56286         * tests/unictype/test-bidi_test.c: New file.
56287         * tests/unictype/test-block_list.c: New file.
56288         * tests/unictype/test-block_of.c: New file.
56289         * tests/unictype/test-block_test.c: New file.
56290         * tests/unictype/test-categ_and.c: New file.
56291         * tests/unictype/test-categ_and_not.c: New file.
56292         * tests/unictype/test-categ_byname.c: New file.
56293         * tests/unictype/test-categ_name.c: New file.
56294         * tests/unictype/test-categ_none.c: New file.
56295         * tests/unictype/test-categ_of.c: New file.
56296         * tests/unictype/test-categ_or.c: New file.
56297         * tests/unictype/test-categ_test_withtable.c: New file.
56298         * tests/unictype/test-combining.c: New file.
56299         * tests/unictype/test-decdigit.c: New file.
56300         * tests/unictype/test-digit.c: New file.
56301         * tests/unictype/test-mirror.c: New file.
56302         * tests/unictype/test-numeric.c: New file.
56303         * tests/unictype/test-pr_byname.c: New file.
56304         * tests/unictype/test-pr_test.c: New file.
56305         * tests/unictype/test-predicate-part1.h: New file.
56306         * tests/unictype/test-predicate-part2.h: New file.
56307         * tests/unictype/test-scripts.c: New file.
56308         * tests/unictype/test-sy_c_ident.c: New file.
56309         * tests/unictype/test-sy_java_ident.c: New file.
56310
56311         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
56312         for Unicode 5.0.0.
56313         * tests/unictype/test-categ_Cc.c: Likewise.
56314         * tests/unictype/test-categ_Cf.c: Likewise.
56315         * tests/unictype/test-categ_Cn.c: Likewise.
56316         * tests/unictype/test-categ_Co.c: Likewise.
56317         * tests/unictype/test-categ_Cs.c: Likewise.
56318         * tests/unictype/test-categ_L.c: Likewise.
56319         * tests/unictype/test-categ_Ll.c: Likewise.
56320         * tests/unictype/test-categ_Lm.c: Likewise.
56321         * tests/unictype/test-categ_Lo.c: Likewise.
56322         * tests/unictype/test-categ_Lt.c: Likewise.
56323         * tests/unictype/test-categ_Lu.c: Likewise.
56324         * tests/unictype/test-categ_M.c: Likewise.
56325         * tests/unictype/test-categ_Mc.c: Likewise.
56326         * tests/unictype/test-categ_Me.c: Likewise.
56327         * tests/unictype/test-categ_Mn.c: Likewise.
56328         * tests/unictype/test-categ_N.c: Likewise.
56329         * tests/unictype/test-categ_Nd.c: Likewise.
56330         * tests/unictype/test-categ_Nl.c: Likewise.
56331         * tests/unictype/test-categ_No.c: Likewise.
56332         * tests/unictype/test-categ_P.c: Likewise.
56333         * tests/unictype/test-categ_Pc.c: Likewise.
56334         * tests/unictype/test-categ_Pd.c: Likewise.
56335         * tests/unictype/test-categ_Pe.c: Likewise.
56336         * tests/unictype/test-categ_Pf.c: Likewise.
56337         * tests/unictype/test-categ_Pi.c: Likewise.
56338         * tests/unictype/test-categ_Po.c: Likewise.
56339         * tests/unictype/test-categ_Ps.c: Likewise.
56340         * tests/unictype/test-categ_S.c: Likewise.
56341         * tests/unictype/test-categ_Sc.c: Likewise.
56342         * tests/unictype/test-categ_Sk.c: Likewise.
56343         * tests/unictype/test-categ_Sm.c: Likewise.
56344         * tests/unictype/test-categ_So.c: Likewise.
56345         * tests/unictype/test-categ_Z.c: Likewise.
56346         * tests/unictype/test-categ_Zl.c: Likewise.
56347         * tests/unictype/test-categ_Zp.c: Likewise.
56348         * tests/unictype/test-categ_Zs.c: Likewise.
56349         * tests/unictype/test-ctype_alnum.c: Likewise.
56350         * tests/unictype/test-ctype_alpha.c: Likewise.
56351         * tests/unictype/test-ctype_blank.c: Likewise.
56352         * tests/unictype/test-ctype_cntrl.c: Likewise.
56353         * tests/unictype/test-ctype_digit.c: Likewise.
56354         * tests/unictype/test-ctype_graph.c: Likewise.
56355         * tests/unictype/test-ctype_lower.c: Likewise.
56356         * tests/unictype/test-ctype_print.c: Likewise.
56357         * tests/unictype/test-ctype_punct.c: Likewise.
56358         * tests/unictype/test-ctype_space.c: Likewise.
56359         * tests/unictype/test-ctype_upper.c: Likewise.
56360         * tests/unictype/test-ctype_xdigit.c: Likewise.
56361         * tests/unictype/test-decdigit.h: Likewise.
56362         * tests/unictype/test-digit.h: Likewise.
56363         * tests/unictype/test-numeric.h: Likewise.
56364         * tests/unictype/test-pr_alphabetic.c: Likewise.
56365         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
56366         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
56367         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
56368         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
56369         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
56370         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
56371         * tests/unictype/test-pr_bidi_control.c: Likewise.
56372         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
56373         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
56374         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
56375         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
56376         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
56377         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
56378         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
56379         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
56380         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
56381         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
56382         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
56383         * tests/unictype/test-pr_combining.c: Likewise.
56384         * tests/unictype/test-pr_composite.c: Likewise.
56385         * tests/unictype/test-pr_currency_symbol.c: Likewise.
56386         * tests/unictype/test-pr_dash.c: Likewise.
56387         * tests/unictype/test-pr_decimal_digit.c: Likewise.
56388         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
56389         * tests/unictype/test-pr_deprecated.c: Likewise.
56390         * tests/unictype/test-pr_diacritic.c: Likewise.
56391         * tests/unictype/test-pr_extender.c: Likewise.
56392         * tests/unictype/test-pr_format_control.c: Likewise.
56393         * tests/unictype/test-pr_grapheme_base.c: Likewise.
56394         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
56395         * tests/unictype/test-pr_grapheme_link.c: Likewise.
56396         * tests/unictype/test-pr_hex_digit.c: Likewise.
56397         * tests/unictype/test-pr_hyphen.c: Likewise.
56398         * tests/unictype/test-pr_id_continue.c: Likewise.
56399         * tests/unictype/test-pr_id_start.c: Likewise.
56400         * tests/unictype/test-pr_ideographic.c: Likewise.
56401         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
56402         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
56403         * tests/unictype/test-pr_ignorable_control.c: Likewise.
56404         * tests/unictype/test-pr_iso_control.c: Likewise.
56405         * tests/unictype/test-pr_join_control.c: Likewise.
56406         * tests/unictype/test-pr_left_of_pair.c: Likewise.
56407         * tests/unictype/test-pr_line_separator.c: Likewise.
56408         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
56409         * tests/unictype/test-pr_lowercase.c: Likewise.
56410         * tests/unictype/test-pr_math.c: Likewise.
56411         * tests/unictype/test-pr_non_break.c: Likewise.
56412         * tests/unictype/test-pr_not_a_character.c: Likewise.
56413         * tests/unictype/test-pr_numeric.c: Likewise.
56414         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
56415         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
56416         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
56417         * tests/unictype/test-pr_other_id_continue.c: Likewise.
56418         * tests/unictype/test-pr_other_id_start.c: Likewise.
56419         * tests/unictype/test-pr_other_lowercase.c: Likewise.
56420         * tests/unictype/test-pr_other_math.c: Likewise.
56421         * tests/unictype/test-pr_other_uppercase.c: Likewise.
56422         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
56423         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
56424         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
56425         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
56426         * tests/unictype/test-pr_private_use.c: Likewise.
56427         * tests/unictype/test-pr_punctuation.c: Likewise.
56428         * tests/unictype/test-pr_quotation_mark.c: Likewise.
56429         * tests/unictype/test-pr_radical.c: Likewise.
56430         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
56431         * tests/unictype/test-pr_soft_dotted.c: Likewise.
56432         * tests/unictype/test-pr_space.c: Likewise.
56433         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
56434         * tests/unictype/test-pr_titlecase.c: Likewise.
56435         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
56436         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
56437         * tests/unictype/test-pr_uppercase.c: Likewise.
56438         * tests/unictype/test-pr_variation_selector.c: Likewise.
56439         * tests/unictype/test-pr_white_space.c: Likewise.
56440         * tests/unictype/test-pr_xid_continue.c: Likewise.
56441         * tests/unictype/test-pr_xid_start.c: Likewise.
56442         * tests/unictype/test-pr_zero_width.c: Likewise.
56443         * tests/unictype/test-sy_c_whitespace.c: Likewise.
56444         * tests/unictype/test-sy_java_whitespace.c: Likewise.
56445
56446 2007-11-12  Bruno Haible  <bruno@clisp.org>
56447
56448         Unicode character classification functions.
56449         * lib/unictype.h: New file.
56450         * modules/unictype/base: New file.
56451         * modules/unictype/category-L: New file.
56452         * modules/unictype/category-Lu: New file.
56453         * modules/unictype/category-Ll: New file.
56454         * modules/unictype/category-Lt: New file.
56455         * modules/unictype/category-Lm: New file.
56456         * modules/unictype/category-Lo: New file.
56457         * modules/unictype/category-M: New file.
56458         * modules/unictype/category-Mn: New file.
56459         * modules/unictype/category-Mc: New file.
56460         * modules/unictype/category-Me: New file.
56461         * modules/unictype/category-N: New file.
56462         * modules/unictype/category-Nd: New file.
56463         * modules/unictype/category-Nl: New file.
56464         * modules/unictype/category-No: New file.
56465         * modules/unictype/category-P: New file.
56466         * modules/unictype/category-Pc: New file.
56467         * modules/unictype/category-Pd: New file.
56468         * modules/unictype/category-Ps: New file.
56469         * modules/unictype/category-Pe: New file.
56470         * modules/unictype/category-Pi: New file.
56471         * modules/unictype/category-Pf: New file.
56472         * modules/unictype/category-Po: New file.
56473         * modules/unictype/category-S: New file.
56474         * modules/unictype/category-Sm: New file.
56475         * modules/unictype/category-Sc: New file.
56476         * modules/unictype/category-Sk: New file.
56477         * modules/unictype/category-So: New file.
56478         * modules/unictype/category-Z: New file.
56479         * modules/unictype/category-Zs: New file.
56480         * modules/unictype/category-Zl: New file.
56481         * modules/unictype/category-Zp: New file.
56482         * modules/unictype/category-C: New file.
56483         * modules/unictype/category-Cc: New file.
56484         * modules/unictype/category-Cf: New file.
56485         * modules/unictype/category-Cs: New file.
56486         * modules/unictype/category-Co: New file.
56487         * modules/unictype/category-Cn: New file.
56488         * modules/unictype/category-or: New file.
56489         * modules/unictype/category-of: New file.
56490         * modules/unictype/category-test: New file.
56491         * modules/unictype/category-test-withtable: New file.
56492         * modules/unictype/category-byname: New file.
56493         * modules/unictype/category-none: New file.
56494         * modules/unictype/category-and: New file.
56495         * modules/unictype/category-and-not: New file.
56496         * modules/unictype/category-name: New file.
56497         * modules/unictype/combining-class: New file.
56498         * modules/unictype/category-all: New file.
56499         * modules/unictype/bidicategory-all: New file.
56500         * modules/unictype/bidicategory-byname: New file.
56501         * modules/unictype/bidicategory-name: New file.
56502         * modules/unictype/bidicategory-of: New file.
56503         * modules/unictype/bidicategory-test: New file.
56504         * modules/unictype/decimal-digit: New file.
56505         * modules/unictype/digit: New file.
56506         * modules/unictype/numeric: New file.
56507         * modules/unictype/mirror: New file.
56508         * modules/unictype/property-white-space: New file.
56509         * modules/unictype/property-alphabetic: New file.
56510         * modules/unictype/property-other-alphabetic: New file.
56511         * modules/unictype/property-not-a-character: New file.
56512         * modules/unictype/property-default-ignorable-code-point: New file.
56513         * modules/unictype/property-other-default-ignorable-code-point: New
56514         file.
56515         * modules/unictype/property-deprecated: New file.
56516         * modules/unictype/property-logical-order-exception: New file.
56517         * modules/unictype/property-variation-selector: New file.
56518         * modules/unictype/property-private-use: New file.
56519         * modules/unictype/property-unassigned-code-value: New file.
56520         * modules/unictype/property-uppercase: New file.
56521         * modules/unictype/property-other-uppercase: New file.
56522         * modules/unictype/property-lowercase: New file.
56523         * modules/unictype/property-other-lowercase: New file.
56524         * modules/unictype/property-titlecase: New file.
56525         * modules/unictype/property-soft-dotted: New file.
56526         * modules/unictype/property-id-start: New file.
56527         * modules/unictype/property-other-id-start: New file.
56528         * modules/unictype/property-id-continue: New file.
56529         * modules/unictype/property-other-id-continue: New file.
56530         * modules/unictype/property-xid-start: New file.
56531         * modules/unictype/property-xid-continue: New file.
56532         * modules/unictype/property-pattern-white-space: New file.
56533         * modules/unictype/property-pattern-syntax: New file.
56534         * modules/unictype/property-join-control: New file.
56535         * modules/unictype/property-grapheme-base: New file.
56536         * modules/unictype/property-grapheme-extend: New file.
56537         * modules/unictype/property-other-grapheme-extend: New file.
56538         * modules/unictype/property-grapheme-link: New file.
56539         * modules/unictype/property-bidi-control: New file.
56540         * modules/unictype/property-bidi-left-to-right: New file.
56541         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
56542         * modules/unictype/property-bidi-arabic-right-to-left: New file.
56543         * modules/unictype/property-bidi-european-digit: New file.
56544         * modules/unictype/property-bidi-eur-num-separator: New file.
56545         * modules/unictype/property-bidi-eur-num-terminator: New file.
56546         * modules/unictype/property-bidi-arabic-digit: New file.
56547         * modules/unictype/property-bidi-common-separator: New file.
56548         * modules/unictype/property-bidi-block-separator: New file.
56549         * modules/unictype/property-bidi-segment-separator: New file.
56550         * modules/unictype/property-bidi-whitespace: New file.
56551         * modules/unictype/property-bidi-non-spacing-mark: New file.
56552         * modules/unictype/property-bidi-boundary-neutral: New file.
56553         * modules/unictype/property-bidi-pdf: New file.
56554         * modules/unictype/property-bidi-embedding-or-override: New file.
56555         * modules/unictype/property-bidi-other-neutral: New file.
56556         * modules/unictype/property-hex-digit: New file.
56557         * modules/unictype/property-ascii-hex-digit: New file.
56558         * modules/unictype/property-ideographic: New file.
56559         * modules/unictype/property-unified-ideograph: New file.
56560         * modules/unictype/property-radical: New file.
56561         * modules/unictype/property-ids-binary-operator: New file.
56562         * modules/unictype/property-ids-trinary-operator: New file.
56563         * modules/unictype/property-zero-width: New file.
56564         * modules/unictype/property-space: New file.
56565         * modules/unictype/property-non-break: New file.
56566         * modules/unictype/property-iso-control: New file.
56567         * modules/unictype/property-format-control: New file.
56568         * modules/unictype/property-dash: New file.
56569         * modules/unictype/property-hyphen: New file.
56570         * modules/unictype/property-punctuation: New file.
56571         * modules/unictype/property-line-separator: New file.
56572         * modules/unictype/property-paragraph-separator: New file.
56573         * modules/unictype/property-quotation-mark: New file.
56574         * modules/unictype/property-sentence-terminal: New file.
56575         * modules/unictype/property-terminal-punctuation: New file.
56576         * modules/unictype/property-currency-symbol: New file.
56577         * modules/unictype/property-math: New file.
56578         * modules/unictype/property-other-math: New file.
56579         * modules/unictype/property-paired-punctuation: New file.
56580         * modules/unictype/property-left-of-pair: New file.
56581         * modules/unictype/property-combining: New file.
56582         * modules/unictype/property-composite: New file.
56583         * modules/unictype/property-decimal-digit: New file.
56584         * modules/unictype/property-numeric: New file.
56585         * modules/unictype/property-diacritic: New file.
56586         * modules/unictype/property-extender: New file.
56587         * modules/unictype/property-ignorable-control: New file.
56588         * modules/unictype/property-test: New file.
56589         * modules/unictype/property-byname: New file.
56590         * modules/unictype/property-all: New file.
56591         * modules/unictype/scripts: New file.
56592         * modules/unictype/scripts-all: New file.
56593         * modules/unictype/block-of: New file.
56594         * modules/unictype/block-test: New file.
56595         * modules/unictype/block-list: New file.
56596         * modules/unictype/block-all: New file.
56597         * modules/unictype/syntax-c-whitespace: New file.
56598         * modules/unictype/syntax-java-whitespace: New file.
56599         * modules/unictype/syntax-c-ident: New file.
56600         * modules/unictype/syntax-java-ident: New file.
56601         * modules/unictype/ctype-alnum: New file.
56602         * modules/unictype/ctype-alpha: New file.
56603         * modules/unictype/ctype-cntrl: New file.
56604         * modules/unictype/ctype-digit: New file.
56605         * modules/unictype/ctype-graph: New file.
56606         * modules/unictype/ctype-lower: New file.
56607         * modules/unictype/ctype-print: New file.
56608         * modules/unictype/ctype-punct: New file.
56609         * modules/unictype/ctype-space: New file.
56610         * modules/unictype/ctype-upper: New file.
56611         * modules/unictype/ctype-xdigit: New file.
56612         * modules/unictype/ctype-blank: New file.
56613         * lib/unictype/bidi_byname.c: New file.
56614         * lib/unictype/bidi_name.c: New file.
56615         * lib/unictype/bidi_of.c: New file.
56616         * lib/unictype/bidi_test.c: New file.
56617         * lib/unictype/bitmap.h: New file.
56618         * lib/unictype/block_test.c: New file.
56619         * lib/unictype/blocks.c: New file.
56620         * lib/unictype/categ_C.c: New file.
56621         * lib/unictype/categ_Cc.c: New file.
56622         * lib/unictype/categ_Cf.c: New file.
56623         * lib/unictype/categ_Cn.c: New file.
56624         * lib/unictype/categ_Co.c: New file.
56625         * lib/unictype/categ_Cs.c: New file.
56626         * lib/unictype/categ_L.c: New file.
56627         * lib/unictype/categ_Ll.c: New file.
56628         * lib/unictype/categ_Lm.c: New file.
56629         * lib/unictype/categ_Lo.c: New file.
56630         * lib/unictype/categ_Lt.c: New file.
56631         * lib/unictype/categ_Lu.c: New file.
56632         * lib/unictype/categ_M.c: New file.
56633         * lib/unictype/categ_Mc.c: New file.
56634         * lib/unictype/categ_Me.c: New file.
56635         * lib/unictype/categ_Mn.c: New file.
56636         * lib/unictype/categ_N.c: New file.
56637         * lib/unictype/categ_Nd.c: New file.
56638         * lib/unictype/categ_Nl.c: New file.
56639         * lib/unictype/categ_No.c: New file.
56640         * lib/unictype/categ_P.c: New file.
56641         * lib/unictype/categ_Pc.c: New file.
56642         * lib/unictype/categ_Pd.c: New file.
56643         * lib/unictype/categ_Pe.c: New file.
56644         * lib/unictype/categ_Pf.c: New file.
56645         * lib/unictype/categ_Pi.c: New file.
56646         * lib/unictype/categ_Po.c: New file.
56647         * lib/unictype/categ_Ps.c: New file.
56648         * lib/unictype/categ_S.c: New file.
56649         * lib/unictype/categ_Sc.c: New file.
56650         * lib/unictype/categ_Sk.c: New file.
56651         * lib/unictype/categ_Sm.c: New file.
56652         * lib/unictype/categ_So.c: New file.
56653         * lib/unictype/categ_Z.c: New file.
56654         * lib/unictype/categ_Zl.c: New file.
56655         * lib/unictype/categ_Zp.c: New file.
56656         * lib/unictype/categ_Zs.c: New file.
56657         * lib/unictype/categ_and.c: New file.
56658         * lib/unictype/categ_and_not.c: New file.
56659         * lib/unictype/categ_byname.c: New file.
56660         * lib/unictype/categ_name.c: New file.
56661         * lib/unictype/categ_none.c: New file.
56662         * lib/unictype/categ_of.c: New file.
56663         * lib/unictype/categ_or.c: New file.
56664         * lib/unictype/categ_test.c: New file.
56665         * lib/unictype/combining.c: New file.
56666         * lib/unictype/ctype_alnum.c: New file.
56667         * lib/unictype/ctype_alpha.c: New file.
56668         * lib/unictype/ctype_blank.c: New file.
56669         * lib/unictype/ctype_cntrl.c: New file.
56670         * lib/unictype/ctype_digit.c: New file.
56671         * lib/unictype/ctype_graph.c: New file.
56672         * lib/unictype/ctype_lower.c: New file.
56673         * lib/unictype/ctype_print.c: New file.
56674         * lib/unictype/ctype_punct.c: New file.
56675         * lib/unictype/ctype_space.c: New file.
56676         * lib/unictype/ctype_upper.c: New file.
56677         * lib/unictype/ctype_xdigit.c: New file.
56678         * lib/unictype/decdigit.c: New file.
56679         * lib/unictype/digit.c: New file.
56680         * lib/unictype/identsyntaxmap.h: New file.
56681         * lib/unictype/mirror.c: New file.
56682         * lib/unictype/numeric.c: New file.
56683         * lib/unictype/pr_alphabetic.c: New file.
56684         * lib/unictype/pr_ascii_hex_digit.c: New file.
56685         * lib/unictype/pr_bidi_arabic_digit.c: New file.
56686         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
56687         * lib/unictype/pr_bidi_block_separator.c: New file.
56688         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
56689         * lib/unictype/pr_bidi_common_separator.c: New file.
56690         * lib/unictype/pr_bidi_control.c: New file.
56691         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
56692         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
56693         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
56694         * lib/unictype/pr_bidi_european_digit.c: New file.
56695         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
56696         * lib/unictype/pr_bidi_left_to_right.c: New file.
56697         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
56698         * lib/unictype/pr_bidi_other_neutral.c: New file.
56699         * lib/unictype/pr_bidi_pdf.c: New file.
56700         * lib/unictype/pr_bidi_segment_separator.c: New file.
56701         * lib/unictype/pr_bidi_whitespace.c: New file.
56702         * lib/unictype/pr_byname.c: New file.
56703         * lib/unictype/pr_byname.gperf: New file.
56704         * lib/unictype/pr_combining.c: New file.
56705         * lib/unictype/pr_composite.c: New file.
56706         * lib/unictype/pr_currency_symbol.c: New file.
56707         * lib/unictype/pr_dash.c: New file.
56708         * lib/unictype/pr_decimal_digit.c: New file.
56709         * lib/unictype/pr_default_ignorable_code_point.c: New file.
56710         * lib/unictype/pr_deprecated.c: New file.
56711         * lib/unictype/pr_diacritic.c: New file.
56712         * lib/unictype/pr_extender.c: New file.
56713         * lib/unictype/pr_format_control.c: New file.
56714         * lib/unictype/pr_grapheme_base.c: New file.
56715         * lib/unictype/pr_grapheme_extend.c: New file.
56716         * lib/unictype/pr_grapheme_link.c: New file.
56717         * lib/unictype/pr_hex_digit.c: New file.
56718         * lib/unictype/pr_hyphen.c: New file.
56719         * lib/unictype/pr_id_continue.c: New file.
56720         * lib/unictype/pr_id_start.c: New file.
56721         * lib/unictype/pr_ideographic.c: New file.
56722         * lib/unictype/pr_ids_binary_operator.c: New file.
56723         * lib/unictype/pr_ids_trinary_operator.c: New file.
56724         * lib/unictype/pr_ignorable_control.c: New file.
56725         * lib/unictype/pr_iso_control.c: New file.
56726         * lib/unictype/pr_join_control.c: New file.
56727         * lib/unictype/pr_left_of_pair.c: New file.
56728         * lib/unictype/pr_line_separator.c: New file.
56729         * lib/unictype/pr_logical_order_exception.c: New file.
56730         * lib/unictype/pr_lowercase.c: New file.
56731         * lib/unictype/pr_math.c: New file.
56732         * lib/unictype/pr_non_break.c: New file.
56733         * lib/unictype/pr_not_a_character.c: New file.
56734         * lib/unictype/pr_numeric.c: New file.
56735         * lib/unictype/pr_other_alphabetic.c: New file.
56736         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
56737         * lib/unictype/pr_other_grapheme_extend.c: New file.
56738         * lib/unictype/pr_other_id_continue.c: New file.
56739         * lib/unictype/pr_other_id_start.c: New file.
56740         * lib/unictype/pr_other_lowercase.c: New file.
56741         * lib/unictype/pr_other_math.c: New file.
56742         * lib/unictype/pr_other_uppercase.c: New file.
56743         * lib/unictype/pr_paired_punctuation.c: New file.
56744         * lib/unictype/pr_paragraph_separator.c: New file.
56745         * lib/unictype/pr_pattern_syntax.c: New file.
56746         * lib/unictype/pr_pattern_white_space.c: New file.
56747         * lib/unictype/pr_private_use.c: New file.
56748         * lib/unictype/pr_punctuation.c: New file.
56749         * lib/unictype/pr_quotation_mark.c: New file.
56750         * lib/unictype/pr_radical.c: New file.
56751         * lib/unictype/pr_sentence_terminal.c: New file.
56752         * lib/unictype/pr_soft_dotted.c: New file.
56753         * lib/unictype/pr_space.c: New file.
56754         * lib/unictype/pr_terminal_punctuation.c: New file.
56755         * lib/unictype/pr_test.c: New file.
56756         * lib/unictype/pr_titlecase.c: New file.
56757         * lib/unictype/pr_unassigned_code_value.c: New file.
56758         * lib/unictype/pr_unified_ideograph.c: New file.
56759         * lib/unictype/pr_uppercase.c: New file.
56760         * lib/unictype/pr_variation_selector.c: New file.
56761         * lib/unictype/pr_white_space.c: New file.
56762         * lib/unictype/pr_xid_continue.c: New file.
56763         * lib/unictype/pr_xid_start.c: New file.
56764         * lib/unictype/pr_zero_width.c: New file.
56765         * lib/unictype/scripts.c: New file.
56766         * lib/unictype/sy_c_ident.c: New file.
56767         * lib/unictype/sy_c_whitespace.c: New file.
56768         * lib/unictype/sy_java_ident.c: New file.
56769         * lib/unictype/sy_java_whitespace.c: New file.
56770
56771         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
56772         Unicode 5.0.0.
56773         * lib/unictype/blocks.h: Likewise.
56774         * lib/unictype/categ_C.h: Likewise.
56775         * lib/unictype/categ_Cc.h: Likewise.
56776         * lib/unictype/categ_Cf.h: Likewise.
56777         * lib/unictype/categ_Cn.h: Likewise.
56778         * lib/unictype/categ_Co.h: Likewise.
56779         * lib/unictype/categ_Cs.h: Likewise.
56780         * lib/unictype/categ_L.h: Likewise.
56781         * lib/unictype/categ_Ll.h: Likewise.
56782         * lib/unictype/categ_Lm.h: Likewise.
56783         * lib/unictype/categ_Lo.h: Likewise.
56784         * lib/unictype/categ_Lt.h: Likewise.
56785         * lib/unictype/categ_Lu.h: Likewise.
56786         * lib/unictype/categ_M.h: Likewise.
56787         * lib/unictype/categ_Mc.h: Likewise.
56788         * lib/unictype/categ_Me.h: Likewise.
56789         * lib/unictype/categ_Mn.h: Likewise.
56790         * lib/unictype/categ_N.h: Likewise.
56791         * lib/unictype/categ_Nd.h: Likewise.
56792         * lib/unictype/categ_Nl.h: Likewise.
56793         * lib/unictype/categ_No.h: Likewise.
56794         * lib/unictype/categ_P.h: Likewise.
56795         * lib/unictype/categ_Pc.h: Likewise.
56796         * lib/unictype/categ_Pd.h: Likewise.
56797         * lib/unictype/categ_Pe.h: Likewise.
56798         * lib/unictype/categ_Pf.h: Likewise.
56799         * lib/unictype/categ_Pi.h: Likewise.
56800         * lib/unictype/categ_Po.h: Likewise.
56801         * lib/unictype/categ_Ps.h: Likewise.
56802         * lib/unictype/categ_S.h: Likewise.
56803         * lib/unictype/categ_Sc.h: Likewise.
56804         * lib/unictype/categ_Sk.h: Likewise.
56805         * lib/unictype/categ_Sm.h: Likewise.
56806         * lib/unictype/categ_So.h: Likewise.
56807         * lib/unictype/categ_Z.h: Likewise.
56808         * lib/unictype/categ_Zl.h: Likewise.
56809         * lib/unictype/categ_Zp.h: Likewise.
56810         * lib/unictype/categ_Zs.h: Likewise.
56811         * lib/unictype/categ_of.h: Likewise.
56812         * lib/unictype/combining.h: Likewise.
56813         * lib/unictype/ctype_alnum.h: Likewise.
56814         * lib/unictype/ctype_alpha.h: Likewise.
56815         * lib/unictype/ctype_blank.h: Likewise.
56816         * lib/unictype/ctype_cntrl.h: Likewise.
56817         * lib/unictype/ctype_digit.h: Likewise.
56818         * lib/unictype/ctype_graph.h: Likewise.
56819         * lib/unictype/ctype_lower.h: Likewise.
56820         * lib/unictype/ctype_print.h: Likewise.
56821         * lib/unictype/ctype_punct.h: Likewise.
56822         * lib/unictype/ctype_space.h: Likewise.
56823         * lib/unictype/ctype_upper.h: Likewise.
56824         * lib/unictype/ctype_xdigit.h: Likewise.
56825         * lib/unictype/decdigit.h: Likewise.
56826         * lib/unictype/digit.h: Likewise.
56827         * lib/unictype/mirror.h: Likewise.
56828         * lib/unictype/numeric.h: Likewise.
56829         * lib/unictype/pr_alphabetic.h: Likewise.
56830         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
56831         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
56832         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
56833         * lib/unictype/pr_bidi_block_separator.h: Likewise.
56834         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
56835         * lib/unictype/pr_bidi_common_separator.h: Likewise.
56836         * lib/unictype/pr_bidi_control.h: Likewise.
56837         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
56838         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
56839         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
56840         * lib/unictype/pr_bidi_european_digit.h: Likewise.
56841         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
56842         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
56843         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
56844         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
56845         * lib/unictype/pr_bidi_pdf.h: Likewise.
56846         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
56847         * lib/unictype/pr_bidi_whitespace.h: Likewise.
56848         * lib/unictype/pr_combining.h: Likewise.
56849         * lib/unictype/pr_composite.h: Likewise.
56850         * lib/unictype/pr_currency_symbol.h: Likewise.
56851         * lib/unictype/pr_dash.h: Likewise.
56852         * lib/unictype/pr_decimal_digit.h: Likewise.
56853         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
56854         * lib/unictype/pr_deprecated.h: Likewise.
56855         * lib/unictype/pr_diacritic.h: Likewise.
56856         * lib/unictype/pr_extender.h: Likewise.
56857         * lib/unictype/pr_format_control.h: Likewise.
56858         * lib/unictype/pr_grapheme_base.h: Likewise.
56859         * lib/unictype/pr_grapheme_extend.h: Likewise.
56860         * lib/unictype/pr_grapheme_link.h: Likewise.
56861         * lib/unictype/pr_hex_digit.h: Likewise.
56862         * lib/unictype/pr_hyphen.h: Likewise.
56863         * lib/unictype/pr_id_continue.h: Likewise.
56864         * lib/unictype/pr_id_start.h: Likewise.
56865         * lib/unictype/pr_ideographic.h: Likewise.
56866         * lib/unictype/pr_ids_binary_operator.h: Likewise.
56867         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
56868         * lib/unictype/pr_ignorable_control.h: Likewise.
56869         * lib/unictype/pr_iso_control.h: Likewise.
56870         * lib/unictype/pr_join_control.h: Likewise.
56871         * lib/unictype/pr_left_of_pair.h: Likewise.
56872         * lib/unictype/pr_line_separator.h: Likewise.
56873         * lib/unictype/pr_logical_order_exception.h: Likewise.
56874         * lib/unictype/pr_lowercase.h: Likewise.
56875         * lib/unictype/pr_math.h: Likewise.
56876         * lib/unictype/pr_non_break.h: Likewise.
56877         * lib/unictype/pr_not_a_character.h: Likewise.
56878         * lib/unictype/pr_numeric.h: Likewise.
56879         * lib/unictype/pr_other_alphabetic.h: Likewise.
56880         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
56881         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
56882         * lib/unictype/pr_other_id_continue.h: Likewise.
56883         * lib/unictype/pr_other_id_start.h: Likewise.
56884         * lib/unictype/pr_other_lowercase.h: Likewise.
56885         * lib/unictype/pr_other_math.h: Likewise.
56886         * lib/unictype/pr_other_uppercase.h: Likewise.
56887         * lib/unictype/pr_paired_punctuation.h: Likewise.
56888         * lib/unictype/pr_paragraph_separator.h: Likewise.
56889         * lib/unictype/pr_pattern_syntax.h: Likewise.
56890         * lib/unictype/pr_pattern_white_space.h: Likewise.
56891         * lib/unictype/pr_private_use.h: Likewise.
56892         * lib/unictype/pr_punctuation.h: Likewise.
56893         * lib/unictype/pr_quotation_mark.h: Likewise.
56894         * lib/unictype/pr_radical.h: Likewise.
56895         * lib/unictype/pr_sentence_terminal.h: Likewise.
56896         * lib/unictype/pr_soft_dotted.h: Likewise.
56897         * lib/unictype/pr_space.h: Likewise.
56898         * lib/unictype/pr_terminal_punctuation.h: Likewise.
56899         * lib/unictype/pr_titlecase.h: Likewise.
56900         * lib/unictype/pr_unassigned_code_value.h: Likewise.
56901         * lib/unictype/pr_unified_ideograph.h: Likewise.
56902         * lib/unictype/pr_uppercase.h: Likewise.
56903         * lib/unictype/pr_variation_selector.h: Likewise.
56904         * lib/unictype/pr_white_space.h: Likewise.
56905         * lib/unictype/pr_xid_continue.h: Likewise.
56906         * lib/unictype/pr_xid_start.h: Likewise.
56907         * lib/unictype/pr_zero_width.h: Likewise.
56908         * lib/unictype/scripts.h: Likewise.
56909         * lib/unictype/scripts_byname.gperf: Likewise.
56910         * lib/unictype/sy_c_ident.h: Likewise.
56911         * lib/unictype/sy_c_whitespace.h: Likewise.
56912         * lib/unictype/sy_java_ident.h: Likewise.
56913         * lib/unictype/sy_java_whitespace.h: Likewise.
56914
56915         * lib/unictype/Makefile: New file.
56916         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
56917         glibc.
56918         * lib/unictype/3level.h: New file, copied from glibc.
56919         * lib/unictype/3levelbit.h: New file.
56920
56921 2007-11-11  Bruno Haible  <bruno@clisp.org>
56922
56923         * modules/gperf: New file.
56924         * modules/iconv_open (Depends-on): Add it.
56925         (Makefile.am): Remove the GPERF definition.
56926
56927 2007-11-11  Bruno Haible  <bruno@clisp.org>
56928
56929         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
56930         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
56931
56932 2007-11-11  Bruno Haible  <bruno@clisp.org>
56933
56934         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
56935         (usage): Remove function.
56936
56937 2007-11-11  Bruno Haible  <bruno@clisp.org>
56938
56939         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
56940         gl_FUNC_CEILF_LIBS.
56941         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
56942         gl_FUNC_CEIL_LIBS.
56943         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
56944         gl_FUNC_CEILL_LIBS.
56945         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
56946         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
56947         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
56948
56949 2007-11-11  Bruno Haible  <bruno@clisp.org>
56950
56951         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
56952         roundf were declared but do not exist on functions.
56953         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
56954         roundl were declared but do not exist on functions.
56955         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
56956         HAVE_FLOORL_AND_CEILL, respectively.
56957         Needed for Sun C on Solaris 10.
56958
56959 2007-11-11  Bruno Haible  <bruno@clisp.org>
56960
56961         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
56962         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
56963         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
56964         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
56965         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
56966         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
56967         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
56968         HAVE_DECL_ROUNDF.
56969         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
56970         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
56971         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
56972         of HAVE_DECL_ROUND*.
56973         * modules/math (Makefile.am): Update.
56974
56975 2007-11-10  Bruno Haible  <bruno@clisp.org>
56976
56977         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
56978         ptrdiff_t as m4/intl.m4.
56979
56980 2007-11-10  Jim Meyering  <meyering@redhat.com>
56981
56982         Avoid link failure for the argmatch test.
56983         * tests/test-argmatch.c (usage): Define function to avoid a link
56984         failure: argmatch_die requires a usage function.
56985
56986 2007-11-09  Bruno Haible  <bruno@clisp.org>
56987
56988         * doc/functions/snprintf.texi: Mention BeOS deficiency.
56989         * doc/functions/vsnprintf.texi: Likewise.
56990         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
56991         with a size argument < 2.
56992
56993 2007-11-09  Bruno Haible  <bruno@clisp.org>
56994
56995         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
56996         buffer. Fixes an inefficiency introduced on 2007-11-03.
56997
56998 2007-11-09  Bruno Haible  <bruno@clisp.org>
56999
57000         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
57001         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
57002
57003 2007-11-08  Jim Meyering  <meyering@redhat.com>
57004
57005         Change cache variable name prefix "jm_" to "gl_" everywhere.
57006         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
57007         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
57008         * m4/uptime.m4: s/gl_/jm_/
57009
57010 2007-11-07  Bruno Haible  <bruno@clisp.org>
57011
57012         Update to GNU gettext 0.17.
57013         * m4/intl.m4: Update to GNU gettext 0.17.
57014         * m4/po.m4: Likewise.
57015         * modules/gettext (Files): Remove m4/ulonglong.m4.
57016         (configure.ac): Require gettext infrastructure from version 0.17.
57017
57018 2007-11-06  Bruno Haible  <bruno@clisp.org>
57019
57020         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
57021         symbolic values are not defined in a public header.
57022         * lib/freadable.c (freadable) [QNX]: Likewise.
57023         * lib/freadahead.c (freadahead) [QNX]: Likewise.
57024         * lib/freading.c (freading) [QNX]: Likewise.
57025         * lib/fseterr.c (fseterr) [QNX]: Likewise.
57026         * lib/fwritable.c (fwritable) [QNX]: Likewise.
57027         * lib/fwriting.c (fwriting) [QNX]: Likewise.
57028         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
57029         Reported by Alain Magloire.
57030
57031         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
57032
57033 2007-11-05  Bruno Haible  <bruno@clisp.org>
57034
57035         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
57036         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
57037         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
57038         Reported by Eric Blake.
57039
57040 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57041             Bruno Haible  <bruno@clisp.org>
57042
57043         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
57044         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
57045         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
57046         (malloc): Undefine also before including <stdlib.h>.
57047         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
57048         Needed on OSF/1 4.0.
57049
57050 2007-11-05  Jim Meyering  <meyering@redhat.com>
57051
57052         git-version-gen: sync from coreutils.
57053         * build-aux/git-version-gen: Add comments.
57054         Change the first '-' to '.' in the snapshot version string,
57055         e.g., 6.9-377-08144 -> 6.9.377-08144
57056         Remove first parameter.
57057         Don't declare a version "-dirty" merely because a time
57058         stamp has changed.
57059
57060 2007-11-04  Bruno Haible  <bruno@clisp.org>
57061
57062         * lib/lock.h: Protect all macro definitions containing an 'if'
57063         statement through a "do { ... } while (0)".
57064         * lib/tls.h: Likewise.
57065
57066 2007-11-04  Bruno Haible  <bruno@clisp.org>
57067
57068         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
57069
57070 2007-11-04  Bruno Haible  <bruno@clisp.org>
57071
57072         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
57073         * modules/fprintf-posix (Depends-on): Add nocrash.
57074         * modules/snprintf-posix (Depends-on): Likewise.
57075         * modules/sprintf-posix (Depends-on): Likewise.
57076         * modules/vasnprintf-posix (Depends-on): Likewise.
57077         * modules/vasprintf-posix (Depends-on): Likewise.
57078         * modules/vfprintf-posix (Depends-on): Likewise.
57079         * modules/vsnprintf-posix (Depends-on): Likewise.
57080         * modules/vsprintf-posix (Depends-on): Likewise.
57081         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57082         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57083         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57084         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57085         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57086         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57087         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57088
57089 2007-11-04  Bruno Haible  <bruno@clisp.org>
57090
57091         * modules/nocrash: New file.
57092         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
57093         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
57094
57095 2007-11-04  Bruno Haible  <bruno@clisp.org>
57096
57097         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
57098         precision handling.
57099         * tests/test-vasprintf-posix.c (test_function): Likewise.
57100         * tests/test-snprintf-posix.h (test_function): Likewise.
57101         * tests/test-sprintf-posix.h (test_function): Likewise.
57102
57103         Fix *printf behaviour for large precisions on mingw and BeOS.
57104         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
57105         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
57106         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
57107         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57108         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57109         gl_PRINTF_PRECISION and test its result. Invoke
57110         gl_PREREQ_VASNPRINTF_PRECISION.
57111         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57112         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57113         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57114         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57115         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57116         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57117         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57118         * doc/functions/fprintf.texi: Update.
57119         * doc/functions/printf.texi: Update.
57120         * doc/functions/snprintf.texi: Update.
57121         * doc/functions/sprintf.texi: Update.
57122         * doc/functions/vfprintf.texi: Update.
57123         * doc/functions/vprintf.texi: Update.
57124         * doc/functions/vsnprintf.texi: Update.
57125         * doc/functions/vsprintf.texi: Update.
57126
57127 2007-11-04  Bruno Haible  <bruno@clisp.org>
57128
57129         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
57130
57131 2007-11-04  Bruno Haible  <bruno@clisp.org>
57132
57133         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
57134         Reported by Sylvain Beucler <beuc@gnu.org>.
57135
57136 2007-11-03  Bruno Haible  <bruno@clisp.org>
57137
57138         * tests/test-fprintf-posix2.sh: New file.
57139         * tests/test-fprintf-posix2.c: New file.
57140         * modules/fprintf-posix-tests (Files): Add them.
57141         (TESTS): Add test-fprintf-posix2.sh.
57142         (configure.ac): Check for getrlimit and setrlimit.
57143         (check_PROGRAMS): Add test-fprintf-posix2.
57144
57145         * tests/test-printf-posix2.sh: New file.
57146         * tests/test-printf-posix2.c: New file.
57147         * modules/printf-posix-tests (Files): Add them.
57148         (TESTS): Add test-printf-posix2.sh.
57149         (configure.ac): Check for getrlimit and setrlimit.
57150         (check_PROGRAMS): Add test-printf-posix2.
57151
57152         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
57153         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
57154         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
57155         (decode_double): New function, copied from decode_long_double.
57156         (scale10_round_decimal_decoded): New function, extracted from
57157         scale10_round_decimal_long_double.
57158         (scale10_round_decimal_long_double): Use it.
57159         (scale10_round_decimal_double): New function.
57160         (floorlog10): New function.
57161         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
57162         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
57163         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57164         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57165         gl_PRINTF_ENOMEM and test its result. Invoke
57166         gl_PREREQ_VASNPRINTF_ENOMEM.
57167         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57168         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57169         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57170         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57171         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57172         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57173         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57174         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
57175         * modules/snprintf-posix (Depends-on): Likewise.
57176         * modules/sprintf-posix (Depends-on): Likewise.
57177         * modules/vasnprintf-posix (Depends-on): Likewise.
57178         * modules/vasprintf-posix (Depends-on): Likewise.
57179         * modules/vfprintf-posix (Depends-on): Likewise.
57180         * modules/vsnprintf-posix (Depends-on): Likewise.
57181         * modules/vsprintf-posix (Depends-on): Likewise.
57182         * doc/functions/fprintf.texi: Update.
57183         * doc/functions/printf.texi: Update.
57184         * doc/functions/snprintf.texi: Update.
57185         * doc/functions/sprintf.texi: Update.
57186         * doc/functions/vfprintf.texi: Update.
57187         * doc/functions/vprintf.texi: Update.
57188         * doc/functions/vsnprintf.texi: Update.
57189         * doc/functions/vsprintf.texi: Update.
57190
57191 2007-11-03  Bruno Haible  <bruno@clisp.org>
57192
57193         * modules/frexp-nolibm-tests: New file.
57194
57195         * modules/frexp-nolibm: New file.
57196         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
57197
57198 2007-11-03  Bruno Haible  <bruno@clisp.org>
57199
57200         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
57201         value is C99 compliant.
57202         Needed for OSF/1 5.1.
57203
57204 2007-11-03  Bruno Haible  <bruno@clisp.org>
57205
57206         Fix out-of-memory handling of vasnprintf.
57207         * lib/printf-parse.c: Include <errno.h>.
57208         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
57209         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
57210         is already set.
57211
57212 2007-11-02  Eric Blake  <ebb9@byu.net>
57213
57214         Fix tests on cygwin.
57215         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
57216
57217 2007-11-01  Bruno Haible  <bruno@clisp.org>
57218
57219         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
57220         warning.
57221         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
57222         needed for POSIX compatibility.
57223
57224 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57225
57226         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
57227         for compatibility with GNU.
57228
57229 2007-11-01  Bruno Haible  <bruno@clisp.org>
57230
57231         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
57232         (putenv): Renamed from rpl_putenv. Change argument type from
57233         'const char *' to 'char *'.
57234         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
57235         of defining putenv in config.h, just set REPLACE_PUTENV.
57236         * modules/putenv (Depends-on): Add stdlib.
57237         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57238         (Include): Use <stdlib.h>.
57239         * lib/stdlib.in.h (putenv): New declaration.
57240         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
57241         REPLACE_PUTENV.
57242         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
57243         REPLACE_PUTENV.
57244         Needed for MacOS X 10.5.0.
57245         Reported by Peter O'Gorman <peter@pogma.com>.
57246
57247 2007-11-01  Jim Meyering  <meyering@redhat.com>
57248
57249         Treat an empty date string exactly like "0".
57250         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
57251         if the remaining date string (to be parsed) is empty, use "0".
57252         Reported by Mischa Molhoek and discussed in this thread:
57253         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
57254
57255 2007-10-31  Bruno Haible  <bruno@clisp.org>
57256
57257         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
57258         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
57259         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
57260         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
57261         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
57262         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
57263
57264 2007-10-31  Bruno Haible  <bruno@clisp.org>
57265
57266         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
57267         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
57268         (AC_TYPE_LONG_LONG_INT): Use it.
57269         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
57270         it as well.
57271         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
57272         to m4/longlong.m4.
57273         * modules/stdint (Files): Remove m4/ulonglong.m4.
57274         * modules/strtoull (Files): Use m4/longlong.m4 instead of
57275         m4/ulonglong.m4.
57276         * modules/strtoumax (Files): Likewise.
57277
57278 2007-10-30  Bruno Haible  <bruno@clisp.org>
57279
57280         * modules/xvasprintf-posix: New file.
57281         Suggested by Eric Blake.
57282
57283 2007-10-30  Bruno Haible  <bruno@clisp.org>
57284
57285         * modules/xprintf-posix-tests: New file.
57286         * tests/test-xprintf-posix.sh: New file.
57287         * tests/test-xprintf-posix.c: New file.
57288         * tests/test-xfprintf-posix.c: New file.
57289
57290         * modules/xprintf-posix: New file.
57291
57292 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57293
57294         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
57295         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
57296         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
57297
57298 2007-10-29  Bruno Haible  <bruno@clisp.org>
57299
57300         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
57301         contain the special marker '_cv_'.
57302         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
57303         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
57304         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
57305         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
57306         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
57307         Reported by Ralf Wildenhues.
57308
57309 2007-10-29  Bruno Haible  <bruno@clisp.org>
57310
57311         * gnulib-tool (func_import): When --lgpl is not specified, set
57312         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
57313         GPLv3.
57314         Reported by Simon Josefsson.
57315
57316 2007-10-28  Bruno Haible  <bruno@clisp.org>
57317
57318         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
57319         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
57320         HAVE_DECL_ISFINITE.
57321         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57322         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
57323         HAVE_DECL_ISFINITE.
57324
57325 2007-10-28  Bruno Haible  <bruno@clisp.org>
57326
57327         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
57328         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
57329
57330 2007-10-28  Bruno Haible  <bruno@clisp.org>
57331
57332         Fix link errors with Sun C 5.0 on Solaris 10.
57333         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
57334         function is declared but not present in the compiler's libm.
57335         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
57336         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
57337         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
57338         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
57339         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
57340         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
57341         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
57342         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57343         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
57344         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
57345         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
57346         HAVE_DECL_FLOORL.
57347
57348 2007-10-28  Bruno Haible  <bruno@clisp.org>
57349
57350         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
57351         gl_FUNC_FLOORL. Cache the result.
57352         (gl_FUNC_FLOORL): Use it.
57353         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
57354         gl_FUNC_CEILL. Cache the result.
57355         (gl_FUNC_CEILL): Use it.
57356
57357         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
57358         gl_FUNC_FLOOR. Cache the result.
57359         (gl_FUNC_FLOOR): Use it.
57360         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
57361         gl_FUNC_CEIL. Cache the result.
57362         (gl_FUNC_CEIL): Use it.
57363
57364         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
57365         gl_FUNC_FLOORF. Cache the result.
57366         (gl_FUNC_FLOORF): Use it.
57367         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
57368         gl_FUNC_CEILF. Cache the result.
57369         (gl_FUNC_CEILF): Use it.
57370
57371 2007-10-28  Bruno Haible  <bruno@clisp.org>
57372
57373         * gnulib-tool: Allow specifying the LGPL version number through
57374         --lgpl=2 or --lgpl=3.
57375         (func_usage): Document --lgpl with argument.
57376         Handle --lgpl=... arguments.
57377         (func_import): Recognize also gl_LGPL calls with an argument. When
57378         --lgpl=2 is used and the module's license is just LGPL, report an
57379         error. Set sed_transform_lib_file according to the lgpl variable. In
57380         the generated files, use --lgpl or gl_LGPL invocations with argument,
57381         if necessary.
57382         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
57383         an LGPv2+ license.
57384         * doc/gnulib-tool.texi (Modified imports): Update explanation of
57385         gl_LGPL macro.
57386
57387 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57388             Bruno Haible  <bruno@clisp.org>
57389
57390         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
57391         (u16_uctomb_aux): Likewise.
57392         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
57393         !HAVE_INLINE.
57394         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
57395
57396 2007-10-28  Bruno Haible  <bruno@clisp.org>
57397
57398         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
57399         Invoke AM_GETTEXT_OPTION if it exists.
57400         * modules/vasprintf: Likewise.
57401         * modules/verror: Likewise.
57402         * modules/xprintf: Likewise.
57403         * modules/xvasprintf: Likewise.
57404
57405 2007-10-27  Ben Pfaff  <blp@gnu.org>
57406
57407         * lib/math.in.h: Define isfinite macro and prototypes for
57408         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
57409         implementations.
57410         * m4/math_h.m4: New substitutions for isfinite module.
57411         * lib/isfinite.c: New file.
57412         * m4/isfinite.m4: New file.
57413         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
57414         * modules/isfinite: New file.
57415         * modules/isfinite-tests: New file.
57416         * tests/tests-isfinite.c: New file.
57417         * doc/functions/isfinite.texi: Mention isfinite module.
57418         * MODULES.html.sh: Mention new module.
57419
57420 2007-10-27  Ben Pfaff  <blp@gnu.org>
57421
57422         Ralf Wildenhues reported that Tru64 4.0D declares the round
57423         functions but does not have definitions.
57424         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
57425         cannot be found in any library, set the output variable to
57426         "missing" instead of "".
57427         * m4/round.m4: Also use our substitute if we cannot find round in
57428         any library, even if it is declared.
57429         * m4/roundf.m4: Likewise for roundf.
57430         * m4/roundl.m4: Likewise for roundl.
57431         * lib/math.in.h: Undefine roundf, round, roundl before defining
57432         their replacements, to allow for hypothetical systems where these
57433         may be defined as macros but not available in libraries.
57434
57435 2007-10-27  Bruno Haible  <bruno@clisp.org>
57436
57437         * doc/gnulib.texi: Invoke @firstparagraphindent.
57438         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
57439         changes in gnulib.
57440         (Source changes): New section.
57441
57442 2007-10-26  Bruno Haible  <bruno@clisp.org>
57443
57444         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
57445         borrowed from autoconf.
57446
57447 2007-10-26  Bruno Haible  <bruno@clisp.org>
57448
57449         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
57450         strerror returned the empty string. Needed on HP-UX 11.00.
57451
57452 2007-10-24  Micah Cowan  <micah@cowan.name>
57453
57454         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
57455         * build-aux/bootstrap: Remove support for now-unnecessary option,
57456         --cvs-user, and envvars CVS_USER, CVS_RSH.
57457
57458 2007-10-24  Jim Meyering  <meyering@redhat.com>
57459
57460         Avoid diagnostics from sha1sum when there is no cached checksum.
57461         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
57462         if the po.s1 file hasn't been created yet.
57463
57464         * build-aux/bootstrap: Sync from coreutils:
57465         2007-10-24  Jim Meyering  <meyering@redhat.com>
57466         Get gnulib from the git repository, not from an obsolete cvs one.
57467         * build-aux/bootstrap: Suggestion from Micah Cowan.
57468         2007-10-04  Jim Meyering  <jim@meyering.net>
57469         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
57470         (update_po_files): Work also when there are no .po files in po/.
57471
57472 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57473
57474         * README: Append ".git" to git and cg examples.
57475         Problem reported by Benoit Sigoure.
57476
57477 2007-10-23  Micah Cowan  <micah@cowan.name>
57478
57479         * users.txt: Add wget.
57480
57481 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57482
57483         Fix linking of some unistdio tests on FreeBSD.
57484         * modules/unistdio/u16-vsnprintf-tests
57485         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
57486         * modules/unistdio/u16-vsprintf-tests
57487         (test_u16_vsnprintf1_LDADD): Likewise.
57488         * modules/unistdio/u32-vsnprintf-tests
57489         (test_u32_vsnprintf1_LDADD): Likewise.
57490         * modules/unistdio/u32-vsprintf-tests
57491         (test_u32_vsprintf1_LDADD): Likewise.
57492         * modules/unistdio/u8-vsnprintf-tests
57493         (test_u8_vsnprintf1_LDADD): Likewise.
57494         * modules/unistdio/u8-vsprintf-tests
57495         (test_u8_vsprintf1_LDADD): Likewise.
57496         * modules/unistdio/ulc-vsnprintf-tests
57497         (test_ulc_vsnprintf1_LDADD): Likewise.
57498         * modules/unistdio/ulc-vsprintf-tests
57499         (test_ulc_vsprintf1_LDADD): Likewise.
57500
57501         Fix linking of some uniconv tests on FreeBSD.
57502         * modules/uniconv/u16-conv-from-enc-tests
57503         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
57504         * modules/uniconv/u16-conv-to-enc-tests
57505         (test_u16_conv_to_enc_LDADD): Likewise.
57506         * modules/uniconv/u16-strconv-from-enc-tests
57507         (test_u16_strconv_from_enc_LDADD): Likewise.
57508         * modules/uniconv/u16-strconv-to-enc-tests
57509         (test_u16_strconv_to_enc_LDADD): Likewise.
57510         * modules/uniconv/u32-conv-from-enc-tests
57511         (test_u32_conv_from_enc_LDADD): Likewise.
57512         * modules/uniconv/u32-conv-to-enc-tests
57513         (test_u32_conv_to_enc_LDADD): Likewise.
57514         * modules/uniconv/u32-strconv-from-enc-tests
57515         (test_u32_strconv_from_enc_LDADD): Likewise.
57516         * modules/uniconv/u32-strconv-to-enc-tests
57517         (test_u32_strconv_to_enc_LDADD): Likewise.
57518         * modules/uniconv/u8-conv-from-enc-tests
57519         (test_u8_conv_from_enc_LDADD): Likewise.
57520         * modules/uniconv/u8-conv-to-enc-tests
57521         (test_u8_conv_to_enc_LDADD): Likewise.
57522         * modules/uniconv/u8-strconv-from-enc-tests
57523         (test_u8_strconv_from_enc_LDADD): Likewise.
57524         * modules/uniconv/u8-strconv-to-enc-tests
57525         (test_u8_strconv_to_enc_LDADD): Likewise.
57526
57527 2007-10-22  Bruno Haible  <bruno@clisp.org>
57528
57529         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
57530         size.
57531
57532 2007-10-22  Eric Blake  <ebb9@byu.net>
57533
57534         Tweak x*printf documentation.
57535         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
57536         variable name and comments.
57537         Suggested by Bruno Haible.
57538
57539 2007-10-22  Bruno Haible  <bruno@clisp.org>
57540
57541         * lib/acl.c (copy_acl): Fix file name in comment.
57542
57543 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57544
57545         Fix Tru64 problem with stdbool.h.
57546         * lib/stdbool.in.h (false, true):
57547         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
57548         Don't declare as an enum in this situation; it runs afoul of Tru64.
57549         Problem reported by Steven M. Schweda in
57550         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
57551
57552 2007-10-22  Eric Blake  <ebb9@byu.net>
57553
57554         Also wrap vf?printf.
57555         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
57556         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
57557         (xvprintf, xvfprintf): New functions.
57558
57559 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57560
57561         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
57562         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
57563
57564         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
57565         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
57566
57567 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57568
57569         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
57570         by Bruno Haible.
57571
57572 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57573
57574         * lib/getloadavg.c
57575         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
57576         Undef `sys' after including sys/table.h, for Tru64 4.0D.
57577
57578         * tests/test-i-ring.c: Work for C89.
57579
57580 2007-10-22  Bruno Haible  <bruno@clisp.org>
57581
57582         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
57583         -1u, in preprocessor expression, so that we don't test for the bug
57584         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
57585         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
57586
57587 2007-10-22  Eric Blake  <ebb9@byu.net>
57588
57589         * tests/test-yesno.sh: Silence stderr during test.
57590
57591 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57592
57593         * modules/crypto/gc-camellia: New file.
57594
57595         * m4/gc-camellia.m4: New file.
57596
57597         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
57598
57599         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
57600
57601 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57602
57603         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
57604         --help to stdout.  Reported by sms@antinode.org (Steven
57605         M. Schweda).
57606
57607 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57608
57609         * users.txt: Fix link to libksba.
57610
57611 2007-10-21  Ben Pfaff  <blp@gnu.org>
57612
57613         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
57614         round.c roundf implementation that depends on floorf and ceilf to
57615         be tested unconditionally.
57616
57617 2007-10-21  Ben Pfaff  <blp@gnu.org>
57618
57619         * m4/check-libm-func.m4: Removed.
57620         * m4/check-math-lib.m4: New file.
57621         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
57622         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
57623         definition and lack of AC_LIBOBJ([roundf]).
57624         * m4/roundl.m4: Ditto, and similarly for roundl.
57625         * modules/round: Reference new m4 file.
57626         * modules/roundf: Ditto.
57627         * modules/roundl: Ditto.
57628         * tests/test-round2.c (main): Use ROUND instead of round.
57629         Bug report from Bruno Haible.
57630
57631 2007-10-21  Bruno Haible  <bruno@clisp.org>
57632
57633         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
57634         context.
57635
57636 2007-10-21  Bruno Haible  <bruno@clisp.org>
57637
57638         * tests/test-wcwidth.c (main): Allow negative result for some control
57639         characters.
57640
57641         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
57642         Needed on OSF/1 5.1.
57643
57644 2007-10-21  Bruno Haible  <bruno@clisp.org>
57645
57646         * tests/test-floorf1.c: Include isnanf.h.
57647         (main): Use isnanf() instead of isnan().
57648         * tests/test-ceilf1.c: Include isnanf.h.
57649         (main): Use isnanf() instead of isnan().
57650         * tests/test-truncf1.c: Include isnanf.h.
57651         (main): Use isnanf() instead of isnan().
57652         * tests/test-roundf1.c: Include isnanf.h.
57653         (main): Use isnanf() instead of isnan().
57654
57655 2007-10-21  Eric Blake  <ebb9@byu.net>
57656
57657         * users.txt: Update URL for m4.
57658
57659 2007-10-21  Bruno Haible  <bruno@clisp.org>
57660
57661         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
57662
57663 2007-10-21  Bruno Haible  <bruno@clisp.org>
57664
57665         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
57666         Git's management files if the CVS files are not present.
57667
57668 2007-10-20  Bruno Haible  <bruno@clisp.org>
57669
57670         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
57671         gcc-3.4.x.
57672
57673 2007-10-20  Ben Pfaff  <blp@gnu.org>
57674
57675         * lib/math.in.h: Declare round, roundf, roundl if we are providing
57676         implementations.
57677         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
57678         * lib/round.c: New file.
57679         * lib/roundf.c: New file.
57680         * lib/roundl.c: New file.
57681         * m4/round.m4: New file.
57682         * m4/roundf.m4: New file.
57683         * m4/roundl.m4: New file.
57684         * m4/check-libm-func-m4: New file.
57685         * modules/math: Replace round, roundf, roundl related @VARS@ in
57686         math.in.h.
57687         * modules/round: New file.
57688         * modules/round-tests: New file.
57689         * modules/roundf: New file.
57690         * modules/roundf-tests: New file.
57691         * modules/roundl: New file.
57692         * modules/roundl-tests: New file.
57693         * tests/test-round1.c: New file.
57694         * tests/test-round2.c: New file.
57695         * tests/test-roundf1.c: New file.
57696         * tests/test-roundf2.c: New file.
57697         * tests/test-roundl.c: New file.
57698         * doc/functions/round.texi: Mention round module.
57699         * doc/functions/roundf.texi: Mention roundf module.
57700         * doc/functions/roundl.texi: Mention roundl module.
57701         * MODULES.html.sh: Mention new modules.
57702         Thanks to Bruno Haible for suggestions.
57703
57704 2007-10-20  Jim Meyering  <meyering@redhat.com>
57705
57706         * lib/xprintf.c: Include <config.h> unconditionally.
57707
57708         Change xprintf's license to GPL.
57709         * modules/xprintf (License): s/LGPL/GPL/, since this module
57710         depends on modules (exit and exitfail) which are GPL.
57711         Suggestion from Bruno Haible.
57712
57713         xprintf fixes.
57714         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
57715         Use a clearer diagnostic.
57716         Patch from Bruno Haible.
57717
57718 2007-10-20  Bruno Haible  <bruno@clisp.org>
57719
57720         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
57721         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
57722         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57723
57724 2007-10-20  Bruno Haible  <bruno@clisp.org>
57725
57726         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
57727         precision in the comparison result > x - 1 or similar.
57728         * tests/test-ceilf2.c (correct_result_p): Likewise.
57729         * tests/test-truncf2.c (correct_result_p): Likewise.
57730         * tests/test-trunc2.c (correct_result_p): Likewise.
57731         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57732
57733 2007-10-20  Bruno Haible  <bruno@clisp.org>
57734
57735         * modules/ceil: New file.
57736         * m4/ceil.m4: New file.
57737         * doc/functions/ceil.texi: Mention the 'ceil' module.
57738
57739 2007-10-20  Bruno Haible  <bruno@clisp.org>
57740
57741         * modules/floor: New file.
57742         * m4/floor.m4: New file.
57743         * doc/functions/floor.texi: Mention the 'floor' module.
57744
57745 2007-10-20  Bruno Haible  <bruno@clisp.org>
57746
57747         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
57748         of %a.
57749         * modules/floorf-tests (Depends-on): Likewise.
57750         * modules/truncf-tests (Depends-on): Likewise.
57751         * modules/trunc-tests (Depends-on): Likewise.
57752         Reported by Ben Pfaff.
57753
57754 2007-10-19  Jim Meyering  <meyering@redhat.com>
57755
57756         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
57757         Don't bother testing specific errno values.  Just test ferror.
57758
57759         New module: xprintf
57760         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
57761
57762 2007-10-19  Bruno Haible  <bruno@clisp.org>
57763
57764         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
57765         syntax.
57766         * modules/javaexec (Makefile.am): Likewise.
57767         * modules/relocatable-prog (Makefile.am): Likewise.
57768         Suggested by Jim Meyering.
57769
57770 2007-10-18  Bruno Haible  <bruno@clisp.org>
57771
57772         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
57773         Reported by Jim Meyering.
57774
57775 2007-10-18  Eric Blake  <ebb9@byu.net>
57776
57777         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
57778
57779 2007-10-18  Bruno Haible  <bruno@clisp.org>
57780
57781         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
57782         the format string into writable memory. Needed in Fortify conditions.
57783
57784 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
57785             Bruno Haible  <bruno@clisp.org>
57786
57787         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
57788         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
57789         * modules/trim (Depends-on): Add mbchar.
57790         (configure.ac): Add gl_FUNC_MBRTOWC.
57791         (Makefile.am): Augment lib_SOURCES.
57792
57793 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57794
57795         Modify glob.c to use fstatat and dirfd, to simplify it.
57796         Suggested by Eric Blake.
57797         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
57798         Don't include <stdbool.h>; not used.
57799         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
57800         (link_exists_p): Simplify implementation, since we can now assume
57801         dirfd and fstatat.
57802         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
57803
57804 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57805
57806         * gnulib-tool (func_get_dependencies): Fix sed script to
57807         match only tests.
57808
57809 2007-10-17  Bruno Haible  <bruno@clisp.org>
57810
57811         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
57812         allow locale names without encoding suffix.
57813         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57814         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57815
57816 2007-10-16  Bruno Haible  <bruno@clisp.org>
57817
57818         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
57819         * lib/getgroups.c (getgroups): Likewise.
57820         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
57821
57822 2007-10-16  Bruno Haible  <bruno@clisp.org>
57823
57824         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
57825         * modules/malloc-posix (License): Likewise.
57826         * modules/realloc-posix (License): Likewise.
57827         * modules/calloc-posix (License): Likewise.
57828         * modules/intprops (License): Change from GPL to LGPL, with
57829         Paul Eggert's approval.
57830
57831 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57832
57833         Merge glibc changes into lib/glob.c.
57834
57835         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
57836         2007-10-15 04:59:03 UTC.  Here are the changes:
57837
57838         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
57839
57840         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
57841
57842         * lib/glob.c: Add some branch prediction throughout.
57843
57844         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
57845
57846         [BZ #5103]
57847         * lib/glob.c (glob): Recognize patterns starting \/.
57848
57849         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
57850
57851         [BZ #3996]
57852         * lib/glob.c (attribute_hidden): Define if not defined.
57853         (glob): Unescape dirname, filename or username when needed and not
57854         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
57855         is NULL.  Handle unescaped [ in pattern without closing ].
57856         Don't pass GLOB_CHECK down to recursive glob for directories.
57857         (__glob_pattern_type): New function.
57858         (__glob_pattern_p): Implement using __glob_pattern_type.
57859         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
57860         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
57861         Remove unreachable code.
57862
57863         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
57864
57865         * lib/glob.c (glob_in_dir): Add some comments and asserts to
57866         explain why there are no leaks.
57867
57868         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
57869
57870         [BZ #3253]
57871         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
57872         time, rather allocate increasingly bigger arrays of pointers, if
57873         possible with alloca, if too large with malloc.
57874
57875 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57876
57877         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
57878         Problem reported by H.Merijn Brand in
57879         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
57880         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
57881         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57882
57883 2007-10-15  Bruno Haible  <bruno@clisp.org>
57884
57885         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
57886         with explicit rpl_ prefix.
57887         * lib/fopen.c (fopen): Likewise.
57888         * lib/freopen.c (freopen): Likewise.
57889         * lib/iconv.c (iconv): Likewise.
57890         * lib/iconv_close.c (iconv_close): Likewise.
57891
57892 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57893
57894         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
57895
57896 2007-10-15  Bruno Haible  <bruno@clisp.org>
57897
57898         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
57899         <stddef.h> instead of <stdlib.h> since we only need NULL.
57900         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57901
57902 2007-10-15  Bruno Haible  <bruno@clisp.org>
57903
57904         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
57905         Replace paragraph talking about LIBOBJS.
57906         Reported by Colin Watson <cjwatson@debian.org>.
57907
57908 2007-10-15  Bruno Haible  <bruno@clisp.org>
57909
57910         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
57911         <stdlib.h> before using NULL.
57912
57913 2007-10-15  Simon Josefsson  <simon@josefsson.org>
57914
57915         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
57916         Reported by Albert Chin <china@thewrittenword.com>.
57917
57918 2007-10-14  Bruno Haible  <bruno@clisp.org>
57919
57920         * modules/iconv_open-utf-tests: New file.
57921         * tests/test-iconv-utf.c: New file.
57922
57923         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
57924         * modules/iconv_open-utf: New file.
57925         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
57926         (iconv, iconv_close): New declarations.
57927         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
57928         be defined.
57929         (iconv_open): Add special handling of conversion between UTF-8 and
57930         UTF-{16,32}{BE,LE}.
57931         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
57932         * lib/iconv_close.c: New file.
57933         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
57934         gl_FUNC_ICONV_OPEN.
57935         (gl_FUNC_ICONV_OPEN): Use it.
57936         (gl_FUNC_ICONV_OPEN_UTF): New macro.
57937         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
57938         and REPLACE_ICONV_UTF.
57939         * modules/iconv_open (Depends-on): Add c-strcase.
57940         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
57941         ICONV_CONST.
57942         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
57943
57944 2007-10-13  Albert Chin  <china@thewrittenword.com>
57945             Bruno Haible  <bruno@clisp.org>
57946
57947         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
57948         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
57949
57950 2007-10-13  Bruno Haible  <bruno@clisp.org>
57951
57952         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
57953         defined, use the ISO C99 inline semantics.
57954         * lib/argp.h (ARGP_EI): Likewise.
57955
57956 2007-10-13  Bruno Haible  <bruno@clisp.org>
57957
57958         Handle 'inline' change in gcc 4.3.0.
57959         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
57960         argp_fmtstream_write, argp_fmtstream_set_lmargin,
57961         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
57962         argp_fmtstream_point): Disable 'extern' declaration if the function
57963         definition is going to be provided inline.
57964         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
57965         semantics, not the ISO C99 inline semantics.
57966         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
57967         'extern' declaration if the function definition is going to be provided
57968         inline.
57969         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
57970         the GNU C inline semantics, not the ISO C99 inline semantics. With
57971         GCC 4.2, avoid a warning.
57972
57973 2007-10-13  Bruno Haible  <bruno@clisp.org>
57974
57975         * lib/freading.h (freading): Enable the use of __freading for
57976         glibc >= 2.7.
57977         * lib/freading.c (freading): Likewise.
57978
57979 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57980
57981         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
57982         "warning: C99 inline functions are not supported; using GNU89".
57983
57984 2007-10-12  Bruno Haible  <bruno@clisp.org>
57985
57986         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
57987         of 2.
57988         * tests/test-ceilf2.c: New file.
57989         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
57990
57991         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
57992         * modules/ceilf-tests: Update.
57993
57994 2007-10-12  Bruno Haible  <bruno@clisp.org>
57995
57996         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
57997         of 2.
57998         * tests/test-floorf2.c: New file.
57999         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
58000
58001         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
58002         * modules/floorf-tests: Update.
58003
58004 2007-10-12  Bruno Haible  <bruno@clisp.org>
58005
58006         * tests/test-trunc2.c: New file.
58007         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
58008
58009         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
58010         * modules/trunc-tests: Update.
58011
58012 2007-10-12  Bruno Haible  <bruno@clisp.org>
58013
58014         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
58015         of 2.
58016         * tests/test-truncf2.c: New file.
58017         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
58018
58019         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
58020         * modules/truncf-tests: Update.
58021
58022 2007-10-11  Eric Blake  <ebb9@byu.net>
58023
58024         Don't claim strerror is broken on Interix.
58025         * doc/functions/strerror.texi (strerror): Known broken systems are
58026         now Solaris 8, and not Interix.
58027         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
58028         Interix on cross-compile.
58029         Reported by Martin Koeppe in
58030         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
58031
58032 2007-10-11  Bruno Haible  <bruno@clisp.org>
58033
58034         * modules/i-ring-tests: New file.
58035         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
58036         instead of assert.
58037
58038 2007-10-11  Bruno Haible  <bruno@clisp.org>
58039
58040         * modules/filenamecat-tests: New file.
58041         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
58042         * lib/filenamecat.c: Remove test code.
58043
58044 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58045
58046         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
58047
58048         * lib/strerror.c: Include <string.h> always, to test interface,
58049         and to remove the need for the dummy.
58050         Include intprops.h to compute width instead of doing it ourselves
58051         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
58052         (strerror): Define it to return NULL if there's no system strerror.
58053         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
58054         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
58055         ancient pre-strerror Unix systems well any more.  Saying "unknown
58056         system error" is enough.
58057         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
58058         simpler strerror.c implementation.
58059         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
58060         Simplify the tests to reflect the simpler strerror implementation.
58061         * modules/strerror (Depends-on): Add intprops.
58062
58063 2007-10-09  Eric Blake  <ebb9@byu.net>
58064
58065         Silence test-fpending.
58066         * modules/fpending-tests (Files): Add wrapper script.
58067         * tests/test-fpending.sh: New file.
58068
58069 2007-10-09  Bruno Haible  <bruno@clisp.org>
58070
58071         * MODULES.html.sh (func_module): Don't create a hyperlink for
58072         function names like 'printf_frexp'.
58073         (Misc): Add crc, memxor.
58074         (Characteristics of floating types): New section.
58075         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
58076         isnanf-nolibm, signbit, trunc, truncf, truncl.
58077         (Enhancements for ISO C 99 functions): New subsection Input/output.
58078         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
58079         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
58080         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
58081         (Compatibility checks for POSIX:2001 functions): Add clock-time.
58082         (Enhancements for POSIX:2001 functions): Add chdir-long.
58083         (File system functions): Add areadlink, chdir-safer, read-file.
58084         Remove cycle-check.
58085         (File system as inode set): New section.
58086         (Date and time): Add gethrxtime.
58087         (Multithreading): Add openmp.
58088         (Internationalization functions): Add localename.
58089         (Unicode string functions): Add unistr/u*-mbsnlen.
58090         (Support for maintaining and releasing projects): Add git-version-gen.
58091         (Lone files): Remove directories.
58092
58093 2007-10-08  Ben Pfaff  <blp@gnu.org>
58094
58095         * lib/xmalloca.h: Fix typo in comment.
58096
58097 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58098
58099         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
58100         when avoiding problems with integer overflow.  Use a portable test
58101         instead.
58102
58103 2007-10-08  Simon Josefsson  <simon@josefsson.org>
58104
58105         * modules/dummy (License): Change to LGPLv2+.
58106         * modules/float (License): Likewise
58107         * modules/realloc (License): Likewise
58108         * modules/stdlib (License): Likewise
58109
58110 2007-10-07  Bruno Haible  <bruno@clisp.org>
58111
58112         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
58113         * floor.c (TWO_MANT_DIG): Likewise.
58114         * ceil.c (TWO_MANT_DIG): Likewise.
58115         Reported by Ben Pfaff.
58116
58117 2007-10-07  Bruno Haible  <bruno@clisp.org>
58118
58119         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
58120         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
58121         * lib/frexp.c (FUNC): Likewise.
58122         * lib/printf-frexp.h (printf_frexp): Likewise.
58123         * lib/printf-frexpl.h (printf_frexpl): Likewise.
58124         * lib/printf-frexp.c (FUNC): Likewise.
58125         Suggested by Jim Meyering.
58126
58127 2007-10-07  Jim Meyering  <meyering@redhat.com>
58128
58129         Make xnanosleep's integer overflow test more robust.
58130         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
58131         so that gcc-4.3.0 doesn't optimize away this test for overflow.
58132
58133 2007-10-07  Bruno Haible  <bruno@clisp.org>
58134
58135         * NEWS: Mention the license change.
58136
58137         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
58138         abbreviations in the modules files.
58139
58140         Change copyright notice from GPLv2+ to GPLv3+.
58141         * README: Change copyright notice.
58142         * MODULES.html.sh: Likewise.
58143         * build-aux/bootstrap.conf: Likewise.
58144         * build-aux/config.libpath: Likewise.
58145         * build-aux/csharpcomp.sh.in: Likewise.
58146         * build-aux/csharpexec.sh.in: Likewise.
58147         * build-aux/install-reloc: Likewise.
58148         * build-aux/javacomp.sh.in: Likewise.
58149         * build-aux/javaexec.sh.in: Likewise.
58150         * build-aux/ldd.sh.in: Likewise.
58151         * build-aux/reloc-ldflags: Likewise.
58152         * build-aux/relocatable.sh.in: Likewise.
58153         * build-aux/x-to-1.in: Likewise.
58154         * check-module: Likewise.
58155         * config/srclistvars.sh: Likewise.
58156         * gnulib-tool: Likewise.
58157         * lib/acl-internal.h: Likewise.
58158         * lib/acl.c: Likewise.
58159         * lib/acl.h: Likewise.
58160         * lib/acl_entries.c: Likewise.
58161         * lib/areadlink-with-size.c: Likewise.
58162         * lib/areadlink.c: Likewise.
58163         * lib/areadlink.h: Likewise.
58164         * lib/argmatch.c: Likewise.
58165         * lib/argmatch.h: Likewise.
58166         * lib/argp-ba.c: Likewise.
58167         * lib/argp-eexst.c: Likewise.
58168         * lib/argp-fmtstream.c: Likewise.
58169         * lib/argp-fmtstream.h: Likewise.
58170         * lib/argp-fs-xinl.c: Likewise.
58171         * lib/argp-help.c: Likewise.
58172         * lib/argp-namefrob.h: Likewise.
58173         * lib/argp-parse.c: Likewise.
58174         * lib/argp-pin.c: Likewise.
58175         * lib/argp-pv.c: Likewise.
58176         * lib/argp-pvh.c: Likewise.
58177         * lib/argp-xinl.c: Likewise.
58178         * lib/argp.h: Likewise.
58179         * lib/at-func.c: Likewise.
58180         * lib/atanl.c: Likewise.
58181         * lib/backupfile.c: Likewise.
58182         * lib/backupfile.h: Likewise.
58183         * lib/basename.c: Likewise.
58184         * lib/binary-io.h: Likewise.
58185         * lib/byteswap.in.h: Likewise.
58186         * lib/c-stack.c: Likewise.
58187         * lib/c-stack.h: Likewise.
58188         * lib/c-strcasestr.c: Likewise.
58189         * lib/c-strcasestr.h: Likewise.
58190         * lib/c-strstr.c: Likewise.
58191         * lib/c-strstr.h: Likewise.
58192         * lib/c-strtod.c: Likewise.
58193         * lib/calloc.c: Likewise.
58194         * lib/canon-host.c: Likewise.
58195         * lib/canon-host.h: Likewise.
58196         * lib/canonicalize-lgpl.c: Likewise.
58197         * lib/canonicalize.c: Likewise.
58198         * lib/canonicalize.h: Likewise.
58199         * lib/ceil.c: Likewise.
58200         * lib/ceilf.c: Likewise.
58201         * lib/ceill.c: Likewise.
58202         * lib/chdir-long.c: Likewise.
58203         * lib/chdir-long.h: Likewise.
58204         * lib/chdir-safer.c: Likewise.
58205         * lib/chdir-safer.h: Likewise.
58206         * lib/chown.c: Likewise.
58207         * lib/classpath.c: Likewise.
58208         * lib/classpath.h: Likewise.
58209         * lib/clean-temp.c: Likewise.
58210         * lib/clean-temp.h: Likewise.
58211         * lib/cloexec.c: Likewise.
58212         * lib/close-stream.c: Likewise.
58213         * lib/closein.c: Likewise.
58214         * lib/closein.h: Likewise.
58215         * lib/closeout.c: Likewise.
58216         * lib/closeout.h: Likewise.
58217         * lib/concat-filename.c: Likewise.
58218         * lib/copy-file.c: Likewise.
58219         * lib/copy-file.h: Likewise.
58220         * lib/count-one-bits.h: Likewise.
58221         * lib/crc.c: Likewise.
58222         * lib/crc.h: Likewise.
58223         * lib/creat-safer.c: Likewise.
58224         * lib/csharpcomp.c: Likewise.
58225         * lib/csharpcomp.h: Likewise.
58226         * lib/csharpexec.c: Likewise.
58227         * lib/csharpexec.h: Likewise.
58228         * lib/cycle-check.c: Likewise.
58229         * lib/cycle-check.h: Likewise.
58230         * lib/diacrit.c: Likewise.
58231         * lib/diacrit.h: Likewise.
58232         * lib/diffseq.h: Likewise.
58233         * lib/dirchownmod.c: Likewise.
58234         * lib/dirent.in.h: Likewise.
58235         * lib/dirfd.c: Likewise.
58236         * lib/dirfd.h: Likewise.
58237         * lib/dirname.c: Likewise.
58238         * lib/dirname.h: Likewise.
58239         * lib/dummy.c: Likewise.
58240         * lib/dup-safer.c: Likewise.
58241         * lib/dup2.c: Likewise.
58242         * lib/eealloc.h: Likewise.
58243         * lib/error.c: Likewise.
58244         * lib/error.h: Likewise.
58245         * lib/euidaccess.c: Likewise.
58246         * lib/exclude.c: Likewise.
58247         * lib/exclude.h: Likewise.
58248         * lib/execute.c: Likewise.
58249         * lib/execute.h: Likewise.
58250         * lib/exitfail.c: Likewise.
58251         * lib/exitfail.h: Likewise.
58252         * lib/expl.c: Likewise.
58253         * lib/fatal-signal.c: Likewise.
58254         * lib/fatal-signal.h: Likewise.
58255         * lib/fbufmode.c: Likewise.
58256         * lib/fbufmode.h: Likewise.
58257         * lib/fchdir.c: Likewise.
58258         * lib/fchmodat.c: Likewise.
58259         * lib/fchownat.c: Likewise.
58260         * lib/fcntl--.h: Likewise.
58261         * lib/fcntl-safer.h: Likewise.
58262         * lib/fcntl.in.h: Likewise.
58263         * lib/fd-safer.c: Likewise.
58264         * lib/fflush.c: Likewise.
58265         * lib/file-has-acl.c: Likewise.
58266         * lib/file-set.c: Likewise.
58267         * lib/file-type.c: Likewise.
58268         * lib/file-type.h: Likewise.
58269         * lib/fileblocks.c: Likewise.
58270         * lib/filemode.c: Likewise.
58271         * lib/filemode.h: Likewise.
58272         * lib/filename.h: Likewise.
58273         * lib/filenamecat.c: Likewise.
58274         * lib/filenamecat.h: Likewise.
58275         * lib/findprog.c: Likewise.
58276         * lib/findprog.h: Likewise.
58277         * lib/float.in.h: Likewise.
58278         * lib/floor.c: Likewise.
58279         * lib/floorf.c: Likewise.
58280         * lib/floorl.c: Likewise.
58281         * lib/fopen-safer.c: Likewise.
58282         * lib/fopen.c: Likewise.
58283         * lib/fpending.c: Likewise.
58284         * lib/fpending.h: Likewise.
58285         * lib/fprintf.c: Likewise.
58286         * lib/fprintftime.h: Likewise.
58287         * lib/fpucw.h: Likewise.
58288         * lib/fpurge.c: Likewise.
58289         * lib/fpurge.h: Likewise.
58290         * lib/freadable.c: Likewise.
58291         * lib/freadable.h: Likewise.
58292         * lib/freadahead.c: Likewise.
58293         * lib/freadahead.h: Likewise.
58294         * lib/freading.c: Likewise.
58295         * lib/freading.h: Likewise.
58296         * lib/free.c: Likewise.
58297         * lib/freopen.c: Likewise.
58298         * lib/frexp.c: Likewise.
58299         * lib/frexpl.c: Likewise.
58300         * lib/fseek.c: Likewise.
58301         * lib/fseterr.c: Likewise.
58302         * lib/fseterr.h: Likewise.
58303         * lib/fstatat.c: Likewise.
58304         * lib/fstrcmp.c: Likewise.
58305         * lib/fstrcmp.h: Likewise.
58306         * lib/fsusage.c: Likewise.
58307         * lib/fsusage.h: Likewise.
58308         * lib/ftell.c: Likewise.
58309         * lib/ftello.c: Likewise.
58310         * lib/fts-cycle.c: Likewise.
58311         * lib/fts.c: Likewise.
58312         * lib/fts_.h: Likewise.
58313         * lib/full-read.c: Likewise.
58314         * lib/full-read.h: Likewise.
58315         * lib/full-write.c: Likewise.
58316         * lib/full-write.h: Likewise.
58317         * lib/fwritable.c: Likewise.
58318         * lib/fwritable.h: Likewise.
58319         * lib/fwriteerror.c: Likewise.
58320         * lib/fwriteerror.h: Likewise.
58321         * lib/fwriting.c: Likewise.
58322         * lib/fwriting.h: Likewise.
58323         * lib/gcd.c: Likewise.
58324         * lib/gcd.h: Likewise.
58325         * lib/getcwd.c: Likewise.
58326         * lib/getdate.h: Likewise.
58327         * lib/getdate.y: Likewise.
58328         * lib/getdomainname.c: Likewise.
58329         * lib/getdomainname.h: Likewise.
58330         * lib/getgroups.c: Likewise.
58331         * lib/gethostname.c: Likewise.
58332         * lib/gethrxtime.c: Likewise.
58333         * lib/gethrxtime.h: Likewise.
58334         * lib/getloadavg.c: Likewise.
58335         * lib/getndelim2.c: Likewise.
58336         * lib/getndelim2.h: Likewise.
58337         * lib/getnline.c: Likewise.
58338         * lib/getnline.h: Likewise.
58339         * lib/getopt.c: Likewise.
58340         * lib/getopt.in.h: Likewise.
58341         * lib/getopt1.c: Likewise.
58342         * lib/getopt_int.h: Likewise.
58343         * lib/getpagesize.h: Likewise.
58344         * lib/getsubopt.c: Likewise.
58345         * lib/gettime.c: Likewise.
58346         * lib/getugroups.c: Likewise.
58347         * lib/getugroups.h: Likewise.
58348         * lib/getusershell.c: Likewise.
58349         * lib/gl_anyavltree_list1.h: Likewise.
58350         * lib/gl_anyavltree_list2.h: Likewise.
58351         * lib/gl_anyhash_list1.h: Likewise.
58352         * lib/gl_anyhash_list2.h: Likewise.
58353         * lib/gl_anylinked_list1.h: Likewise.
58354         * lib/gl_anylinked_list2.h: Likewise.
58355         * lib/gl_anyrbtree_list1.h: Likewise.
58356         * lib/gl_anyrbtree_list2.h: Likewise.
58357         * lib/gl_anytree_list1.h: Likewise.
58358         * lib/gl_anytree_list2.h: Likewise.
58359         * lib/gl_anytree_oset.h: Likewise.
58360         * lib/gl_anytreehash_list1.h: Likewise.
58361         * lib/gl_anytreehash_list2.h: Likewise.
58362         * lib/gl_array_list.c: Likewise.
58363         * lib/gl_array_list.h: Likewise.
58364         * lib/gl_array_oset.c: Likewise.
58365         * lib/gl_array_oset.h: Likewise.
58366         * lib/gl_avltree_list.c: Likewise.
58367         * lib/gl_avltree_list.h: Likewise.
58368         * lib/gl_avltree_oset.c: Likewise.
58369         * lib/gl_avltree_oset.h: Likewise.
58370         * lib/gl_avltreehash_list.c: Likewise.
58371         * lib/gl_avltreehash_list.h: Likewise.
58372         * lib/gl_carray_list.c: Likewise.
58373         * lib/gl_carray_list.h: Likewise.
58374         * lib/gl_linked_list.c: Likewise.
58375         * lib/gl_linked_list.h: Likewise.
58376         * lib/gl_linkedhash_list.c: Likewise.
58377         * lib/gl_linkedhash_list.h: Likewise.
58378         * lib/gl_list.c: Likewise.
58379         * lib/gl_list.h: Likewise.
58380         * lib/gl_oset.c: Likewise.
58381         * lib/gl_oset.h: Likewise.
58382         * lib/gl_rbtree_list.c: Likewise.
58383         * lib/gl_rbtree_list.h: Likewise.
58384         * lib/gl_rbtree_oset.c: Likewise.
58385         * lib/gl_rbtree_oset.h: Likewise.
58386         * lib/gl_rbtreehash_list.c: Likewise.
58387         * lib/gl_rbtreehash_list.h: Likewise.
58388         * lib/gl_sublist.c: Likewise.
58389         * lib/gl_sublist.h: Likewise.
58390         * lib/group-member.c: Likewise.
58391         * lib/group-member.h: Likewise.
58392         * lib/hard-locale.c: Likewise.
58393         * lib/hard-locale.h: Likewise.
58394         * lib/hash-pjw.c: Likewise.
58395         * lib/hash-pjw.h: Likewise.
58396         * lib/hash-triple.c: Likewise.
58397         * lib/hash.c: Likewise.
58398         * lib/hash.h: Likewise.
58399         * lib/human.c: Likewise.
58400         * lib/human.h: Likewise.
58401         * lib/i-ring.c: Likewise.
58402         * lib/i-ring.h: Likewise.
58403         * lib/idcache.c: Likewise.
58404         * lib/imaxabs.c: Likewise.
58405         * lib/imaxdiv.c: Likewise.
58406         * lib/inet_pton.c: Likewise.
58407         * lib/inet_pton.h: Likewise.
58408         * lib/intprops.h: Likewise.
58409         * lib/inttostr.c: Likewise.
58410         * lib/inttostr.h: Likewise.
58411         * lib/inttypes.in.h: Likewise.
58412         * lib/isapipe.c: Likewise.
58413         * lib/isdir.c: Likewise.
58414         * lib/isnan.c: Likewise.
58415         * lib/isnan.h: Likewise.
58416         * lib/isnanf.c: Likewise.
58417         * lib/isnanf.h: Likewise.
58418         * lib/isnanl-nolibm.h: Likewise.
58419         * lib/isnanl.c: Likewise.
58420         * lib/isnanl.h: Likewise.
58421         * lib/javacomp.c: Likewise.
58422         * lib/javacomp.h: Likewise.
58423         * lib/javaexec.c: Likewise.
58424         * lib/javaexec.h: Likewise.
58425         * lib/javaversion.c: Likewise.
58426         * lib/javaversion.h: Likewise.
58427         * lib/javaversion.java: Likewise.
58428         * lib/lbrkprop.h: Likewise.
58429         * lib/lchmod.h: Likewise.
58430         * lib/lchown.c: Likewise.
58431         * lib/ldexpl.c: Likewise.
58432         * lib/linebreak.c: Likewise.
58433         * lib/linebreak.h: Likewise.
58434         * lib/linebuffer.c: Likewise.
58435         * lib/linebuffer.h: Likewise.
58436         * lib/locale.in.h: Likewise.
58437         * lib/logl.c: Likewise.
58438         * lib/long-options.c: Likewise.
58439         * lib/long-options.h: Likewise.
58440         * lib/lstat.c: Likewise.
58441         * lib/lstat.h: Likewise.
58442         * lib/math.in.h: Likewise.
58443         * lib/mbchar.c: Likewise.
58444         * lib/mbchar.h: Likewise.
58445         * lib/mbfile.h: Likewise.
58446         * lib/mbiter.h: Likewise.
58447         * lib/mbscasecmp.c: Likewise.
58448         * lib/mbscasestr.c: Likewise.
58449         * lib/mbschr.c: Likewise.
58450         * lib/mbscspn.c: Likewise.
58451         * lib/mbslen.c: Likewise.
58452         * lib/mbsncasecmp.c: Likewise.
58453         * lib/mbsnlen.c: Likewise.
58454         * lib/mbspbrk.c: Likewise.
58455         * lib/mbspcasecmp.c: Likewise.
58456         * lib/mbsrchr.c: Likewise.
58457         * lib/mbssep.c: Likewise.
58458         * lib/mbsspn.c: Likewise.
58459         * lib/mbsstr.c: Likewise.
58460         * lib/mbstok_r.c: Likewise.
58461         * lib/mbswidth.c: Likewise.
58462         * lib/mbswidth.h: Likewise.
58463         * lib/mbuiter.h: Likewise.
58464         * lib/memcasecmp.c: Likewise.
58465         * lib/memcasecmp.h: Likewise.
58466         * lib/memchr.c: Likewise.
58467         * lib/memcmp.c: Likewise.
58468         * lib/memcoll.c: Likewise.
58469         * lib/memcoll.h: Likewise.
58470         * lib/memcpy.c: Likewise.
58471         * lib/memrchr.c: Likewise.
58472         * lib/mkancesdirs.c: Likewise.
58473         * lib/mkdir-p.c: Likewise.
58474         * lib/mkdir-p.h: Likewise.
58475         * lib/mkdir.c: Likewise.
58476         * lib/mkdirat.c: Likewise.
58477         * lib/mkdtemp.c: Likewise.
58478         * lib/mkstemp-safer.c: Likewise.
58479         * lib/mkstemp.c: Likewise.
58480         * lib/modechange.c: Likewise.
58481         * lib/modechange.h: Likewise.
58482         * lib/mountlist.c: Likewise.
58483         * lib/mountlist.h: Likewise.
58484         * lib/mpsort.c: Likewise.
58485         * lib/nanosleep.c: Likewise.
58486         * lib/obstack.c: Likewise.
58487         * lib/obstack.h: Likewise.
58488         * lib/open-safer.c: Likewise.
58489         * lib/open.c: Likewise.
58490         * lib/openat-die.c: Likewise.
58491         * lib/openat-priv.h: Likewise.
58492         * lib/openat-proc.c: Likewise.
58493         * lib/openat.c: Likewise.
58494         * lib/openat.h: Likewise.
58495         * lib/pagealign_alloc.c: Likewise.
58496         * lib/pagealign_alloc.h: Likewise.
58497         * lib/physmem.c: Likewise.
58498         * lib/physmem.h: Likewise.
58499         * lib/pipe-safer.c: Likewise.
58500         * lib/pipe.c: Likewise.
58501         * lib/pipe.h: Likewise.
58502         * lib/posixtm.c: Likewise.
58503         * lib/posixtm.h: Likewise.
58504         * lib/posixver.c: Likewise.
58505         * lib/printf-frexp.c: Likewise.
58506         * lib/printf-frexp.h: Likewise.
58507         * lib/printf-frexpl.c: Likewise.
58508         * lib/printf-frexpl.h: Likewise.
58509         * lib/printf.c: Likewise.
58510         * lib/progname.c: Likewise.
58511         * lib/progname.h: Likewise.
58512         * lib/progreloc.c: Likewise.
58513         * lib/putenv.c: Likewise.
58514         * lib/quote.c: Likewise.
58515         * lib/quote.h: Likewise.
58516         * lib/quotearg.c: Likewise.
58517         * lib/quotearg.h: Likewise.
58518         * lib/raise.c: Likewise.
58519         * lib/readline.c: Likewise.
58520         * lib/readline.h: Likewise.
58521         * lib/readlink.c: Likewise.
58522         * lib/readtokens.c: Likewise.
58523         * lib/readtokens.h: Likewise.
58524         * lib/readtokens0.c: Likewise.
58525         * lib/readtokens0.h: Likewise.
58526         * lib/readutmp.c: Likewise.
58527         * lib/readutmp.h: Likewise.
58528         * lib/realloc.c: Likewise.
58529         * lib/relocwrapper.c: Likewise.
58530         * lib/rename-dest-slash.c: Likewise.
58531         * lib/rename.c: Likewise.
58532         * lib/rmdir.c: Likewise.
58533         * lib/rpmatch.c: Likewise.
58534         * lib/safe-read.c: Likewise.
58535         * lib/safe-read.h: Likewise.
58536         * lib/safe-write.c: Likewise.
58537         * lib/safe-write.h: Likewise.
58538         * lib/same-inode.h: Likewise.
58539         * lib/same.c: Likewise.
58540         * lib/same.h: Likewise.
58541         * lib/save-cwd.c: Likewise.
58542         * lib/save-cwd.h: Likewise.
58543         * lib/savedir.c: Likewise.
58544         * lib/savedir.h: Likewise.
58545         * lib/savewd.c: Likewise.
58546         * lib/savewd.h: Likewise.
58547         * lib/search.in.h: Likewise.
58548         * lib/setenv.c: Likewise.
58549         * lib/setenv.h: Likewise.
58550         * lib/settime.c: Likewise.
58551         * lib/sh-quote.c: Likewise.
58552         * lib/sh-quote.h: Likewise.
58553         * lib/sig2str.c: Likewise.
58554         * lib/sig2str.h: Likewise.
58555         * lib/signal.in.h: Likewise.
58556         * lib/signbitd.c: Likewise.
58557         * lib/signbitf.c: Likewise.
58558         * lib/signbitl.c: Likewise.
58559         * lib/sigprocmask.c: Likewise.
58560         * lib/sincosl.c: Likewise.
58561         * lib/sleep.c: Likewise.
58562         * lib/sprintf.c: Likewise.
58563         * lib/sqrtl.c: Likewise.
58564         * lib/stat-time.h: Likewise.
58565         * lib/stdio--.h: Likewise.
58566         * lib/stdio-safer.h: Likewise.
58567         * lib/stdlib--.h: Likewise.
58568         * lib/stdlib-safer.h: Likewise.
58569         * lib/stdlib.in.h: Likewise.
58570         * lib/stpcpy.c: Likewise.
58571         * lib/stpncpy.c: Likewise.
58572         * lib/strchrnul.c: Likewise.
58573         * lib/strcspn.c: Likewise.
58574         * lib/strerror.c: Likewise.
58575         * lib/strftime.c: Likewise.
58576         * lib/strftime.h: Likewise.
58577         * lib/striconveh.c: Likewise.
58578         * lib/striconveh.h: Likewise.
58579         * lib/striconveha.c: Likewise.
58580         * lib/striconveha.h: Likewise.
58581         * lib/stripslash.c: Likewise.
58582         * lib/strnlen1.c: Likewise.
58583         * lib/strnlen1.h: Likewise.
58584         * lib/strtod.c: Likewise.
58585         * lib/strtoimax.c: Likewise.
58586         * lib/strtok_r.c: Likewise.
58587         * lib/strtol.c: Likewise.
58588         * lib/strtoll.c: Likewise.
58589         * lib/strtoul.c: Likewise.
58590         * lib/strtoull.c: Likewise.
58591         * lib/sysexits.in.h: Likewise.
58592         * lib/tempname.c: Likewise.
58593         * lib/tempname.h: Likewise.
58594         * lib/timespec.h: Likewise.
58595         * lib/tls.c: Likewise.
58596         * lib/tls.h: Likewise.
58597         * lib/tmpdir.c: Likewise.
58598         * lib/tmpdir.h: Likewise.
58599         * lib/tmpfile-safer.c: Likewise.
58600         * lib/tmpfile.c: Likewise.
58601         * lib/trigl.c: Likewise.
58602         * lib/trigl.h: Likewise.
58603         * lib/trim.c: Likewise.
58604         * lib/trim.h: Likewise.
58605         * lib/trunc.c: Likewise.
58606         * lib/truncf.c: Likewise.
58607         * lib/truncl.c: Likewise.
58608         * lib/tsearch.c: Likewise.
58609         * lib/unicodeio.c: Likewise.
58610         * lib/unicodeio.h: Likewise.
58611         * lib/unistd--.h: Likewise.
58612         * lib/unistd-safer.h: Likewise.
58613         * lib/unistdio/ulc-fprintf.c: Likewise.
58614         * lib/unistdio/ulc-vfprintf.c: Likewise.
58615         * lib/unlinkdir.c: Likewise.
58616         * lib/unlinkdir.h: Likewise.
58617         * lib/unlocked-io.h: Likewise.
58618         * lib/unsetenv.c: Likewise.
58619         * lib/userspec.c: Likewise.
58620         * lib/utime.c: Likewise.
58621         * lib/utimecmp.c: Likewise.
58622         * lib/utimecmp.h: Likewise.
58623         * lib/utimens.c: Likewise.
58624         * lib/verify.h: Likewise.
58625         * lib/verror.c: Likewise.
58626         * lib/verror.h: Likewise.
58627         * lib/version-etc-fsf.c: Likewise.
58628         * lib/version-etc.c: Likewise.
58629         * lib/version-etc.h: Likewise.
58630         * lib/vfprintf.c: Likewise.
58631         * lib/vprintf.c: Likewise.
58632         * lib/vsprintf.c: Likewise.
58633         * lib/w32spawn.h: Likewise.
58634         * lib/wait-process.c: Likewise.
58635         * lib/wait-process.h: Likewise.
58636         * lib/wcwidth.c: Likewise.
58637         * lib/write-any-file.c: Likewise.
58638         * lib/xalloc-die.c: Likewise.
58639         * lib/xalloc.h: Likewise.
58640         * lib/xasprintf.c: Likewise.
58641         * lib/xgetcwd.c: Likewise.
58642         * lib/xgetcwd.h: Likewise.
58643         * lib/xgetdomainname.c: Likewise.
58644         * lib/xgetdomainname.h: Likewise.
58645         * lib/xgethostname.c: Likewise.
58646         * lib/xmalloc.c: Likewise.
58647         * lib/xmalloca.c: Likewise.
58648         * lib/xmalloca.h: Likewise.
58649         * lib/xmemcoll.c: Likewise.
58650         * lib/xnanosleep.c: Likewise.
58651         * lib/xreadlink.c: Likewise.
58652         * lib/xreadlink.h: Likewise.
58653         * lib/xsetenv.c: Likewise.
58654         * lib/xsetenv.h: Likewise.
58655         * lib/xstriconv.c: Likewise.
58656         * lib/xstriconv.h: Likewise.
58657         * lib/xstrndup.c: Likewise.
58658         * lib/xstrndup.h: Likewise.
58659         * lib/xstrtod.c: Likewise.
58660         * lib/xstrtod.h: Likewise.
58661         * lib/xstrtol-error.c: Likewise.
58662         * lib/xstrtol.c: Likewise.
58663         * lib/xstrtol.h: Likewise.
58664         * lib/xtime.h: Likewise.
58665         * lib/xvasprintf.c: Likewise.
58666         * lib/xvasprintf.h: Likewise.
58667         * lib/yesno.c: Likewise.
58668         * lib/yesno.h: Likewise.
58669         * posix-modules: Likewise.
58670         * tests/test-alloca-opt.c: Likewise.
58671         * tests/test-arcfour.c: Likewise.
58672         * tests/test-arctwo.c: Likewise.
58673         * tests/test-argmatch.c: Likewise.
58674         * tests/test-argp-2.sh: Likewise.
58675         * tests/test-argp.c: Likewise.
58676         * tests/test-arpa_inet.c: Likewise.
58677         * tests/test-array_list.c: Likewise.
58678         * tests/test-array_oset.c: Likewise.
58679         * tests/test-atexit.c: Likewise.
58680         * tests/test-avltree_list.c: Likewise.
58681         * tests/test-avltree_oset.c: Likewise.
58682         * tests/test-avltreehash_list.c: Likewise.
58683         * tests/test-base64.c: Likewise.
58684         * tests/test-binary-io.c: Likewise.
58685         * tests/test-byteswap.c: Likewise.
58686         * tests/test-c-ctype.c: Likewise.
58687         * tests/test-c-strcasecmp.c: Likewise.
58688         * tests/test-c-strcasestr.c: Likewise.
58689         * tests/test-c-strncasecmp.c: Likewise.
58690         * tests/test-c-strstr.c: Likewise.
58691         * tests/test-canonicalize-lgpl.c: Likewise.
58692         * tests/test-canonicalize.c: Likewise.
58693         * tests/test-carray_list.c: Likewise.
58694         * tests/test-ceilf.c: Likewise.
58695         * tests/test-ceill.c: Likewise.
58696         * tests/test-count-one-bits.c: Likewise.
58697         * tests/test-crc.c: Likewise.
58698         * tests/test-dirname.c: Likewise.
58699         * tests/test-fbufmode.c: Likewise.
58700         * tests/test-fcntl.c: Likewise.
58701         * tests/test-fflush.c: Likewise.
58702         * tests/test-floorf.c: Likewise.
58703         * tests/test-floorl.c: Likewise.
58704         * tests/test-fopen.c: Likewise.
58705         * tests/test-fprintf-posix.c: Likewise.
58706         * tests/test-fprintf-posix.h: Likewise.
58707         * tests/test-fpurge.c: Likewise.
58708         * tests/test-freadable.c: Likewise.
58709         * tests/test-freadahead.c: Likewise.
58710         * tests/test-freading.c: Likewise.
58711         * tests/test-freopen.c: Likewise.
58712         * tests/test-frexp.c: Likewise.
58713         * tests/test-frexpl.c: Likewise.
58714         * tests/test-fseek.c: Likewise.
58715         * tests/test-fseeko.c: Likewise.
58716         * tests/test-fseterr.c: Likewise.
58717         * tests/test-fstrcmp.c: Likewise.
58718         * tests/test-ftell.c: Likewise.
58719         * tests/test-ftello.c: Likewise.
58720         * tests/test-fwritable.c: Likewise.
58721         * tests/test-fwriting.c: Likewise.
58722         * tests/test-getaddrinfo.c: Likewise.
58723         * tests/test-getpass.c: Likewise.
58724         * tests/test-gettimeofday.c: Likewise.
58725         * tests/test-hmac-md5.c: Likewise.
58726         * tests/test-hmac-sha1.c: Likewise.
58727         * tests/test-iconv.c: Likewise.
58728         * tests/test-iconvme.c: Likewise.
58729         * tests/test-inttypes.c: Likewise.
58730         * tests/test-isnan.c: Likewise.
58731         * tests/test-isnanf.c: Likewise.
58732         * tests/test-isnanl-nolibm.c: Likewise.
58733         * tests/test-isnanl.c: Likewise.
58734         * tests/test-isnanl.h: Likewise.
58735         * tests/test-ldexpl.c: Likewise.
58736         * tests/test-linked_list.c: Likewise.
58737         * tests/test-linkedhash_list.c: Likewise.
58738         * tests/test-locale.c: Likewise.
58739         * tests/test-localename.c: Likewise.
58740         * tests/test-lock.c: Likewise.
58741         * tests/test-lseek.c: Likewise.
58742         * tests/test-malloca.c: Likewise.
58743         * tests/test-math.c: Likewise.
58744         * tests/test-mbscasecmp.c: Likewise.
58745         * tests/test-mbscasestr1.c: Likewise.
58746         * tests/test-mbscasestr2.c: Likewise.
58747         * tests/test-mbscasestr3.c: Likewise.
58748         * tests/test-mbscasestr4.c: Likewise.
58749         * tests/test-mbschr.c: Likewise.
58750         * tests/test-mbscspn.c: Likewise.
58751         * tests/test-mbsncasecmp.c: Likewise.
58752         * tests/test-mbspbrk.c: Likewise.
58753         * tests/test-mbspcasecmp.c: Likewise.
58754         * tests/test-mbsrchr.c: Likewise.
58755         * tests/test-mbsspn.c: Likewise.
58756         * tests/test-mbsstr1.c: Likewise.
58757         * tests/test-mbsstr2.c: Likewise.
58758         * tests/test-mbsstr3.c: Likewise.
58759         * tests/test-md5.c: Likewise.
58760         * tests/test-memmem.c: Likewise.
58761         * tests/test-netinet_in.c: Likewise.
58762         * tests/test-open.c: Likewise.
58763         * tests/test-printf-frexp.c: Likewise.
58764         * tests/test-printf-frexpl.c: Likewise.
58765         * tests/test-printf-posix.c: Likewise.
58766         * tests/test-printf-posix.h: Likewise.
58767         * tests/test-rbtree_list.c: Likewise.
58768         * tests/test-rbtree_oset.c: Likewise.
58769         * tests/test-rbtreehash_list.c: Likewise.
58770         * tests/test-read-file.c: Likewise.
58771         * tests/test-rijndael.c: Likewise.
58772         * tests/test-search.c: Likewise.
58773         * tests/test-signbit.c: Likewise.
58774         * tests/test-sleep.c: Likewise.
58775         * tests/test-snprintf-posix.c: Likewise.
58776         * tests/test-snprintf-posix.h: Likewise.
58777         * tests/test-snprintf.c: Likewise.
58778         * tests/test-sprintf-posix.c: Likewise.
58779         * tests/test-sprintf-posix.h: Likewise.
58780         * tests/test-stat-time.c: Likewise.
58781         * tests/test-stdbool.c: Likewise.
58782         * tests/test-stdint.c: Likewise.
58783         * tests/test-stdio.c: Likewise.
58784         * tests/test-stdlib.c: Likewise.
58785         * tests/test-stpncpy.c: Likewise.
58786         * tests/test-strcasestr.c: Likewise.
58787         * tests/test-striconv.c: Likewise.
58788         * tests/test-striconveh.c: Likewise.
58789         * tests/test-striconveha.c: Likewise.
58790         * tests/test-string.c: Likewise.
58791         * tests/test-sys_select.c: Likewise.
58792         * tests/test-sys_socket.c: Likewise.
58793         * tests/test-sys_stat.c: Likewise.
58794         * tests/test-sys_time.c: Likewise.
58795         * tests/test-sysexits.c: Likewise.
58796         * tests/test-time.c: Likewise.
58797         * tests/test-tls.c: Likewise.
58798         * tests/test-trunc.c: Likewise.
58799         * tests/test-truncf.c: Likewise.
58800         * tests/test-truncl.c: Likewise.
58801         * tests/test-unistd.c: Likewise.
58802         * tests/test-vasnprintf-posix.c: Likewise.
58803         * tests/test-vasnprintf-posix2.c: Likewise.
58804         * tests/test-vasnprintf.c: Likewise.
58805         * tests/test-vasprintf-posix.c: Likewise.
58806         * tests/test-vasprintf.c: Likewise.
58807         * tests/test-verify.c: Likewise.
58808         * tests/test-vfprintf-posix.c: Likewise.
58809         * tests/test-vprintf-posix.c: Likewise.
58810         * tests/test-vsnprintf-posix.c: Likewise.
58811         * tests/test-vsnprintf.c: Likewise.
58812         * tests/test-vsprintf-posix.c: Likewise.
58813         * tests/test-wchar.c: Likewise.
58814         * tests/test-wctype.c: Likewise.
58815         * tests/test-wcwidth.c: Likewise.
58816         * tests/test-xstrtol.c: Likewise.
58817         * tests/test-xvasprintf.c: Likewise.
58818         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58819         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58820         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58821         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58822         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58823         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58824         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58825         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58826         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58827         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58828         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58829         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58830         * tests/uniname/test-uninames.c: Likewise.
58831         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58832         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
58833         * tests/unistdio/test-u16-printf1.h: Likewise.
58834         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58835         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58836         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58837         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58838         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58839         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58840         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58841         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
58842         * tests/unistdio/test-u32-printf1.h: Likewise.
58843         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58844         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58845         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58846         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58847         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58848         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58849         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58850         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
58851         * tests/unistdio/test-u8-printf1.h: Likewise.
58852         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58853         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58854         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58855         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58856         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58857         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58858         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58859         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
58860         * tests/unistdio/test-ulc-printf1.h: Likewise.
58861         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58862         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58863         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58864         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58865         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58866         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58867         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58868         * tests/uniwidth/test-u16-width.c: Likewise.
58869         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58870         * tests/uniwidth/test-u32-width.c: Likewise.
58871         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58872         * tests/uniwidth/test-u8-width.c: Likewise.
58873         * tests/uniwidth/test-uc_width.c: Likewise.
58874         * config/srclist-update: Likewise.
58875         (fixlicense): Update to GPLv3+.
58876
58877         Change copyright notice from LGPLv2.1+ to LGPLv3+.
58878         * tests/test-tsearch.c: Change copyright notice.
58879
58880         Change copyright notice from LGPLv2.0+ to LGPLv3+.
58881         * lib/c-strcaseeq.h: Change copyright notice.
58882         * lib/streq.h: Likewise.
58883         * lib/uniconv.h: Likewise.
58884         * lib/uniconv/u-conv-from-enc.h: Likewise.
58885         * lib/uniconv/u-conv-to-enc.h: Likewise.
58886         * lib/uniconv/u-strconv-from-enc.h: Likewise.
58887         * lib/uniconv/u-strconv-to-enc.h: Likewise.
58888         * lib/uniconv/u16-conv-from-enc.c: Likewise.
58889         * lib/uniconv/u16-conv-to-enc.c: Likewise.
58890         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
58891         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
58892         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
58893         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
58894         * lib/uniconv/u32-conv-from-enc.c: Likewise.
58895         * lib/uniconv/u32-conv-to-enc.c: Likewise.
58896         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
58897         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
58898         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
58899         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
58900         * lib/uniconv/u8-conv-from-enc.c: Likewise.
58901         * lib/uniconv/u8-conv-to-enc.c: Likewise.
58902         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
58903         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
58904         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
58905         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
58906         * lib/uniname.h: Likewise.
58907         * lib/uniname/uniname.c: Likewise.
58908         * lib/unistdio.h: Likewise.
58909         * lib/unistdio/u-asnprintf.h: Likewise.
58910         * lib/unistdio/u-asprintf.h: Likewise.
58911         * lib/unistdio/u-printf-args.c: Likewise.
58912         * lib/unistdio/u-printf-args.h: Likewise.
58913         * lib/unistdio/u-printf-parse.h: Likewise.
58914         * lib/unistdio/u-snprintf.h: Likewise.
58915         * lib/unistdio/u-sprintf.h: Likewise.
58916         * lib/unistdio/u-vasprintf.h: Likewise.
58917         * lib/unistdio/u-vsnprintf.h: Likewise.
58918         * lib/unistdio/u-vsprintf.h: Likewise.
58919         * lib/unistdio/u16-asnprintf.c: Likewise.
58920         * lib/unistdio/u16-asprintf.c: Likewise.
58921         * lib/unistdio/u16-printf-parse.c: Likewise.
58922         * lib/unistdio/u16-snprintf.c: Likewise.
58923         * lib/unistdio/u16-sprintf.c: Likewise.
58924         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
58925         * lib/unistdio/u16-u16-asprintf.c: Likewise.
58926         * lib/unistdio/u16-u16-snprintf.c: Likewise.
58927         * lib/unistdio/u16-u16-sprintf.c: Likewise.
58928         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
58929         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
58930         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
58931         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
58932         * lib/unistdio/u16-vasnprintf.c: Likewise.
58933         * lib/unistdio/u16-vasprintf.c: Likewise.
58934         * lib/unistdio/u16-vsnprintf.c: Likewise.
58935         * lib/unistdio/u16-vsprintf.c: Likewise.
58936         * lib/unistdio/u32-asnprintf.c: Likewise.
58937         * lib/unistdio/u32-asprintf.c: Likewise.
58938         * lib/unistdio/u32-printf-parse.c: Likewise.
58939         * lib/unistdio/u32-snprintf.c: Likewise.
58940         * lib/unistdio/u32-sprintf.c: Likewise.
58941         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
58942         * lib/unistdio/u32-u32-asprintf.c: Likewise.
58943         * lib/unistdio/u32-u32-snprintf.c: Likewise.
58944         * lib/unistdio/u32-u32-sprintf.c: Likewise.
58945         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
58946         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
58947         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
58948         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
58949         * lib/unistdio/u32-vasnprintf.c: Likewise.
58950         * lib/unistdio/u32-vasprintf.c: Likewise.
58951         * lib/unistdio/u32-vsnprintf.c: Likewise.
58952         * lib/unistdio/u32-vsprintf.c: Likewise.
58953         * lib/unistdio/u8-asnprintf.c: Likewise.
58954         * lib/unistdio/u8-asprintf.c: Likewise.
58955         * lib/unistdio/u8-printf-parse.c: Likewise.
58956         * lib/unistdio/u8-snprintf.c: Likewise.
58957         * lib/unistdio/u8-sprintf.c: Likewise.
58958         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
58959         * lib/unistdio/u8-u8-asprintf.c: Likewise.
58960         * lib/unistdio/u8-u8-snprintf.c: Likewise.
58961         * lib/unistdio/u8-u8-sprintf.c: Likewise.
58962         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
58963         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
58964         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
58965         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
58966         * lib/unistdio/u8-vasnprintf.c: Likewise.
58967         * lib/unistdio/u8-vasprintf.c: Likewise.
58968         * lib/unistdio/u8-vsnprintf.c: Likewise.
58969         * lib/unistdio/u8-vsprintf.c: Likewise.
58970         * lib/unistdio/ulc-asnprintf.c: Likewise.
58971         * lib/unistdio/ulc-asprintf.c: Likewise.
58972         * lib/unistdio/ulc-printf-parse.c: Likewise.
58973         * lib/unistdio/ulc-snprintf.c: Likewise.
58974         * lib/unistdio/ulc-sprintf.c: Likewise.
58975         * lib/unistdio/ulc-vasnprintf.c: Likewise.
58976         * lib/unistdio/ulc-vasprintf.c: Likewise.
58977         * lib/unistdio/ulc-vsnprintf.c: Likewise.
58978         * lib/unistdio/ulc-vsprintf.c: Likewise.
58979         * lib/unistr.h: Likewise.
58980         * lib/unistr/u-cpy-alloc.h: Likewise.
58981         * lib/unistr/u-cpy.h: Likewise.
58982         * lib/unistr/u-endswith.h: Likewise.
58983         * lib/unistr/u-move.h: Likewise.
58984         * lib/unistr/u-set.h: Likewise.
58985         * lib/unistr/u-startswith.h: Likewise.
58986         * lib/unistr/u-stpcpy.h: Likewise.
58987         * lib/unistr/u-stpncpy.h: Likewise.
58988         * lib/unistr/u-strcat.h: Likewise.
58989         * lib/unistr/u-strcpy.h: Likewise.
58990         * lib/unistr/u-strcspn.h: Likewise.
58991         * lib/unistr/u-strdup.h: Likewise.
58992         * lib/unistr/u-strlen.h: Likewise.
58993         * lib/unistr/u-strncat.h: Likewise.
58994         * lib/unistr/u-strncpy.h: Likewise.
58995         * lib/unistr/u-strnlen.h: Likewise.
58996         * lib/unistr/u-strpbrk.h: Likewise.
58997         * lib/unistr/u-strspn.h: Likewise.
58998         * lib/unistr/u-strstr.h: Likewise.
58999         * lib/unistr/u-strtok.h: Likewise.
59000         * lib/unistr/u16-check.c: Likewise.
59001         * lib/unistr/u16-chr.c: Likewise.
59002         * lib/unistr/u16-cmp.c: Likewise.
59003         * lib/unistr/u16-cpy-alloc.c: Likewise.
59004         * lib/unistr/u16-cpy.c: Likewise.
59005         * lib/unistr/u16-endswith.c: Likewise.
59006         * lib/unistr/u16-mblen.c: Likewise.
59007         * lib/unistr/u16-mbsnlen.c: Likewise.
59008         * lib/unistr/u16-mbtouc-aux.c: Likewise.
59009         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
59010         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
59011         * lib/unistr/u16-mbtouc.c: Likewise.
59012         * lib/unistr/u16-mbtoucr.c: Likewise.
59013         * lib/unistr/u16-move.c: Likewise.
59014         * lib/unistr/u16-next.c: Likewise.
59015         * lib/unistr/u16-prev.c: Likewise.
59016         * lib/unistr/u16-set.c: Likewise.
59017         * lib/unistr/u16-startswith.c: Likewise.
59018         * lib/unistr/u16-stpcpy.c: Likewise.
59019         * lib/unistr/u16-stpncpy.c: Likewise.
59020         * lib/unistr/u16-strcat.c: Likewise.
59021         * lib/unistr/u16-strchr.c: Likewise.
59022         * lib/unistr/u16-strcmp.c: Likewise.
59023         * lib/unistr/u16-strcpy.c: Likewise.
59024         * lib/unistr/u16-strcspn.c: Likewise.
59025         * lib/unistr/u16-strdup.c: Likewise.
59026         * lib/unistr/u16-strlen.c: Likewise.
59027         * lib/unistr/u16-strmblen.c: Likewise.
59028         * lib/unistr/u16-strmbtouc.c: Likewise.
59029         * lib/unistr/u16-strncat.c: Likewise.
59030         * lib/unistr/u16-strncmp.c: Likewise.
59031         * lib/unistr/u16-strncpy.c: Likewise.
59032         * lib/unistr/u16-strnlen.c: Likewise.
59033         * lib/unistr/u16-strpbrk.c: Likewise.
59034         * lib/unistr/u16-strrchr.c: Likewise.
59035         * lib/unistr/u16-strspn.c: Likewise.
59036         * lib/unistr/u16-strstr.c: Likewise.
59037         * lib/unistr/u16-strtok.c: Likewise.
59038         * lib/unistr/u16-to-u32.c: Likewise.
59039         * lib/unistr/u16-to-u8.c: Likewise.
59040         * lib/unistr/u16-uctomb-aux.c: Likewise.
59041         * lib/unistr/u16-uctomb.c: Likewise.
59042         * lib/unistr/u32-check.c: Likewise.
59043         * lib/unistr/u32-chr.c: Likewise.
59044         * lib/unistr/u32-cmp.c: Likewise.
59045         * lib/unistr/u32-cpy-alloc.c: Likewise.
59046         * lib/unistr/u32-cpy.c: Likewise.
59047         * lib/unistr/u32-endswith.c: Likewise.
59048         * lib/unistr/u32-mblen.c: Likewise.
59049         * lib/unistr/u32-mbsnlen.c: Likewise.
59050         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
59051         * lib/unistr/u32-mbtouc.c: Likewise.
59052         * lib/unistr/u32-mbtoucr.c: Likewise.
59053         * lib/unistr/u32-move.c: Likewise.
59054         * lib/unistr/u32-next.c: Likewise.
59055         * lib/unistr/u32-prev.c: Likewise.
59056         * lib/unistr/u32-set.c: Likewise.
59057         * lib/unistr/u32-startswith.c: Likewise.
59058         * lib/unistr/u32-stpcpy.c: Likewise.
59059         * lib/unistr/u32-stpncpy.c: Likewise.
59060         * lib/unistr/u32-strcat.c: Likewise.
59061         * lib/unistr/u32-strchr.c: Likewise.
59062         * lib/unistr/u32-strcmp.c: Likewise.
59063         * lib/unistr/u32-strcpy.c: Likewise.
59064         * lib/unistr/u32-strcspn.c: Likewise.
59065         * lib/unistr/u32-strdup.c: Likewise.
59066         * lib/unistr/u32-strlen.c: Likewise.
59067         * lib/unistr/u32-strmblen.c: Likewise.
59068         * lib/unistr/u32-strmbtouc.c: Likewise.
59069         * lib/unistr/u32-strncat.c: Likewise.
59070         * lib/unistr/u32-strncmp.c: Likewise.
59071         * lib/unistr/u32-strncpy.c: Likewise.
59072         * lib/unistr/u32-strnlen.c: Likewise.
59073         * lib/unistr/u32-strpbrk.c: Likewise.
59074         * lib/unistr/u32-strrchr.c: Likewise.
59075         * lib/unistr/u32-strspn.c: Likewise.
59076         * lib/unistr/u32-strstr.c: Likewise.
59077         * lib/unistr/u32-strtok.c: Likewise.
59078         * lib/unistr/u32-to-u16.c: Likewise.
59079         * lib/unistr/u32-to-u8.c: Likewise.
59080         * lib/unistr/u32-uctomb.c: Likewise.
59081         * lib/unistr/u8-check.c: Likewise.
59082         * lib/unistr/u8-chr.c: Likewise.
59083         * lib/unistr/u8-cmp.c: Likewise.
59084         * lib/unistr/u8-cpy-alloc.c: Likewise.
59085         * lib/unistr/u8-cpy.c: Likewise.
59086         * lib/unistr/u8-endswith.c: Likewise.
59087         * lib/unistr/u8-mblen.c: Likewise.
59088         * lib/unistr/u8-mbsnlen.c: Likewise.
59089         * lib/unistr/u8-mbtouc-aux.c: Likewise.
59090         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
59091         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
59092         * lib/unistr/u8-mbtouc.c: Likewise.
59093         * lib/unistr/u8-mbtoucr.c: Likewise.
59094         * lib/unistr/u8-move.c: Likewise.
59095         * lib/unistr/u8-next.c: Likewise.
59096         * lib/unistr/u8-prev.c: Likewise.
59097         * lib/unistr/u8-set.c: Likewise.
59098         * lib/unistr/u8-startswith.c: Likewise.
59099         * lib/unistr/u8-stpcpy.c: Likewise.
59100         * lib/unistr/u8-stpncpy.c: Likewise.
59101         * lib/unistr/u8-strcat.c: Likewise.
59102         * lib/unistr/u8-strchr.c: Likewise.
59103         * lib/unistr/u8-strcmp.c: Likewise.
59104         * lib/unistr/u8-strcpy.c: Likewise.
59105         * lib/unistr/u8-strcspn.c: Likewise.
59106         * lib/unistr/u8-strdup.c: Likewise.
59107         * lib/unistr/u8-strlen.c: Likewise.
59108         * lib/unistr/u8-strmblen.c: Likewise.
59109         * lib/unistr/u8-strmbtouc.c: Likewise.
59110         * lib/unistr/u8-strncat.c: Likewise.
59111         * lib/unistr/u8-strncmp.c: Likewise.
59112         * lib/unistr/u8-strncpy.c: Likewise.
59113         * lib/unistr/u8-strnlen.c: Likewise.
59114         * lib/unistr/u8-strpbrk.c: Likewise.
59115         * lib/unistr/u8-strrchr.c: Likewise.
59116         * lib/unistr/u8-strspn.c: Likewise.
59117         * lib/unistr/u8-strstr.c: Likewise.
59118         * lib/unistr/u8-strtok.c: Likewise.
59119         * lib/unistr/u8-to-u16.c: Likewise.
59120         * lib/unistr/u8-to-u32.c: Likewise.
59121         * lib/unistr/u8-uctomb-aux.c: Likewise.
59122         * lib/unistr/u8-uctomb.c: Likewise.
59123         * lib/unitypes.h: Likewise.
59124         * lib/uniwidth.h: Likewise.
59125         * lib/uniwidth/cjk.h: Likewise.
59126         * lib/uniwidth/u16-strwidth.c: Likewise.
59127         * lib/uniwidth/u16-width.c: Likewise.
59128         * lib/uniwidth/u32-strwidth.c: Likewise.
59129         * lib/uniwidth/u32-width.c: Likewise.
59130         * lib/uniwidth/u8-strwidth.c: Likewise.
59131         * lib/uniwidth/u8-width.c: Likewise.
59132         * lib/uniwidth/width.c: Likewise.
59133
59134 2007-10-07  Bruno Haible  <bruno@clisp.org>
59135
59136         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
59137         The file is still under LGPL (see modules/inttypes).
59138
59139 2007-10-06  Bruno Haible  <bruno@clisp.org>
59140
59141         * modules/trunc (Dependencies): Add 'extensions'.
59142         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
59143         Reported by Ben Pfaff <blp@gnu.org>.
59144
59145 2007-10-06  Bruno Haible  <bruno@clisp.org>
59146
59147         * modules/freopen-tests: New file.
59148         * tests/test-freopen.c: New file.
59149
59150         * modules/fopen-tests: New file.
59151         * tests/test-fopen.c: New file.
59152
59153         * modules/fopen: New file.
59154         * lib/fopen.c: New file.
59155         * m4/fopen.m4: New file.
59156         * modules/freopen: New file.
59157         * lib/freopen.c: New file.
59158         * m4/freopen.m4: New file.
59159         * lib/stdio.in.h (fopen, freopen): New declarations.
59160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
59161         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59162         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
59163         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59164         * doc/functions/fopen.texi: Mention the 'fopen' module.
59165         * doc/functions/freopen.texi: Mention the 'freopen' module.
59166
59167 2007-10-06  Bruno Haible  <bruno@clisp.org>
59168
59169         * modules/open-tests: New file.
59170         * tests/test-open.c: New file.
59171
59172         * modules/open: New file.
59173         * lib/open.c: New file.
59174         * m4/open.m4: New file.
59175         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
59176         lib/open.c does.
59177         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
59178         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
59179         macros.
59180         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
59181         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
59182         REPLACE_OPEN.
59183         * doc/functions/open.texi: Mention the 'open' module.
59184
59185 2007-10-04  Bruno Haible  <bruno@clisp.org>
59186
59187         * modules/ceill-tests: New file.
59188         * tests/test-ceill.c: New file.
59189
59190         * modules/ceill: New file.
59191         * lib/ceill.c: Replace entire file.
59192         * m4/ceill.m4: New file.
59193         * lib/math.in.h (ceill): Replace declaration.
59194         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
59195         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
59196         * doc/functions/ceill.texi: Mention the 'ceill' module.
59197         * modules/mathl (Files): Remove lib/ceill.c.
59198         (Depends-on): Add ceill.
59199
59200 2007-10-04  Bruno Haible  <bruno@clisp.org>
59201
59202         * modules/ceilf-tests: New file.
59203         * tests/test-ceilf.c: New file.
59204
59205         * modules/ceilf: New file.
59206         * lib/ceil.c: New file.
59207         * lib/ceilf.c: New file.
59208         * m4/ceilf.m4: New file.
59209         * lib/math.in.h (ceilf): New declaration.
59210         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
59211         HAVE_DECL_CEILF.
59212         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
59213         HAVE_DECL_CEILF.
59214         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
59215
59216 2007-10-04  Bruno Haible  <bruno@clisp.org>
59217
59218         * modules/floorl-tests: New file.
59219         * tests/test-floorl.c: New file.
59220
59221         * modules/floorl: New file.
59222         * lib/floorl.c: Replace entire file.
59223         * m4/floorl.m4: New file.
59224         * lib/math.in.h (floorl): Replace declaration.
59225         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
59226         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
59227         * doc/functions/floorl.texi: Mention the 'floorl' module.
59228         * modules/mathl (Files): Remove lib/floorl.c.
59229         (Depends-on): Add floorl.
59230
59231 2007-10-04  Bruno Haible  <bruno@clisp.org>
59232
59233         * modules/floorf-tests: New file.
59234         * tests/test-floorf.c: New file.
59235
59236         * modules/floorf: New file.
59237         * lib/floor.c: New file.
59238         * lib/floorf.c: New file.
59239         * m4/floorf.m4: New file.
59240         * lib/math.in.h (floorf): New declaration.
59241         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
59242         HAVE_DECL_FLOORF.
59243         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
59244         HAVE_DECL_FLOORF.
59245         * doc/functions/floorf.texi: Mention the 'floorf' module.
59246
59247 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
59248             Bruno Haible  <bruno@clisp.org>
59249
59250         Advertise for the Git server instead of the CVS server.
59251         * doc/gnulib-intro.texi (Steady Development): Mention the Git
59252         repository instead of the CVS one.
59253         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
59254         about all VCS systems generically.
59255         * doc/gnulib.texi (Introduction): Capitalize `Git'.
59256
59257 2007-10-04  Bruno Haible  <bruno@clisp.org>
59258
59259         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
59260         means.
59261         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
59262
59263 2007-10-04  Bruno Haible  <bruno@clisp.org>
59264
59265         * modules/truncl-tests: New file.
59266         * tests/test-truncl.c: New file.
59267
59268         * modules/truncl: New file.
59269         * lib/truncl.c: New file.
59270         * m4/truncl.m4: New file.
59271         * lib/math.in.h (truncl): New declaration.
59272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
59273         HAVE_DECL_TRUNCL.
59274         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
59275         HAVE_DECL_TRUNCL.
59276         * doc/functions/truncl.texi: Mention the 'truncl' module.
59277
59278 2007-10-04  Bruno Haible  <bruno@clisp.org>
59279
59280         * modules/truncf-tests: New file.
59281         * tests/test-truncf.c: New file.
59282
59283         * modules/truncf: New file.
59284         * lib/trunc.c: Make paramerizable through USE_* macros.
59285         * lib/truncf.c: New file.
59286         * m4/truncf.m4: New file.
59287         * lib/math.in.h (truncf): New declaration.
59288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
59289         HAVE_DECL_TRUNCF.
59290         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
59291         HAVE_DECL_TRUNCF.
59292         * doc/functions/truncf.texi: Mention the 'truncf' module.
59293
59294 2007-10-03  Bruno Haible  <bruno@clisp.org>
59295
59296         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
59297         augmentation also for tests modules.
59298         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
59299         * modules/atexit-tests (Makefile.am): Likewise.
59300         * modules/binary-io-tests (Makefile.am): Likewise.
59301         * modules/c-strcase-tests (Makefile.am): Likewise.
59302         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
59303         * modules/canonicalize-tests (Makefile.am): Likewise.
59304         * modules/closein-tests (Makefile.am): Likewise.
59305         * modules/fprintf-posix-tests (Makefile.am): Likewise.
59306         * modules/freadahead-tests (Makefile.am): Likewise.
59307         * modules/fseek-tests (Makefile.am): Likewise.
59308         * modules/fseeko-tests (Makefile.am): Likewise.
59309         * modules/ftell-tests (Makefile.am): Likewise.
59310         * modules/ftello-tests (Makefile.am): Likewise.
59311         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
59312         * modules/isnanl-tests (Makefile.am): Likewise.
59313         * modules/lseek-tests (Makefile.am): Likewise.
59314         * modules/mbscasecmp-tests (Makefile.am): Likewise.
59315         * modules/mbscasestr-tests (Makefile.am): Likewise.
59316         * modules/mbschr-tests (Makefile.am): Likewise.
59317         * modules/mbscspn-tests (Makefile.am): Likewise.
59318         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
59319         * modules/mbspbrk-tests (Makefile.am): Likewise.
59320         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
59321         * modules/mbsrchr-tests (Makefile.am): Likewise.
59322         * modules/mbsspn-tests (Makefile.am): Likewise.
59323         * modules/mbsstr-tests (Makefile.am): Likewise.
59324         * modules/printf-posix-tests (Makefile.am): Likewise.
59325         * modules/snprintf-posix-tests (Makefile.am): Likewise.
59326         * modules/sprintf-posix-tests (Makefile.am): Likewise.
59327         * modules/tsearch-tests (Makefile.am): Likewise.
59328         * modules/uniname/uniname-tests (Makefile.am): Likewise.
59329         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
59330         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
59331         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
59332         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
59333         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
59334         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
59335         * modules/vprintf-posix-tests (Makefile.am): Likewise.
59336         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
59337         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
59338         * modules/xstrtoimax-tests (Makefile.am): Likewise.
59339         * modules/xstrtol-tests (Makefile.am): Likewise.
59340         * modules/xstrtoumax-tests (Makefile.am): Likewise.
59341         * modules/yesno-tests (Makefile.am): Likewise.
59342
59343 2007-10-03  Bruno Haible  <bruno@clisp.org>
59344
59345         * modules/trunc-tests: New file.
59346         * tests/test-trunc.c: New file.
59347
59348         * modules/trunc: New file.
59349         * lib/trunc.c: New file.
59350         * m4/trunc.m4: New file.
59351         * lib/math.in.h (trunc): New declaration.
59352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
59353         HAVE_DECL_TRUNC.
59354         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
59355         HAVE_DECL_TRUNC.
59356         * doc/functions/trunc.texi: Mention the 'trunc' module.
59357
59358 2007-10-03  Bruno Haible  <bruno@clisp.org>
59359
59360         * tests/test-fpending.c: New file, mostly copied
59361         from coreutils/lib/t-fpending.c.
59362         * modules/fpending-tests: New file.
59363
59364 2007-10-03  Bruno Haible  <bruno@clisp.org>
59365
59366         Port the stdio extensions to QNX (untested).
59367         * lib/fseterr.c (fseterr): Add support for QNX.
59368         * lib/fbufmode.c (fbufmode): Likewise.
59369         * lib/freadable.c (freadable): Likewise.
59370         * lib/fwritable.c (fwritable): Likewise.
59371         * lib/freading.c (freading): Likewise.
59372         * lib/fwriting.c (fwriting): Likewise.
59373         * lib/freadahead.c (freadahed): Likewise.
59374         * lib/fpurge.c (fpurge): Likewise.
59375         * lib/fseeko.c (rpl_fseeko): Likewise.
59376
59377 2007-10-03  Bruno Haible  <bruno@clisp.org>
59378             Jim Meyering  <jim@meyering.net>
59379             Eric Blake  <ebb9@byu.net>
59380
59381         * doc/relocatable.texi: Use @command instead of @program.
59382
59383 2007-10-02  Jim Meyering  <jim@meyering.net>
59384
59385         Perform one more "_.h" -> ".in.h" substitution.
59386         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
59387         instead of unistd_.h here, too.
59388
59389 2007-10-01  Bruno Haible  <bruno@clisp.org>
59390
59391         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
59392         Needed for the alloca-opt module.
59393
59394 2007-09-30  Bruno Haible  <bruno@clisp.org>
59395
59396         * lib/alloca.in.h: Renamed from lib/alloca_.h.
59397         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
59398         alloca_.h.
59399         * lib/argz.in.h: Renamed from lib/argz_.h.
59400         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
59401         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
59402         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
59403         byteswap_.h.
59404         * lib/dirent.in.h: Renamed from lib/dirent_.h.
59405         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
59406         dirent_.h.
59407         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
59408         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
59409         fcntl_.h.
59410         * lib/float.in.h: Renamed from lib/float_.h.
59411         * modules/float (Files, Makefile.am): Use float.in.h instead of
59412         float_.h.
59413         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
59414         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
59415         fnmatch_.h.
59416         * lib/getopt.in.h: Renamed from lib/getopt_.h.
59417         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
59418         getopt_.h.
59419         * lib/glob.in.h: Renamed from lib/glob_.h.
59420         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
59421         * lib/iconv.in.h: Renamed from lib/iconv_.h.
59422         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
59423         iconv_.h.
59424         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
59425         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
59426         inttypes_.h.
59427         * lib/locale.in.h: Renamed from lib/locale_.h.
59428         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
59429         locale_.h.
59430         * lib/math.in.h: Renamed from lib/math_.h.
59431         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
59432         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
59433         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
59434         of netinet_in_.h. Add dependency.
59435         * lib/poll.in.h: Renamed from lib/poll_.h.
59436         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
59437         * lib/search.in.h: Renamed from lib/search_.h.
59438         * modules/search (Files, Makefile.am): Use search.in.h instead of
59439         search_.h.
59440         * lib/signal.in.h: Renamed from lib/signal_.h.
59441         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
59442         _signal.h.
59443         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
59444         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
59445         stdbool_.h.
59446         * lib/stdint.in.h: Renamed from lib/stdint_.h.
59447         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
59448         stdint_.h.
59449         * lib/stdio.in.h: Renamed from lib/stdio_.h.
59450         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
59451         stdio_.h.
59452         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
59453         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
59454         stdlib_.h.
59455         * lib/string.in.h: Renamed from lib/string_.h.
59456         * modules/string (Files, Makefile.am): Use string.in.h instead of
59457         string_.h.
59458         * doc/gnulib-tool.texi (Initial import): Update.
59459         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
59460         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
59461         of sys_select_.h. Add dependency.
59462         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
59463         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
59464         of sys_socket_.h.
59465         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
59466         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
59467         sys_stat_.h.
59468         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
59469         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
59470         sys_time_.h.
59471         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
59472         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
59473         sysexits_.h.
59474         * lib/time.in.h: Renamed from lib/time_.h.
59475         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
59476         * lib/unistd.in.h: Renamed from lib/unistd_.h.
59477         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
59478         unistd_.h.
59479         * lib/wchar.in.h: Renamed from lib/wchar_.h.
59480         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
59481         wchar_.h.
59482         * lib/wctype.in.h: Renamed from lib/wctype_.h.
59483         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
59484         wctype_.h.
59485         * build-aux/bootstrap (slurp): Update.
59486         * lib/.cppi-disable: Update.
59487
59488 2007-09-30  Bruno Haible  <bruno@clisp.org>
59489
59490         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
59491         Needed on BeOS.
59492
59493 2007-09-30  Bruno Haible  <bruno@clisp.org>
59494
59495         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
59496
59497 2007-09-29  Bruno Haible  <bruno@clisp.org>
59498
59499         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
59500
59501 2007-09-29  Bruno Haible  <bruno@clisp.org>
59502
59503         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
59504         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
59505         * build-aux/install-reloc: Compile also areadlink.c.
59506         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
59507
59508 2007-09-29  Bruno Haible  <bruno@clisp.org>
59509
59510         * gnulib-tool (func_emit_initmacro_done): Indentation.
59511
59512 2007-09-29  Bruno Haible  <bruno@clisp.org>
59513
59514         * README: Add CVS checkout update instructions.
59515         Info from Bob Proulx <bob@proulx.com>.
59516
59517 2007-09-28  Eric Blake  <ebb9@byu.net>
59518
59519         Provide move-if-change.
59520         * build-aux/move-if-change: New file, based on best practice
59521         rather than any canonical upstream location.
59522
59523 2007-09-28  Jim Meyering  <jim@meyering.net>
59524
59525         Fix canonicalize loop-detection corner case.
59526         Do not attempt to stat the symlink values stored via seen_triple.
59527         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
59528         on linux-2.6.18, (but not 2.6.22).
59529         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
59530         triple_compare.  The former compares dev,ino,filename, while the latter
59531         would actually stat dirname(filename) when dev and ino were equal.
59532         * lib/hash-triple.c: Install <string.h>.
59533         (STREQ): Define.
59534         (triple_compare_ino_str): New function.
59535         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
59536
59537 2007-09-28  Eric Blake  <ebb9@byu.net>
59538
59539         Enforce that AC_REPLACE_FUNCS files exist.
59540         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
59541         override check for typos.
59542
59543         Fix test-closein on Solaris 10.
59544         * tests/test-closein.c (main): Don't assume stdin can be inherited
59545         closed on all systems.
59546         * tests/test-closein.sh: Likewise.
59547         Reported by Piotr Tarnowski.
59548
59549 2007-09-28  Jim Meyering  <jim@meyering.net>
59550
59551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
59552
59553 2007-09-27  Jim Meyering  <jim@meyering.net>
59554
59555         canonicalize: Avoid a false-positive cycle failure.
59556         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
59557         Sort.  Remove cycle-check.
59558         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
59559         not cycle-check.h.
59560         (seen_triple): New function.
59561         (canonicalize_filename_mode): Use it instead of cycle-check.
59562         * tests/test-canonicalize.c: Add a test for this bug.
59563         * tests/test-canonicalize.sh: Set up and run the test.
59564
59565         New module, file-set, from coreutils.
59566         * modules/file-set: Define it.
59567         * lib/file-set.c, lib/file-set.h: Implement.
59568
59569         New module, hash-triple, from coreutils.
59570         * modules/hash-triple: Define it.
59571         * lib/hash-triple.c, lib/hash-triple.h: Implement.
59572
59573 2007-09-25  Eric Blake  <ebb9@byu.net>
59574
59575         Fix strerror on Interix.
59576         * lib/string_.h (strerror): Declare replacement.
59577         * doc/functions/strerror.texi (strerror): Document the Interix
59578         shortcoming.
59579         * modules/string (Makefile.am): Support new hooks.
59580         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
59581         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
59582         gl_FUNC_STRERROR_SEPARATE.
59583         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
59584         * lib/strerror.c (rpl_strerror): Provide replacement.
59585         * modules/strerror (Depends-on): Add string.
59586         (configure.ac): Detect use of module.
59587         * tests/test-strerror.c: New file.
59588         * modules/strerror-tests: New test module.
59589         * modules/argp (Depends-on): Add strerror.
59590         * modules/error (Depends-on): Likewise.
59591         Reported by Martin Koeppe.
59592
59593 2007-09-24  Bruno Haible  <bruno@clisp.org>
59594
59595         * README: Update git instructions.
59596
59597 2007-09-24  Eric Blake  <ebb9@byu.net>
59598
59599         Revert fpending breakage from 2007-09-08.
59600         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
59601         __fpending.c.
59602
59603 2007-09-24  Jim Meyering  <jim@meyering.net>
59604
59605         filenamecat.c: Add a test.
59606         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
59607         showing how the function works when DIR is the empty string.
59608
59609 2007-09-21  Simon Josefsson  <simon@josefsson.org>
59610
59611         * tests/test-canonicalize.sh: Turn on executable bit.
59612
59613 2007-09-19  Eric Blake  <ebb9@byu.net>
59614
59615         * README: Update CVS instructions.
59616
59617 2007-09-18  Bruno Haible  <bruno@clisp.org>
59618
59619         * modules/areadlink: New file.
59620         * lib/areadlink.h (areadlink): New declaration.
59621         * lib/areadlink.c: New file, based on lib/xreadlink.c.
59622
59623 2007-09-17  Jim Meyering  <jim@meyering.net>
59624
59625         * lib/savewd.c (ESTALE) [!defined]: Define.
59626         Reported to be required on Interix by Martin Koeppe.
59627
59628 2007-09-17  Bruno Haible  <bruno@clisp.org>
59629
59630         * gnulib-tool (func_version): Use $version.
59631
59632 2007-09-16  Bruno Haible  <bruno@clisp.org>
59633
59634         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
59635         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
59636         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
59637         Reported by Greg Schafer <gschafer@zip.com.au>.
59638
59639 2007-09-15  Bruno Haible  <bruno@clisp.org>
59640
59641         * gnulib-tool (sed): Try a little harder to make bash understand the
59642         alias.
59643         Reported by Bruce Korb <bruce.korb@gmail.com>.
59644
59645 2007-09-13  Eric Blake  <ebb9@byu.net>
59646
59647         * ChangeLog: Remove conflict markers.
59648
59649 2007-09-13  Simon Josefsson  <simon@josefsson.org>
59650
59651         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
59652         Reported by Bruno Haible <bruno@clisp.org>.
59653
59654 2007-09-12  Bruno Haible  <bruno@clisp.org>
59655
59656         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
59657         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
59658         is not defined.
59659
59660 2007-09-12  Eric Blake  <ebb9@byu.net>
59661
59662         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
59663         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
59664         Autoconf definition.
59665         * modules/euidaccess (Depends-on): Add extensions, for
59666         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
59667         * modules/fnmatch (Depends-on): Likewise.
59668         * modules/getaddrinfo (Depends-on): Likewise.
59669         * modules/getdelim (Depends-on): Likewise.
59670         * modules/getline (Depends-on): Likewise.
59671         * modules/getsubopt (Depends-on): Likewise.
59672         * modules/gettext (Depends-on): Likewise.
59673         * modules/group-member (Depends-on): Likewise.
59674         * modules/mbchar (Depends-on): Likewise.
59675         * modules/memmem (Depends-on): Likewise.
59676         * modules/mempcpy (Depends-on): Likewise.
59677         * modules/memrchr (Depends-on): Likewise.
59678         * modules/pagealign_alloc (Depends-on): Likewise.
59679         * modules/readutmp (Depends-on): Likewise.
59680         * modules/stpcpy (Depends-on): Likewise.
59681         * modules/stpncpy (Depends-on): Likewise.
59682         * modules/strchrnul (Depends-on): Likewise.
59683         * modules/strndup (Depends-on): Likewise.
59684         * modules/strsep (Depends-on): Likewise.
59685         * modules/strverscmp (Depends-on): Likewise.
59686         * modules/vasprintf (Depends-on): Likewise.
59687         * modules/wcwidth (Depends-on): Likewise.
59688         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
59689         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
59690         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
59691         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
59692         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59693         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59694         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
59695         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59696         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
59697         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
59698         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59699         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59700         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59701         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
59702         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
59703         * m4/readutmp.m4 (gl_READUTMP): Likewise.
59704         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59705         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59706         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59707         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59708         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59709         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59710         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59711         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
59712         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
59713         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59714         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
59715         so that lock.m4 can be used in gettext without extensions module.
59716
59717 2007-09-11  Bruno Haible  <bruno@clisp.org>
59718
59719         * m4/isc-posix.m4: Remove file.
59720         Suggested by Eric Blake.
59721
59722 2007-09-11  Eric Blake  <ebb9@byu.net>
59723
59724         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
59725
59726 2007-09-10  Bruno Haible  <bruno@clisp.org>
59727
59728         * posix-modules: Fix typo in error message.
59729         Reported by Matt <mkraai@beckman.com>.
59730
59731 2007-09-09  Bruno Haible  <bruno@clisp.org>
59732
59733         * doc/functions/getdelim.texi: Update list of platforms lacking the
59734         function.
59735         * doc/functions/getline.texi: Likewise.
59736
59737 2007-09-09  Jim Meyering  <jim@meyering.net>
59738
59739         * lib/hash.c (hash_initialize): Detect calloc failure.
59740         Reported by Bruno Haible.
59741
59742 2007-09-09  Bruno Haible  <bruno@clisp.org>
59743
59744         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
59745         malloc or realloc fails.
59746
59747 2007-09-09  Bruno Haible  <bruno@clisp.org>
59748
59749         * modules/getcwd (Depends-on): Add malloc-posix.
59750         * modules/glob (Depends-on): Likewise.
59751         * modules/putenv (Depends-on): Likewise.
59752         * modules/strdup (Depends-on): Likewise.
59753         * modules/getdelim (Depends-on): Add realloc-posix.
59754         * modules/read-file (Depends-on): Likewise.
59755
59756 2007-09-09  Bruno Haible  <bruno@clisp.org>
59757
59758         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
59759         (gl_FUNC_MALLOC_POSIX): Require it.
59760         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
59761         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
59762         * modules/realloc (Files): Add m4/malloc.m4.
59763         * modules/calloc (Files): Likewise.
59764
59765 2007-09-09  Bruno Haible  <bruno@clisp.org>
59766
59767         * modules/malloc-posix: New file.
59768         * modules/malloc (Depends-on): Add malloc-posix.
59769         * lib/malloc.c: Include errno.h.
59770         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
59771         and a POSIX-compatible malloc into a single function. Set ENOMEM
59772         when returning NULL.
59773         * m4/malloc.m4: New file.
59774         * doc/functions/malloc.texi: Mention the malloc-posix module.
59775         * lib/stdlib_.h (malloc): New declaration.
59776         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59777         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
59778         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
59779         and HAVE_MALLOC_POSIX.
59780
59781 2007-09-09  Bruno Haible  <bruno@clisp.org>
59782
59783         * modules/realloc-posix: New file.
59784         * modules/realloc (Depends-on): Add realloc-posix.
59785         * lib/realloc.c: Include errno.h.
59786         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
59787         and a POSIX-compatible realloc into a single function. Set ENOMEM
59788         when returning NULL.
59789         * m4/realloc.m4: New file.
59790         * doc/functions/realloc.texi: Mention the realloc-posix module.
59791         * lib/stdlib_.h (realloc): New declaration.
59792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59793         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
59794         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
59795         and HAVE_REALLOC_POSIX.
59796
59797 2007-09-09  Bruno Haible  <bruno@clisp.org>
59798
59799         * modules/calloc-posix: New file.
59800         * modules/calloc (Depends-on): Add calloc-posix.
59801         * lib/calloc.c: Include errno.h.
59802         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
59803         and a POSIX-compatible calloc into a single function. Set ENOMEM
59804         when returning NULL.
59805         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
59806         * doc/functions/calloc.texi: Mention the calloc-posix module.
59807         * lib/stdlib_.h (calloc): New declaration.
59808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59809         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
59810         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
59811         and HAVE_CALLOC_POSIX.
59812
59813 2007-09-09  Bruno Haible  <bruno@clisp.org>
59814
59815         Allow for modules to show an arbitrary notice.
59816         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
59817         * gnulib-tool: New option --extract-notice.
59818         (func_usage): Document it.
59819         (sed_extract_prog): Update.
59820         (func_get_notice): New function.
59821         (func_modules_notice): New function.
59822         (func_import, func_create_testdir): Invoke it.
59823         Suggested by Jim Meyering.
59824
59825 2007-09-09  Bruno Haible  <bruno@clisp.org>
59826
59827         * gnulib-tool: New options --verbose, --quiet.
59828         (func_usage): Document them.
59829         (verbose): New variable.
59830         (func_execute_command): New function.
59831         (func_import): Don't show the module list and the file list if
59832         $verbose < 0.
59833         (func_create_testdir): Likewise. Use func_execute_command.
59834         (func_create_megatestdir): Use func_execute_command.
59835
59836 2007-09-08  Bruno Haible  <bruno@clisp.org>
59837
59838         * gnulib-tool (func_import): Prefer rsync over wget when available,
59839         for fetching the PO files.
59840
59841 2007-09-08  Bruno Haible  <bruno@clisp.org>
59842
59843         * posix-modules: New file. Portions copied from gnulib-tool.
59844         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
59845
59846 2007-09-08  Jim Meyering  <jim@meyering.net>
59847
59848         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
59849         * lib/fpending.h: Rename from __fpending.h.
59850         * lib/fpending.c: Rename from __fpending.c.
59851         Include "fpending.h", not "__fpending.h".
59852         * lib/__fpending.h, lib/__fpending.c: Remove files.
59853         * modules/fpending (Files): Reflect new file names.
59854         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
59855
59856 2007-09-08  Bruno Haible  <bruno@clisp.org>
59857
59858         * m4/inttypes-h.m4: Remove stub file.
59859
59860 2007-09-07  Simon Josefsson  <simon@josefsson.org>
59861
59862         * doc/headers/stdint.texi: Discuss #include_next issue.
59863
59864 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59865
59866         * build-aux/bootstrap: Remove obsolete comment about wget --help.
59867
59868 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59869
59870         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
59871         in variable name.
59872
59873 2007-09-03  Jim Meyering  <jim@meyering.net>
59874
59875         New module: git-version-gen.
59876         * modules/git-version-gen: New file.
59877
59878         Import changes from coreutils for bootstrap script.
59879
59880         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
59881
59882         bootstrap: uses rsync to download the .po files
59883         * build-aux/bootstrap (po_download_command_format): New global.
59884         (download_po_files): Use rsync.
59885         (update_po_files): Don't remove .po files after download,
59886         so future rsync runs can take advantage of the copies.
59887
59888         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
59889
59890         Solve the unnecessary-.po-file-regeneration problem once and for all.
59891         * build-aux/bootstrap (download_po_files): New function, renamed from
59892         get_translations.  Now, downloads, but doesn't update LINGUAS.
59893         (update_po_files): New function.
59894
59895         bootstrap: Ignore more.
59896         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
59897         uniwidth to e.g., lib/.gitignore.
59898         (slurp): Handle the sys_stat_.h -> sys mapping, too.
59899
59900         * build-aux/bootstrap: New setting: vc_ignore.
59901         (insert_sorted_if_absent): Create $file if absent.
59902         Adapt to new, possibly empty, list: $vc_ignore.
59903
59904         bootstrap: generate more ignorable names
59905         * build-aux/bootstrap (slurp): When generating ignorable names,
59906         also map .sin to .sed, .gperf to .c, and .y to .c.
59907
59908 2007-09-03  Jim Meyering  <jim@meyering.net>
59909
59910         * build-aux/git-version-gen: New file, from coreutils.  For details, see
59911         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
59912
59913 2007-09-02  Bruno Haible  <bruno@clisp.org>
59914
59915         Fix mis-recognition of 'mcs' on QNX 6.
59916         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
59917         output contains the string "Mono".
59918         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
59919         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
59920
59921 2007-09-01  Bruno Haible  <bruno@clisp.org>
59922
59923         Fix collision between uniwidth/* and linebreak modules.
59924         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
59925         u32_width): Remove declarations.
59926         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
59927         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
59928         streq3, streq2, streq1, streq0): Remove functions.
59929         (STREQ): Remove macro.
59930         (is_cjk_encoding): Remove function.
59931         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
59932         (uc_width, u8_width, u16_width, u32_width): Remove functions.
59933         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
59934         * NEWS: Document the change.
59935
59936 2007-09-01  Bruno Haible  <bruno@clisp.org>
59937
59938         * lib/streq.h: Add double-inclusion guard.
59939
59940 2007-09-01  Karl Berry  <karl@gnu.org>
59941
59942         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
59943
59944 2007-08-28  Jim Meyering  <jim@meyering.net>
59945
59946         Rename mreadlink_with_size to areadlink_with_size.
59947         * NEWS: Document the change.
59948         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
59949         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
59950         * lib/mreadlink.h: Rename this to...
59951         * lib/areadlink.h: ...this.
59952         * modules/mreadlink-with-size: Rename this to...
59953         * modules/areadlink-with-size: ...this.
59954         * lib/canonicalize.c: Reflect the renaming.
59955         * modules/canonicalize: Likewise.
59956
59957 2007-08-26  Bruno Haible  <bruno@clisp.org>
59958
59959         * gnulib-tool (func_import): When deciding which files to remove,
59960         consider also dangling symbolic links.
59961         Reported by Eric Blake.
59962
59963 2007-08-26  Bruno Haible  <bruno@clisp.org>
59964
59965         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
59966
59967 2007-08-23  Simon Josefsson  <simon@josefsson.org>
59968
59969         * lib/readline.c: Don't include getline.h, the prototype is now
59970         found in stdio.h.
59971
59972 2007-08-23  Jim Meyering  <jim@meyering.net>
59973
59974         Getdelim touchup.
59975         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
59976         around the funlockfile call, since funlockfile never sets errno.
59977         Don't set errno upon failed realloc.
59978
59979 2007-08-22  Eric Blake  <ebb9@byu.net>
59980
59981         Getline touchups.
59982         * lib/getdelim.c (getdelim): Revert regression that required *n to
59983         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
59984         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
59985         getdelim, rather than whether implementation is missing.
59986         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
59987         * lib/stdio_.h (getline): Also declare if replacement is
59988         required.
59989         * doc/functions/getdelim.texi: New file.
59990         * doc/functions/getline.texi: Likewise.
59991         * doc/gnulib.texi (Function Substitutes): Add new files.
59992         Reported by Bruno Haible.
59993
59994 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
59995
59996         * users.txt: Add Guile.
59997
59998 2007-08-22  Eric Blake  <ebb9@byu.net>
59999
60000         * tests/test-getdelim.c (main): Use remove, not unlink.
60001         * tests/test-getline.c (main): Likewise.
60002
60003         Move getline and getdelim into stdio.h, per POSIX 200x.
60004         * modules/getline (Files): Remove getline.h.
60005         (Depends-on): Add stdio.
60006         (configure.ac): Add module indicator.
60007         * modules/getdelim (Files): Remove getdelim.h.
60008         (Depends-on): Add stdio.
60009         (configure.ac): Add module indicator.
60010         * modules/stdio (Makefile.am): Work with new indicators.
60011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
60012         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
60013         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60014         * lib/getdelim.h: Delete.
60015         * lib/getline.h: Delete.
60016         * lib/stdio_.h (getdelim, getline): Declare.
60017         * modules/getdelim-tests: New module.
60018         * modules/getline-tests: Likewise.
60019         * tests/test-getdelim.c: New file.
60020         * tests/test-getline.c: Likewise.
60021         * NEWS: Document the change.
60022         * lib/getline.c: Update choice of header.
60023         * lib/csharpcomp.c: Likewise.
60024         * lib/getpass.c: Likewise.
60025         * lib/javacomp.c: Likewise.
60026         * lib/javaversion.c: Likewise.
60027         * lib/yesno.c: Likewise.
60028         * lib/getdelim.c: Likewise.
60029         (getdelim): Set errno on failure, and avoid memory leak.
60030
60031 2007-08-19  Bruno Haible  <bruno@clisp.org>
60032
60033         * modules/closein (Depends-on): Add freadahead.
60034         * lib/closein.c: Include freadahead.h.
60035         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
60036         is zero.
60037
60038 2007-08-19  Bruno Haible  <bruno@clisp.org>
60039
60040         * modules/freadahead-tests: New file.
60041         * tests/test-freadahead.sh: New file.
60042         * tests/test-freadahead.c: New file.
60043
60044         * modules/freadahead: New file.
60045         * lib/freadahead.h: New file.
60046         * lib/freadahead.c: New file.
60047         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
60048         fbufmode, fpurge, freadable, fwritable.
60049
60050 2007-08-19  Eric Blake  <ebb9@byu.net>
60051
60052         Test yesno in combination with closein.
60053         * lib/yesno.c (yesno): Document use of stdin.
60054         * modules/yesno-tests (Files): New module.
60055         * tests/test-yesno.c (main): New file.
60056         * tests/test-yesno.sh: Likewise.
60057
60058 2007-08-19  Bruno Haible  <bruno@clisp.org>
60059
60060         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
60061         * lib/fseeko.c (rpl_fseeko): Likewise.
60062         * lib/fseterr.c (fseterr): Likewise.
60063
60064 2007-08-19  Bruno Haible  <bruno@clisp.org>
60065
60066         * tests/test-lseek.c (main): Disable a test for BeOS.
60067         * doc/functions/lseek.texi: Document the BeOS bug.
60068
60069 2007-08-19  Bruno Haible  <bruno@clisp.org>
60070             Eric Blake  <ebb9@byu.net>
60071
60072         * lib/lseek.c: Include <sys/stat.h>.
60073         (rpl_lseek): Add workaround code also for Unix platforms.
60074         Needed for BeOS.
60075         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
60076         * doc/functions/lseek.texi: Document BeOS definiency.
60077
60078 2007-08-18  Bruno Haible  <bruno@clisp.org>
60079
60080         * modules/fstrcmp-tests: New file.
60081         * tests/test-fstrcmp.c: New file.
60082
60083 2007-08-18  Bruno Haible  <bruno@clisp.org>
60084
60085         * modules/fstrcmp: New file, from GNU gettext with modifications.
60086         * lib/fstrcmp.h: New file, from GNU gettext.
60087         * lib/fstrcmp.c: New file, from GNU gettext.
60088         * MODULES.html.sh (String handling): Add fstrcmp.
60089
60090 2007-08-18  Bruno Haible  <bruno@clisp.org>
60091
60092         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
60093         'bool'.
60094         (diag, compareseq): Remove const from the ctxt argument.
60095         (USE_HEURISTIC): Undefine at the end.
60096
60097 2007-08-18  Jim Meyering  <jim@meyering.net>
60098
60099         New file: lib/idcache.h
60100         * NEWS: Mention the addition.
60101         * modules/idcache (Files): Add lib/idcache.h
60102         * lib/idcache.c: Include "idcache.h".
60103         Don't include <sys/types.h>.
60104         Add a FIXME comment.
60105         Move file-scoped "static" declarations to the top.
60106         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
60107
60108 2007-08-17  Bruno Haible  <bruno@clisp.org>
60109         and Paul Eggert  <eggert@cs.ucla.edu>
60110
60111         * MODULES.html.sh: Add diffseq.
60112         * modules/diffseq: New file.
60113         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
60114         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
60115
60116 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60117
60118         Import changes from coreutils for bootstrap script.
60119
60120         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
60121
60122         * build-aux/bootstrap (slurp): Work even in environments where
60123         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
60124         current code does not slurp files whose names start with ".", and
60125         this looks like it might be a troublesome area.
60126
60127         2007-07-11  Jim Meyering  <jim@meyering.net>
60128
60129         If there's a GPL vN copyright comment, require that N == 3.
60130
60131         2007-07-08  Jim Meyering  <jim@meyering.net>
60132
60133         Run the coreutils-specific code only if tests/Makefile.am.in exists.
60134         * build-aux/bootstrap (mam_template): Move definition out of loop.
60135
60136         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
60137
60138         * build-aux/bootstrap (symlink_to_dir): Rename function from
60139         symlink_to_gnulib.  Add a directory parameter.  Update all
60140         callers.
60141         (cp_mark_as_generated): Also check for -- and link to -- files in
60142         gl/.
60143
60144         2007-07-08  Jim Meyering  <jim@meyering.net>
60145
60146         Adapt to deeper hierarchy in gnulib.
60147         * build-aux/bootstrap (symlink_to_dir): If the destination
60148         directory doesn't exist, create it. This is required at least for
60149         "lib/uniwidth/cjk.h".
60150
60151         2007-05-15  Jim Meyering  <jim@meyering.net>
60152
60153         * build-aux/bootstrap: Now that generated Makefile.am files
60154         are no longer under version control, they must be created at
60155         bootstrap time.
60156
60157 2007-08-14  Ben Pfaff  <blp@gnu.org>
60158
60159         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
60160
60161 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60162
60163         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
60164         given the changes below.
60165         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
60166         even on hosts that have padding bits beyond the supported 64.
60167
60168 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60169
60170         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
60171         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
60172         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
60173         depends on it.
60174         (xstrtol_error): Remove.
60175         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
60176         but with a different signature.
60177         (ATTRIBUTE_NORETURN, __attribute__): New macros.
60178         * lib/xstrtol-error.c: Include exitfail.h.
60179         (xstrtol_fatal): New function, with a different signature from the
60180         old xstrtol_error, so that the caller need not worry about passing
60181         in an exit status, or about storage management of the option argument.
60182         (xstrtol_error): Now a static function.  Redo signature to
60183         implement xstrtol_fatal.  Output the correct number of hyphens in
60184         front of the option so that the caller need not worry about
60185         storage management.
60186         (N_): New macro.
60187         (_): Remove; not used now.
60188         * modules/xstrtol: Depend on getopt.
60189         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
60190         of old STRTOL_FATAL_ERROR macro.
60191         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
60192         of test program.
60193         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
60194         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
60195
60196 2007-08-08  Eric Blake  <ebb9@byu.net>
60197
60198         * lib/xstrtol-error.c: Add missing include.
60199
60200         Move xstrtol messages into gnulib domain, when --pobase is used.
60201         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
60202         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
60203         * modules/xstrtol (Files): Distribute new file.
60204         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
60205         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
60206         * tests/test-xstrtol.c: ...into new file.
60207         * tests/test-xstrtoul.c: Also test xstrtoul.
60208         * tests/test-xstrtoimax.c: Also test xstrtoimax.
60209         * tests/test-xstrtoumax.c: Also test xstrtoumax.
60210         * tests/test-xstrtol.sh: Drive the tests.
60211         * tests/test-xstrtoimax.sh: Likewise.
60212         * tests/test-xstrtoumax.sh: Likewise.
60213         * modules/xstrtol-tests: New module.
60214         * modules/xstrtoimax-tests: Likewise.
60215         * modules/xstrtoumax-tests: Likewise.
60216
60217 2007-08-08  Jim Meyering  <jim@meyering.net>
60218
60219         New function: mfile_name_concat.
60220         * lib/filenamecat.c (mfile_name_concat): New function, just like
60221         file_name_concat, but return NULL upon failure rather than exiting
60222         with a diagnostic.
60223         * lib/filenamecat.h: Declare it.
60224
60225 2007-08-07  Bruno Haible  <bruno@clisp.org>
60226
60227         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
60228         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
60229         warning from gcc.
60230         Reported by Eric Blake.
60231
60232 2007-08-07  Simon Josefsson  <simon@josefsson.org>
60233
60234         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
60235         * modules/crypto/arcfour (License): Likewise.
60236         * modules/crypto/des-tests (License): Likewise.
60237         * modules/crypto/gc-arctwo-tests (License): Likewise.
60238         * modules/crypto/gc-des-tests (License): Likewise.
60239         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
60240         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
60241         * modules/crypto/gc-md2-tests (License): Likewise.
60242         * modules/crypto/gc-md4-tests (License): Likewise.
60243         * modules/crypto/gc-md5-tests (License): Likewise.
60244         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
60245         * modules/crypto/gc-rijndael-tests (License): Likewise.
60246         * modules/crypto/gc-sha1-tests (License): Likewise.
60247         * modules/crypto/gc-tests (License): Likewise.
60248         * modules/crypto/hmac-md5 (License): Likewise.
60249         * modules/crypto/hmac-sha1 (License): Likewise.
60250         * modules/crypto/md2-tests (License): Likewise.
60251         * modules/crypto/md4-tests (License): Likewise.
60252         * modules/crypto/md5 (License): Likewise.
60253         * modules/crypto/rijndael (License): Likewise.
60254         * modules/crypto/sha1 (License): Likewise.
60255         * modules/memxor (License): Likewise.
60256
60257 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60258         and Bruno Haible  <bruno@clisp.org>
60259
60260         * NEWS: Describe interface changes to human, xstrtol.
60261         * lib/human.h: Include <xstrtol.h>.
60262         (human_options): Return enum strtol_error, not int.  Remove
60263         bool arg; take int * instead.
60264         * lib/human.c: Don't include "gettext.h".
60265         (_): Remove; no longer used.
60266         Don't include <xstrtol.h>, since human.h does it.
60267         (human_options): Adjust to abovementioned interface changes.
60268         Do not report error to stderr; that's now the caller's
60269         responsibility.
60270         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
60271         interface change.
60272         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
60273         Str, Argument_type_string.  All uses changed.  Put " argument"
60274         in diagnostics to make them clearer.  Change wording of suffix
60275         message for clarity.
60276         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
60277         Argument_type_string.
60278         (STRTOL_FATAL_WARN): Remove; no longer used.
60279         * modules/human (Depends-on): Remove gettext-h.
60280
60281 2007-08-06  Simon Josefsson  <simon@josefsson.org>
60282
60283         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
60284
60285 2007-07-31  Bruno Haible  <bruno@clisp.org>
60286
60287         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
60288         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
60289         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
60290
60291 2007-07-31  Bruno Haible  <bruno@clisp.org>
60292
60293         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
60294         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
60295
60296 2007-07-30  Bruno Haible  <bruno@clisp.org>
60297
60298         * modules/base64 (License): Use the synonymous term "LGPLv2+".
60299         * modules/c-ctype (License): Likewise.
60300         * modules/c-strcase (License): Likewise.
60301         * modules/check-version (License): Likewise.
60302         * modules/iconv (License): Likewise.
60303         * modules/iconv_open (License): Likewise.
60304         * modules/read-file (License): Likewise.
60305         * modules/striconv (License): Likewise.
60306         * modules/strverscmp (License): Likewise.
60307         * modules/vasprintf (License): Likewise.
60308         * modules/crypto/des (License): Likewise.
60309         * modules/crypto/gc (License): Likewise.
60310         * modules/crypto/gc-arcfour (License): Likewise.
60311         * modules/crypto/gc-arctwo (License): Likewise.
60312         * modules/crypto/gc-des (License): Likewise.
60313         * modules/crypto/gc-hmac-md5 (License): Likewise.
60314         * modules/crypto/gc-hmac-sha1 (License): Likewise.
60315         * modules/crypto/gc-md2 (License): Likewise.
60316         * modules/crypto/gc-md4 (License): Likewise.
60317         * modules/crypto/gc-md5 (License): Likewise.
60318         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
60319         * modules/crypto/gc-random (License): Likewise.
60320         * modules/crypto/gc-rijndael (License): Likewise.
60321         * modules/crypto/gc-sha1 (License): Likewise.
60322         * modules/crypto/md2 (License): Likewise.
60323         * modules/crypto/md4 (License): Likewise.
60324
60325 2007-07-30  Jim Meyering  <jim@meyering.net>
60326
60327         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
60328         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
60329         it has valid stat data.  This bug would cause du not to count the
60330         sizes of inaccessible directories.
60331         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
60332         in <http://bugzilla.redhat.com/250077>.
60333
60334 2007-07-25  Peter O'Gorman  <peter@pogma.com>
60335             Bruno Haible  <bruno@clisp.org>
60336
60337         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
60338         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
60339         #include_next, gives a diagnostic about it, but reports no error in
60340         the exit code.
60341         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
60342
60343 2007-07-24  Ben Pfaff  <blp@gnu.org>
60344
60345         Improve name: "count-one-bits" is better than "popcount".
60346         * MODULES.html.sh: Update name.
60347         * lib/popcount.h: Renamed lib/count-one-bits.h.
60348         (popcount): Renamed count_one_bits.
60349         (popcountl): Renamed count_one_bits_l.
60350         (popcountll): Renamed count_one_bits_ll.
60351         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
60352         * modules/popcount: Renamed module/count-one-bits.
60353         * modules/popcount-tests: Renamed module/count-one-bits-tests.
60354         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
60355
60356 2007-07-23  Ben Pfaff  <blp@gnu.org>
60357
60358         * lib/popcount.h (popcount32): Reduce size of constants, to allow
60359         better code generation, and add U to large constants to avoid
60360         warnings, in non-GCC case.
60361         Suggested by Bruno Haible.
60362
60363 2007-07-23  Ben Pfaff  <blp@gnu.org>
60364
60365         * lib/popcount.h: Use verify_true instead of if...abort.
60366         * modules/popcount: Depend on verify module.
60367         Suggested by Jim Meyering.
60368
60369 2007-07-23  Bruno Haible  <bruno@clisp.org>
60370
60371         * gnulib-tool (func_import): Create a .cvsignore file also when the
60372         directory is not yet in CVS but the toplevel directory is. When
60373         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
60374         Reported by Karl Berry.
60375
60376 2007-07-22  Ben Pfaff  <blp@gnu.org>
60377
60378         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
60379         case.
60380         Suggested by Eric Blake.
60381
60382 2007-07-22  Ben Pfaff  <blp@gnu.org>
60383
60384         New module: popcount.
60385         * MODULES.html.sh: Add popcount.
60386         * modules/popcount: New file.
60387         * modules/popcount-tests: New file.
60388         * tests/test-popcount.c: New file.
60389         * lib/popcount.h: New file.
60390         * m4/popcount.m4: New file.
60391
60392 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60393
60394         * build-aux/announce-gen: Update to GPLv3.
60395
60396         * build-aux/config.guess: Update from config.
60397
60398 2007-07-21  Bruno Haible  <bruno@clisp.org>
60399
60400         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
60401         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
60402
60403 2007-07-20  Jim Meyering  <jim@meyering.net>
60404
60405         * check-module: Diagnose a self-dependency.
60406
60407 2007-07-19  Bruno Haible  <bruno@clisp.org>
60408
60409         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
60410         empty.
60411         Reported by Eric Blake.
60412
60413 2007-07-18  Bruno Haible  <bruno@clisp.org>
60414
60415         * gnulib-tool: New options --po-base, --po-domain.
60416         (func_usage): Document them.
60417         (pobase, po_domain): New variables.
60418         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
60419         DEFAULT_TEXT_DOMAIN.
60420         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
60421         (func_import): Consider pobase and po_domain. Create a po/ directory.
60422         (func_create_testdir): Set pobase and po_domain to empty.
60423         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
60424         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
60425
60426 2007-07-18  Bruno Haible  <bruno@clisp.org>
60427
60428         * gnulib-tool (func_get_automake_snippet): Synthesize also an
60429         EXTRA_DIST augmentation for files in build-aux/.
60430
60431 2007-07-16  Bruno Haible  <bruno@clisp.org>
60432
60433         * modules/lseek (License): Use the synonymous term "LGPLv2+".
60434         * modules/getdelim (License): Likewise.
60435
60436 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60437
60438         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
60439         * modules/d-type (License): Likewise.
60440         * modules/extensions (License): Likewise.
60441         * modules/fnmatch (License): Likewise.
60442         * modules/fseeko (License): Likewise.
60443         * modules/getaddrinfo (License): Likewise.
60444         * modules/getline (License): Likewise.
60445         * modules/getlogin_r (License): Likewise.
60446         * modules/getpass (License): Likewise.
60447         * modules/gettimeofday (License): Likewise.
60448         * modules/glob (License): Likewise.
60449         * modules/inet_ntop (License): Likewise.
60450         * modules/malloc (License): Likewise.
60451         * modules/malloca (License): Likewise.
60452         * modules/memmem (License): Likewise.
60453         * modules/mempcpy (License): Likewise.
60454         * modules/memset (License): Likewise.
60455         * modules/minmax (License): Likewise.
60456         * modules/mktime (License): Likewise.
60457         * modules/netinet_in (License): Likewise.
60458         * modules/pathmax (License): Likewise.
60459         * modules/poll (License): Likewise.
60460         * modules/regex (License): Likewise.
60461         * modules/snprintf (License): Likewise.
60462         * modules/stdbool (License): Likewise.
60463         * modules/stdint (License): Likewise.
60464         * modules/stdio (License): Likewise.
60465         * modules/strcase (License): Likewise.
60466         * modules/strcasestr (License): Likewise.
60467         * modules/strdup (License): Likewise.
60468         * modules/string (License): Likewise.
60469         * modules/strndup (License): Likewise.
60470         * modules/strnlen (License): Likewise.
60471         * modules/strpbrk (License): Likewise.
60472         * modules/strptime (License): Likewise.
60473         * modules/strsep (License): Likewise.
60474         * modules/sys_select (License): Likewise.
60475         * modules/sys_socket (License): Likewise.
60476         * modules/sys_stat (License): Likewise.
60477         * modules/sys_time (License): Likewise.
60478         * modules/time (License): Likewise.
60479         * modules/time_r (License): Likewise.
60480         * modules/timegm (License): Likewise.
60481         * modules/unistd (License): Likewise.
60482         * modules/vsnprintf (License): Likewise.
60483         * modules/wctype (License): Likewise.
60484
60485 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60486
60487         * modules/argz (License): LGPLv2+.
60488
60489 2007-07-15  Karl Berry  <karl@gnu.org>
60490
60491         * doc/gnulib.texi: revise node structure per new fdl.texi.
60492
60493 2007-07-14  Bruno Haible  <bruno@clisp.org>
60494
60495         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
60496         the output file.
60497         * lib/uniname/uninames.h: Regenerated.
60498
60499 2007-07-14  Karl Berry  <karl@gnu.org>
60500
60501         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
60502         omitting sectioning and index commands.
60503
60504 2007-07-13  Bruno Haible  <bruno@clisp.org>
60505
60506         New gnulib-tool option --more-symlinks.
60507         * gnulib-tool (func_usage): Document --more-symlinks.
60508         (do_copyrights): New variable.
60509         Recognize option --more-symlinks.
60510         (func_import): Don't add a copyright notice transform to
60511         sed_transform_lib_file if do_copyrights is empty.
60512
60513 2007-07-13  Bruno Haible  <bruno@clisp.org>
60514
60515         * lib/vasnprintf.c (decimal_point_char): Define also if
60516         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
60517         && !NEED_PRINTF_DIRECTIVE_A.
60518         Reported by Clemens Koller <clemens.koller@anagramm.de> via
60519         Gary V. Vaughan <gary@gnu.org>.
60520
60521 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
60522
60523         * lib/inttypes_.h: Undo previous change, since it was fixed
60524         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
60525
60526 2007-07-13  Bruno Haible  <bruno@clisp.org>
60527
60528         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
60529         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
60530
60531 2007-07-13  Jim Meyering  <jim@meyering.net>
60532
60533         df: Don't fail for Tru64's "file-on-file mount".
60534         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
60535         so we fall through and use statfs instead.  Details here:
60536         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
60537         Reported by Albert Chin.
60538
60539 2007-07-13  Bruno Haible  <bruno@clisp.org>
60540
60541         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
60542         * modules/configmake (License): Likewise.
60543         * modules/gettext (License): Likewise.
60544         * modules/gettext-h (License): Likewise.
60545         * modules/include_next (License): Likewise.
60546         * modules/link-warning (License): Likewise.
60547         * modules/localcharset (License): Likewise.
60548         * modules/localename (License): Likewise.
60549         * modules/lock (License): Likewise.
60550         * modules/relocatable-lib-lgpl (License): Likewise.
60551         * modules/size_max (License): Likewise.
60552         * modules/vasnprintf (License): Likewise.
60553         * modules/wchar (License): Likewise.
60554         * modules/xsize (License): Likewise.
60555
60556 2007-07-13  Bruno Haible  <bruno@clisp.org>
60557
60558         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
60559         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
60560
60561 2007-07-12  Bruno Haible  <bruno@clisp.org>
60562
60563         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
60564         in the modules files.
60565
60566 2007-07-11  Karl Berry  <karl@gnu.org>
60567
60568         * MODULES.html.sh (func_module): use
60569          sed -e '\|^'"${includefile}"'$|d'
60570          instead of /.../d, to avoid errors on $includefile's containing /.
60571
60572 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60573
60574         * gnulib-tool (func_import): Avoid duplication of --avoid
60575         statements
60576         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
60577         names to `_' in variable names.
60578
60579 2007-07-10  Eric Blake  <ebb9@byu.net>
60580
60581         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
60582         * NEWS: Document this change.
60583
60584 2007-07-08  Bruno Haible  <bruno@clisp.org>
60585
60586         Update to Unicode 5.0.
60587         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
60588         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
60589         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
60590         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
60591         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
60592         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
60593         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
60594         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
60595         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
60596         U+10A3F, U+1D242..U+1D244.
60597         (nonspacing_table_ind): Update.
60598         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
60599         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
60600
60601 2007-07-08  Bruno Haible  <bruno@clisp.org>
60602
60603         Update to Unicode 5.0.
60604         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
60605         code transform. Extend the name index field of unicode_name_to_code and
60606         unicode_code_to_name from 16 to 24 bits.
60607         * lib/uniname/uniname.c (unicode_character_name,
60608         unicode_name_character): Add the range 0x12xxx to the code transform.
60609         * lib/uniname/uninames.h: Regenerated.
60610         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
60611
60612 2007-07-07  Bruno Haible  <bruno@clisp.org>
60613
60614         * modules/wcwidth-tests: New file.
60615         * tests/test-wcwidth.c: New file.
60616
60617         Work around MacOS X wcwidth() bug.
60618         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
60619         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
60620         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
60621         original wcwidth in non-UTF-8 locales.
60622         * modules/wcwidth (Depends-on): Add localcharset, streq,
60623         uniwidth/width.
60624         * doc/functions/wcwidth.texi: Update.
60625
60626 2007-07-07  Bruno Haible  <bruno@clisp.org>
60627
60628         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
60629         (wcwidth): New declaration.
60630         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
60631         macros.
60632         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
60633         here. Prepare for creating <wchar.h> unconditionally.
60634         * modules/wchar (Depends-on): Add link-warning.
60635         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
60636         REPLACE_WCWIDTH, and GL_LINK_WARNING.
60637         * lib/wcwidth.h: Remove file.
60638         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
60639         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
60640         * modules/wcwidth (Files): Remove lib/wcwidth.h.
60641         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
60642         (Include): Replace wcwidth.h with <wchar.h>.
60643         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
60644         * lib/mbchar.h: Don't include wcwidth.h.
60645         * lib/mbswidth.c: Likewise.
60646         * NEWS: Mention the change.
60647
60648 2007-07-07  Bruno Haible  <bruno@clisp.org>
60649
60650         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
60651         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
60652         definition with an external declaration.
60653         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
60654         defined as a function. Remove AC_C_INLINE requirement.
60655         * modules/wcwidth (Files): Add lib/wcwidth.c.
60656         (Makefile.am): Remove redundant statement.
60657
60658 2007-07-07  Bruno Haible  <bruno@clisp.org>
60659
60660         * MODULES.html.sh (Unicode string functions): Add the new modules.
60661
60662         * tests/uniwidth/test-u32-strwidth.c: New file.
60663         * modules/uniwidth/u32-strwidth-tests: New file.
60664
60665         * lib/uniwidth/u32-strwidth.c: New file.
60666         * modules/uniwidth/u32-strwidth: New file.
60667
60668         * tests/uniwidth/test-u16-strwidth.c: New file.
60669         * modules/uniwidth/u16-strwidth-tests: New file.
60670
60671         * lib/uniwidth/u16-strwidth.c: New file.
60672         * modules/uniwidth/u16-strwidth: New file.
60673
60674         * tests/uniwidth/test-u8-strwidth.c: New file.
60675         * modules/uniwidth/u8-strwidth-tests: New file.
60676
60677         * lib/uniwidth/u8-strwidth.c: New file.
60678         * modules/uniwidth/u8-strwidth: New file.
60679
60680         * tests/uniwidth/test-u32-width.c: New file.
60681         * modules/uniwidth/u32-width-tests: New file.
60682
60683         * lib/uniwidth/u32-width.c: New file.
60684         * modules/uniwidth/u32-width: New file.
60685
60686         * tests/uniwidth/test-u16-width.c: New file.
60687         * modules/uniwidth/u16-width-tests: New file.
60688
60689         * lib/uniwidth/u16-width.c: New file.
60690         * modules/uniwidth/u16-width: New file.
60691
60692         * tests/uniwidth/test-u8-width.c: New file.
60693         * modules/uniwidth/u8-width-tests: New file.
60694
60695         * lib/uniwidth/u8-width.c: New file.
60696         * modules/uniwidth/u8-width: New file.
60697
60698         * tests/uniwidth/test-uc_width.c: New file.
60699         * modules/uniwidth/width-tests: New file.
60700
60701         * lib/uniwidth/width.c: New file, from GNU libiconv.
60702         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
60703         * modules/uniwidth/width: New file.
60704
60705         * lib/uniwidth.h: New file, from GNU libiconv.
60706         * modules/uniwidth/base: New file.
60707
60708 2007-07-07  Bruno Haible  <bruno@clisp.org>
60709
60710         * lib/uniname.h: New file, from GNU gettext.
60711         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
60712         * lib/uniname/uninames.h: New file, from GNU gettext.
60713         * lib/uniname/uniname.c: New file, from GNU gettext.
60714         * tests/uniname/test-uninames.sh: New file.
60715         * tests/uniname/test-uninames.c: New file, from GNU gettext.
60716         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
60717         * modules/uniname/base: New file.
60718         * modules/uniname/uniname: New file.
60719         * modules/uniname/uniname-tests: New file.
60720         * MODULES.html.sh (Unicode string functions): Add the new modules.
60721
60722 2007-07-06  Bruno Haible  <bruno@clisp.org>
60723
60724         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
60725
60726 2007-07-06  Bruno Haible  <bruno@clisp.org>
60727
60728         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
60729         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
60730         includes <cygwin/sys_time.h> which includes <sys/select.h> which
60731         include <sys/time.h>.
60732         Reported by Eric Blake.
60733
60734 2007-07-06  Eric Blake  <ebb9@byu.net>
60735
60736         Fix testing canonicalize on cygwin.
60737         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60738         Revert patch from 2007-06-19.
60739         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
60740         canonicalize module is also in use.
60741         * tests/test-canonicalize.c: New file.
60742         * tests/test-canonicalize.sh: Likewise.
60743         * modules/canonicalize-tests: Likewise.
60744
60745 2007-07-06  Jim Meyering  <jim@meyering.net>
60746
60747         * lib/getugroups.c (getugroups): Detect getgrent failure.
60748         Adjust comment to reflect reality: this function may return -1.
60749
60750 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
60751
60752         * build-aux/bootstrap (TP_URL,get_translations): Update to use
60753         the new TP address.
60754         (usage): Fix typo
60755         (gnulib_mk): New variable.
60756
60757 2007-07-05  Jim Meyering  <jim@meyering.net>
60758
60759         Don't let endgrent clobber errno, no matter how improbable.
60760         * lib/getugroups.c (getugroups): Save and restore errno around
60761         endgrent call.
60762
60763         Close the group DB even when failing with 2^31 or more members.
60764         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
60765
60766 2007-07-04  Jim Meyering  <jim@meyering.net>
60767
60768         * lib/getugroups.h: New file.
60769         * lib/getugroups.c: Include "getugroups.h".
60770         Remove uses of "register" keyword.
60771         Move local variable, "cp", down into scope where used.
60772         Give "username" parameter the "const" attribute.
60773         * modules/getugroups (Files): Add lib/getugroups.h
60774
60775 2007-07-04  Karl Berry  <karl@gnu.org>
60776
60777         * MODULES.html.sh (func_all_modules): Complete rename of
60778         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
60779
60780 2007-07-02  Bruno Haible  <bruno@clisp.org>
60781
60782         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
60783         mode, when inttypes.h comes from gnulib.
60784         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60785
60786 2007-07-02  Simon Josefsson  <simon@josefsson.org>
60787
60788         * NEWS: Mention lgpl module name change.
60789
60790         * modules/lgpl-2.1: Renamed from lgpl.
60791
60792         * NEWS: Mention gpl module name change.
60793
60794         * modules/gpl-3.0: New file, based on gpl-2.0.
60795
60796         * modules/gpl-2.0: Renamed from gpl.
60797
60798         * modules/gpl: Fix filename, doc/gpl.texi is now found at
60799         doc/gpl-2.0.texi.
60800
60801 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60802
60803         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
60804         #define __STDC_LIMIT_MACROS temporarily while including
60805         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
60806         Problem reported by Joel E. Denny in
60807         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
60808
60809 2007-07-01  Bruno Haible  <bruno@clisp.org>
60810
60811         * lib/unistdio.h: New file.
60812         * lib/unistdio/u-asnprintf.h: New file.
60813         * lib/unistdio/u-asprintf.h: New file.
60814         * lib/unistdio/u-printf-args.c: New file.
60815         * lib/unistdio/u-printf-args.h: New file.
60816         * lib/unistdio/u-printf-parse.h: New file.
60817         * lib/unistdio/u-snprintf.h: New file.
60818         * lib/unistdio/u-sprintf.h: New file.
60819         * lib/unistdio/u-vasprintf.h: New file.
60820         * lib/unistdio/u-vsnprintf.h: New file.
60821         * lib/unistdio/u-vsprintf.h: New file.
60822         * lib/unistdio/ulc-asnprintf.c: New file.
60823         * lib/unistdio/ulc-asprintf.c: New file.
60824         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
60825         * lib/unistdio/ulc-printf-parse.c: New file.
60826         * lib/unistdio/ulc-snprintf.c: New file.
60827         * lib/unistdio/ulc-sprintf.c: New file.
60828         * lib/unistdio/ulc-vasnprintf.c: New file.
60829         * lib/unistdio/ulc-vasprintf.c: New file.
60830         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
60831         * lib/unistdio/ulc-vsnprintf.c: New file.
60832         * lib/unistdio/ulc-vsprintf.c: New file.
60833         * lib/unistdio/u8-asnprintf.c: New file.
60834         * lib/unistdio/u8-asprintf.c: New file.
60835         * lib/unistdio/u8-printf-parse.c: New file.
60836         * lib/unistdio/u8-snprintf.c: New file.
60837         * lib/unistdio/u8-sprintf.c: New file.
60838         * lib/unistdio/u8-vasnprintf.c: New file.
60839         * lib/unistdio/u8-vasprintf.c: New file.
60840         * lib/unistdio/u8-vsnprintf.c: New file.
60841         * lib/unistdio/u8-vsprintf.c: New file.
60842         * lib/unistdio/u8-u8-asnprintf.c: New file.
60843         * lib/unistdio/u8-u8-asprintf.c: New file.
60844         * lib/unistdio/u8-u8-snprintf.c: New file.
60845         * lib/unistdio/u8-u8-sprintf.c: New file.
60846         * lib/unistdio/u8-u8-vasnprintf.c: New file.
60847         * lib/unistdio/u8-u8-vasprintf.c: New file.
60848         * lib/unistdio/u8-u8-vsnprintf.c: New file.
60849         * lib/unistdio/u8-u8-vsprintf.c: New file.
60850         * lib/unistdio/u16-asnprintf.c: New file.
60851         * lib/unistdio/u16-asprintf.c: New file.
60852         * lib/unistdio/u16-printf-parse.c: New file.
60853         * lib/unistdio/u16-snprintf.c: New file.
60854         * lib/unistdio/u16-sprintf.c: New file.
60855         * lib/unistdio/u16-vasnprintf.c: New file.
60856         * lib/unistdio/u16-vasprintf.c: New file.
60857         * lib/unistdio/u16-vsnprintf.c: New file.
60858         * lib/unistdio/u16-vsprintf.c: New file.
60859         * lib/unistdio/u16-u16-asnprintf.c: New file.
60860         * lib/unistdio/u16-u16-asprintf.c: New file.
60861         * lib/unistdio/u16-u16-snprintf.c: New file.
60862         * lib/unistdio/u16-u16-sprintf.c: New file.
60863         * lib/unistdio/u16-u16-vasnprintf.c: New file.
60864         * lib/unistdio/u16-u16-vasprintf.c: New file.
60865         * lib/unistdio/u16-u16-vsnprintf.c: New file.
60866         * lib/unistdio/u16-u16-vsprintf.c: New file.
60867         * lib/unistdio/u32-asnprintf.c: New file.
60868         * lib/unistdio/u32-asprintf.c: New file.
60869         * lib/unistdio/u32-printf-parse.c: New file.
60870         * lib/unistdio/u32-snprintf.c: New file.
60871         * lib/unistdio/u32-sprintf.c: New file.
60872         * lib/unistdio/u32-vasnprintf.c: New file.
60873         * lib/unistdio/u32-vasprintf.c: New file.
60874         * lib/unistdio/u32-vsnprintf.c: New file.
60875         * lib/unistdio/u32-vsprintf.c: New file.
60876         * lib/unistdio/u32-u32-asnprintf.c: New file.
60877         * lib/unistdio/u32-u32-asprintf.c: New file.
60878         * lib/unistdio/u32-u32-snprintf.c: New file.
60879         * lib/unistdio/u32-u32-sprintf.c: New file.
60880         * lib/unistdio/u32-u32-vasnprintf.c: New file.
60881         * lib/unistdio/u32-u32-vasprintf.c: New file.
60882         * lib/unistdio/u32-u32-vsnprintf.c: New file.
60883         * lib/unistdio/u32-u32-vsprintf.c: New file.
60884         * tests/unistdio/test-ulc-asnprintf1.c: New file.
60885         * tests/unistdio/test-ulc-asnprintf1.h: New file.
60886         * tests/unistdio/test-ulc-printf1.h: New file.
60887         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
60888         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
60889         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
60890         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
60891         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
60892         * tests/unistdio/test-ulc-vasprintf1.c: New file.
60893         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
60894         * tests/unistdio/test-ulc-vsprintf1.c: New file.
60895         * tests/unistdio/test-u8-asnprintf1.c: New file.
60896         * tests/unistdio/test-u8-asnprintf1.h: New file.
60897         * tests/unistdio/test-u8-printf1.h: New file.
60898         * tests/unistdio/test-u8-vasnprintf1.c: New file.
60899         * tests/unistdio/test-u8-vasnprintf2.c: New file.
60900         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
60901         * tests/unistdio/test-u8-vasnprintf3.c: New file.
60902         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
60903         * tests/unistdio/test-u8-vasprintf1.c: New file.
60904         * tests/unistdio/test-u8-vsnprintf1.c: New file.
60905         * tests/unistdio/test-u8-vsprintf1.c: New file.
60906         * tests/unistdio/test-u16-asnprintf1.c: New file.
60907         * tests/unistdio/test-u16-asnprintf1.h: New file.
60908         * tests/unistdio/test-u16-printf1.h: New file.
60909         * tests/unistdio/test-u16-vasnprintf1.c: New file.
60910         * tests/unistdio/test-u16-vasnprintf2.c: New file.
60911         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
60912         * tests/unistdio/test-u16-vasnprintf3.c: New file.
60913         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
60914         * tests/unistdio/test-u16-vasprintf1.c: New file.
60915         * tests/unistdio/test-u16-vsnprintf1.c: New file.
60916         * tests/unistdio/test-u16-vsprintf1.c: New file.
60917         * tests/unistdio/test-u32-asnprintf1.c: New file.
60918         * tests/unistdio/test-u32-asnprintf1.h: New file.
60919         * tests/unistdio/test-u32-printf1.h: New file.
60920         * tests/unistdio/test-u32-vasnprintf1.c: New file.
60921         * tests/unistdio/test-u32-vasnprintf2.c: New file.
60922         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
60923         * tests/unistdio/test-u32-vasnprintf3.c: New file.
60924         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
60925         * tests/unistdio/test-u32-vasprintf1.c: New file.
60926         * tests/unistdio/test-u32-vsnprintf1.c: New file.
60927         * tests/unistdio/test-u32-vsprintf1.c: New file.
60928         * modules/unistdio/base: New file.
60929         * modules/unistdio/u-printf-args: New file.
60930         * modules/unistdio/ulc-asnprintf: New file.
60931         * modules/unistdio/ulc-asprintf: New file.
60932         * modules/unistdio/ulc-fprintf: New file.
60933         * modules/unistdio/ulc-printf-parse: New file.
60934         * modules/unistdio/ulc-snprintf: New file.
60935         * modules/unistdio/ulc-sprintf: New file.
60936         * modules/unistdio/ulc-vasnprintf: New file.
60937         * modules/unistdio/ulc-vasprintf: New file.
60938         * modules/unistdio/ulc-vfprintf: New file.
60939         * modules/unistdio/ulc-vsnprintf: New file.
60940         * modules/unistdio/ulc-vsprintf: New file.
60941         * modules/unistdio/u8-asnprintf: New file.
60942         * modules/unistdio/u8-asprintf: New file.
60943         * modules/unistdio/u8-printf-parse: New file.
60944         * modules/unistdio/u8-snprintf: New file.
60945         * modules/unistdio/u8-sprintf: New file.
60946         * modules/unistdio/u8-vasnprintf: New file.
60947         * modules/unistdio/u8-vasprintf: New file.
60948         * modules/unistdio/u8-vsnprintf: New file.
60949         * modules/unistdio/u8-vsprintf: New file.
60950         * modules/unistdio/u8-u8-asnprintf: New file.
60951         * modules/unistdio/u8-u8-asprintf: New file.
60952         * modules/unistdio/u8-u8-snprintf: New file.
60953         * modules/unistdio/u8-u8-sprintf: New file.
60954         * modules/unistdio/u8-u8-vasnprintf: New file.
60955         * modules/unistdio/u8-u8-vasprintf: New file.
60956         * modules/unistdio/u8-u8-vsnprintf: New file.
60957         * modules/unistdio/u8-u8-vsprintf: New file.
60958         * modules/unistdio/u16-asnprintf: New file.
60959         * modules/unistdio/u16-asprintf: New file.
60960         * modules/unistdio/u16-printf-parse: New file.
60961         * modules/unistdio/u16-snprintf: New file.
60962         * modules/unistdio/u16-sprintf: New file.
60963         * modules/unistdio/u16-vasnprintf: New file.
60964         * modules/unistdio/u16-vasprintf: New file.
60965         * modules/unistdio/u16-vsnprintf: New file.
60966         * modules/unistdio/u16-vsprintf: New file.
60967         * modules/unistdio/u16-u16-asnprintf: New file.
60968         * modules/unistdio/u16-u16-asprintf: New file.
60969         * modules/unistdio/u16-u16-snprintf: New file.
60970         * modules/unistdio/u16-u16-sprintf: New file.
60971         * modules/unistdio/u16-u16-vasnprintf: New file.
60972         * modules/unistdio/u16-u16-vasprintf: New file.
60973         * modules/unistdio/u16-u16-vsnprintf: New file.
60974         * modules/unistdio/u16-u16-vsprintf: New file.
60975         * modules/unistdio/u32-asnprintf: New file.
60976         * modules/unistdio/u32-asprintf: New file.
60977         * modules/unistdio/u32-printf-parse: New file.
60978         * modules/unistdio/u32-snprintf: New file.
60979         * modules/unistdio/u32-sprintf: New file.
60980         * modules/unistdio/u32-vasnprintf: New file.
60981         * modules/unistdio/u32-vasprintf: New file.
60982         * modules/unistdio/u32-vsnprintf: New file.
60983         * modules/unistdio/u32-vsprintf: New file.
60984         * modules/unistdio/u32-u32-asnprintf: New file.
60985         * modules/unistdio/u32-u32-asprintf: New file.
60986         * modules/unistdio/u32-u32-snprintf: New file.
60987         * modules/unistdio/u32-u32-sprintf: New file.
60988         * modules/unistdio/u32-u32-vasnprintf: New file.
60989         * modules/unistdio/u32-u32-vasprintf: New file.
60990         * modules/unistdio/u32-u32-vsnprintf: New file.
60991         * modules/unistdio/u32-u32-vsprintf: New file.
60992         * modules/unistdio/ulc-asnprintf-tests: New file.
60993         * modules/unistdio/ulc-vasnprintf-tests: New file.
60994         * modules/unistdio/ulc-vasprintf-tests: New file.
60995         * modules/unistdio/ulc-vsnprintf-tests: New file.
60996         * modules/unistdio/ulc-vsprintf-tests: New file.
60997         * modules/unistdio/u8-asnprintf-tests: New file.
60998         * modules/unistdio/u8-vasnprintf-tests: New file.
60999         * modules/unistdio/u8-vasprintf-tests: New file.
61000         * modules/unistdio/u8-vsnprintf-tests: New file.
61001         * modules/unistdio/u8-vsprintf-tests: New file.
61002         * modules/unistdio/u16-asnprintf-tests: New file.
61003         * modules/unistdio/u16-vasnprintf-tests: New file.
61004         * modules/unistdio/u16-vasprintf-tests: New file.
61005         * modules/unistdio/u16-vsnprintf-tests: New file.
61006         * modules/unistdio/u16-vsprintf-tests: New file.
61007         * modules/unistdio/u32-asnprintf-tests: New file.
61008         * modules/unistdio/u32-vasnprintf-tests: New file.
61009         * modules/unistdio/u32-vasprintf-tests: New file.
61010         * modules/unistdio/u32-vsnprintf-tests: New file.
61011         * modules/unistdio/u32-vsprintf-tests: New file.
61012         * MODULES.html.sh (Unicode string functions): Add the new modules.
61013
61014 2007-07-01  Bruno Haible  <bruno@clisp.org>
61015
61016         * lib/sprintf.c (sprintf): Limit the available length estimation,
61017         to avoid address wraparound.
61018         * lib/vsprintf.c (vsprintf): Likewise.
61019         * modules/sprintf-posix (Dependencies): Add stdint.
61020         * modules/vsprintf-posix (Dependencies): Likewise.
61021
61022 2007-07-01  Bruno Haible  <bruno@clisp.org>
61023
61024         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
61025         Windows PATH as well. Conservative double-quoting. Comments.
61026
61027 2007-07-01  Bruno Haible  <bruno@clisp.org>
61028             Eric Blake  <ebb9@byu.net>
61029             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61030
61031         * gnulib-tool (self_abspathname): Fix algorithm to cope with
61032         empty components in $PATH, denoting '.'.
61033
61034 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61035
61036         * gnulib-tool: Fix indentation.
61037         (func_create_megatestdir): Likewise.
61038         Report by Bruno Haible.
61039
61040 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61041
61042         Sync from Automake.
61043         * build-aux/gnupload: Fix shell portability issues with for loops.
61044         Report by Karl Berry.
61045
61046 2007-06-29  Simon Josefsson  <simon@josefsson.org>
61047
61048         * build-aux/maint.mk (POURL): Use translationproject.org.
61049
61050 2007-06-27  Simon Josefsson  <simon@josefsson.org>
61051             Bruno Haible  <bruno@clisp.org>
61052
61053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
61054         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
61055         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
61056         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
61057         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
61058
61059 2007-06-27  Bruno Haible  <bruno@clisp.org>
61060
61061         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
61062         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
61063
61064 2007-06-26  Karl Berry  <karl@gnu.org>
61065
61066         * MODULES.html.sh: remove xreadlink-with-size.
61067
61068 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61069
61070         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
61071         method that I hope also handles the double-include problem noted
61072         by Bruno Haible in
61073         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
61074
61075 2007-06-23  Bruno Haible  <bruno@clisp.org>
61076
61077         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61078         Don't let the 'mostlyclean' target fail if the last subdirectory could
61079         not be removed.
61080         Reported by Karl Berry.
61081
61082 2007-06-23  Bruno Haible  <bruno@clisp.org>
61083
61084         * gnulib-tool (echo): Add a speedier workaround for ksh.
61085         * tests/test-echo.sh: Likewise.
61086
61087 2007-06-23  Bruno Haible  <bruno@clisp.org>
61088
61089         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
61090         * tests/test-echo.sh: Likewise.
61091
61092 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61093
61094         * gnulib-tool (IFS): Initialize early, so we don't set it to
61095         empty later.
61096         (self_abspathname): Rewrite algorithm to set it, reindent.
61097         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
61098         (func_create_megatestdir): Merge some sed scripts.
61099
61100 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61101
61102         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
61103         exposed by Sun Studio 11 cc on Solaris 8.
61104
61105 2007-06-22  Bruno Haible  <bruno@clisp.org>
61106
61107         * gnulib-tool (echo): Ensure the echo primitive does not interpret
61108         backslashes.
61109         * tests/test-echo.sh: New file.
61110
61111 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61112
61113         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
61114         simplify `sed_replace_build_aux' scripts, they are portable but
61115         echoing them with `echo' is not.
61116         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
61117
61118 2007-06-21  Karl Berry  <karl@gnu.org>
61119
61120         * config/srclist.txt: guess we can't handle the licenses via
61121         srclist at the moment.
61122
61123 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61124
61125         * MODULES.html.sh: Add include_next.
61126         * modules/include_next: New file.
61127
61128 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61129
61130         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
61131         INCLUDE_NEXT.
61132         (gl_CHECK_NEXT_HEADERS): New macro.
61133         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
61134         the obsolescent gl_ABSOLUTE_HEADER.
61135         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
61136         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
61137         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
61138         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
61139         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
61140         * m4/math_h.m4 (gl_MATH_H): Likewise.
61141         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
61142         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61143         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
61144         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61145         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
61146         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
61147         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
61148         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61149         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61150         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
61151         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
61152         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
61153         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
61154         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61155         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
61156         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61157         * m4/inttypes.m4 (gl_INTTYPES_H): Define
61158         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
61159         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
61160         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
61161         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
61162         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
61163         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
61164         * lib/float_.h: Likewise.
61165         * lib/inttypes_.h: Likewise.
61166         * lib/math_.h: Likewise.
61167         * lib/search_.h: Likewise.
61168         * lib/signal_.h: Likewise.
61169         * lib/stdint_.h: Likewise.
61170         * lib/stdio_.h: Likewise.
61171         * lib/stdlib_.h: Likewise.
61172         * lib/string_.h: Likewise.
61173         * lib/sys_stat_.h: Likewise.
61174         * lib/sys_time_.h: Likewise.
61175         * lib/time_.h: Likewise.
61176         * lib/unistd_.h: Likewise.
61177         * lib/wchar_.h: Likewise.
61178         * lib/wctype_.h: Likewise.
61179         * lib/dirent_.h: Likewise.
61180         * lib/iconv_.h: Likewise.
61181         * lib/locale_.h: Likewise.
61182         * lib/netinet_in_.h: Likewise.
61183         * lib/sys_select_.h: Likewise.
61184         * lib/sys_socket_.h: Likewise.
61185         * lib/sysexits_.h: Likewise.
61186         * modules/fcntl (Depends-on): Depend on include_next, not
61187         absolute_header.
61188         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
61189         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
61190         * modules/fchdir: Likewise.
61191         * modules/float: Likewise.
61192         * modules/iconv_open: Likewise.
61193         * modules/inttypes: Likewise.
61194         * modules/locale: Likewise.
61195         * modules/math: Likewise.
61196         * modules/netinet_in: Likewise.
61197         * modules/search: Likewise.
61198         * modules/signal: Likewise.
61199         * modules/stdint: Likewise.
61200         * modules/stdio: Likewise.
61201         * modules/stdlib: Likewise.
61202         * modules/string: Likewise.
61203         * modules/sys_select: Likewise.
61204         * modules/sys_socket: Likewise.
61205         * modules/sys_stat: Likewise.
61206         * modules/sys_time: Likewise.
61207         * modules/sysexits: Likewise.
61208         * modules/time: Likewise.
61209         * modules/unistd: Likewise.
61210         * modules/wchar: Likewise.
61211         * modules/wctype: Likewise.
61212         * modules/sys_stat: Change maintainer to "all".
61213         * modules/unistd: Likewise.
61214
61215 2007-06-20  Karl Berry  <karl@gnu.org>
61216
61217         * config/srclist.txt: track www changes in license files.
61218
61219 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
61220
61221         * build-aux/bootstrap: Remove stray dot.
61222         Make sure build_aux settings are honored when linking
61223         gnulib_extra_files.
61224
61225 2007-06-19  Eric Blake  <ebb9@byu.net>
61226
61227         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61228         Allow compilation on cygwin.
61229
61230 2007-06-19  Jim Meyering  <jim@meyering.net>
61231
61232         xreadlink-with-size: Remove module.  No longer used.
61233         Ex-callers now use xreadlink or mreadlink-with-size.
61234         * modules/xreadlink-with-size: Remove module.
61235         * lib/xreadlink-with-size.c: Remove file.
61236         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
61237         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
61238         just before the function definition *is* accurate.
61239
61240         Eliminate one way canonicalize_filename_mode could exit.
61241         * lib/canonicalize.c (canonicalize_filename_mode):
61242         Use mreadlink_with_size, not xreadlink_with_size.
61243
61244 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
61245
61246         Detect porting problems to FreeBSD/arm, which has time_t wider than
61247         long int.  Original problem reported for GNU diff by Xin Li in
61248         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
61249         * modules/getdate (Depends-on): Add intprops, verify.
61250         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
61251         is an integer type no wider than long int.
61252
61253 2007-06-18  Jim Meyering  <jim@meyering.net>
61254
61255         New module: mreadlink-with-size.
61256         * MODULES.html.sh: Add mreadlink-with-size.
61257         * modules/mreadlink-with-size: New module
61258         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
61259         not xreadlink-with-size.
61260         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
61261
61262 2007-06-16  Bruno Haible  <bruno@clisp.org>
61263
61264         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
61265         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
61266         Reported by Gary V. Vaughan <gary@gnu.org>.
61267
61268 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61269
61270         Revamp lchown so that it lives in unistd.h where it belongs.
61271         * lib/lchown.h: Remove.
61272         * lib/dirchownmod.c: Don't include lib/lchown.h.
61273         * lib/fchownat.c: Likewise.
61274         * lib/openat.c: Likewise.
61275         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
61276         does not follow symlinks.
61277         (EOPNOTSUPP): Define if not defined.
61278         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
61279         is defined to 0.
61280         (lchown): New decl.
61281         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
61282         Do not check for lchown decl.
61283         Set REPLACE_LCHOWN.
61284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
61285         REPLACE_LCHOWN.
61286         * modules/chown: Make it clear it follows symlinks.
61287         * modules/lchown: Make it clear it doesn't follow symlinks.
61288         (Files): Remove lib/lchown.h
61289         (Depends-on): Add unistd.
61290         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
61291         (Include): Include <unistd.h>, not "lchown.h".
61292         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
61293         REPLACE_LCHOWN.
61294
61295 2007-06-15  Jim Meyering  <jim@meyering.net>
61296
61297         Change license (GPL to LGPL) of fsusage and dependents.
61298         * modules/fsusage (License): Change to LGPL.
61299         * modules/full-read (License): Likewise.
61300         * modules/full-write (License): Likewise.
61301         * modules/safe-read (License): Likewise.
61302         * modules/safe-write (License): Likewise.
61303
61304 2007-06-14  Ben Pfaff  <blp@gnu.org>
61305
61306         Missing part of allocsa -> malloca transition.
61307         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
61308         gl_MALLOCA.
61309
61310 2007-06-12  Bruno Haible  <bruno@clisp.org>
61311
61312         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
61313         to ia64, x86_64, i386.
61314         Reported by Eric Blake.
61315
61316 2007-06-12  Bruno Haible  <bruno@clisp.org>
61317
61318         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
61319         cross-compiling to x86_64.
61320
61321 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
61322
61323         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
61324         glitch reported by Ralf Wildenhues in
61325         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
61326
61327         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
61328         Vin Shelton.
61329
61330 2007-06-11  Bruno Haible  <bruno@clisp.org>
61331
61332         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
61333         replacement string.
61334         Reported by Eric Blake.
61335
61336 2007-06-10  Bruno Haible  <bruno@clisp.org>
61337
61338         Prepare vasnprintf code for use with Unicode strings.
61339         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
61340         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
61341         TYPE_U32_STRING.
61342         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
61343         a_u32_string variants.
61344         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61345         * lib/printf-args.c: Don't include config.h and the specification
61346         header if PRINTF_FETCHARGS is already defined.
61347         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61348         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
61349         TYPE_U16_STRING, TYPE_U32_STRING.
61350         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
61351         u16_directive, u16_directives, u32_directive, u32_directives): New
61352         types.
61353         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
61354         New declarations.
61355         * lib/printf-parse.c: Don't include config.h and the specification
61356         header if PRINTF_PARSE is already defined. Eliminate the set of
61357         parameters for WIDE_CHAR_VERSION; the user of this file must provide
61358         them now. Include c-ctype.h.
61359         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
61360         directive and CHAR_T_ONLY_ASCII.
61361         * lib/vasnprintf.c: Don't include config.h and the specification header
61362         if VASNPRINTF is already defined.
61363         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
61364         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
61365         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
61366         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
61367         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
61368         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
61369         code accordingly.
61370         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
61371         pad_ourselves also in this case, with the 'c' and 's' directives, and
61372         with a different notion of "width".
61373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
61374
61375 2007-06-10  Bruno Haible  <bruno@clisp.org>
61376
61377         * modules/unistr/u32-mbsnlen: New file.
61378         * lib/unistr/u32-mbsnlen.c: New file.
61379
61380         * modules/unistr/u16-mbsnlen: New file.
61381         * lib/unistr/u16-mbsnlen.c: New file.
61382
61383         * modules/unistr/u8-mbsnlen: New file.
61384         * lib/unistr/u8-mbsnlen.c: New file.
61385
61386         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
61387         declarations.
61388
61389 2007-06-10  Bruno Haible  <bruno@clisp.org>
61390
61391         * lib/string_.h (mbsnlen): New declaration.
61392         * lib/mbsnlen.c: New file.
61393         * m4/mbsnlen.m4: New file.
61394         * modules/mbsnlen: New file.
61395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
61396         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
61397         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
61398
61399 2007-06-10  Bruno Haible  <bruno@clisp.org>
61400
61401         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
61402
61403 2007-06-10  Bruno Haible  <bruno@clisp.org>
61404
61405         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
61406         * lib/mbuiter.h: Likewise.
61407
61408 2007-06-10  Bruno Haible  <bruno@clisp.org>
61409
61410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
61411         declaration.
61412
61413 2007-06-10  Karl Berry  <karl@gnu.org>
61414
61415         * config/srclist.txt: remove gettext entries, Bruno prefers
61416         to update individually.
61417
61418 2007-06-10  Bruno Haible  <bruno@clisp.org>
61419
61420         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
61421         'maxlen'. Ensure only length + width bytes are allocated, not
61422         length + 1 + width.
61423
61424 2007-06-09  Bruno Haible  <bruno@clisp.org>
61425
61426         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
61427         (CHAR_T): Remove macro.
61428         (VASNPRINTF): Update.
61429
61430 2007-06-09  Bruno Haible  <bruno@clisp.org>
61431
61432         * MODULES.html.sh (Unicode string functions): Add the new modules.
61433
61434         * modules/uniconv/u32-conv-to-enc: New file.
61435         * lib/uniconv/u32-conv-to-enc.c: New file.
61436         * modules/uniconv/u32-conv-to-enc-tests: New file.
61437         * tests/uniconv/test-u32-conv-to-enc.c: New file.
61438
61439         * modules/uniconv/u16-conv-to-enc: New file.
61440         * lib/uniconv/u16-conv-to-enc.c: New file.
61441         * lib/uniconv/u-conv-to-enc.h: New file.
61442         * modules/uniconv/u16-conv-to-enc-tests: New file.
61443         * tests/uniconv/test-u16-conv-to-enc.c: New file.
61444
61445         * modules/uniconv/u8-conv-to-enc: New file.
61446         * lib/uniconv/u8-conv-to-enc.c: New file.
61447         * modules/uniconv/u8-conv-to-enc-tests: New file.
61448         * tests/uniconv/test-u8-conv-to-enc.c: New file.
61449
61450         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
61451         u32_conv_to_encoding): New declarations.
61452
61453 2007-06-09  Bruno Haible  <bruno@clisp.org>
61454
61455         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
61456
61457 2007-06-09  Bruno Haible  <bruno@clisp.org>
61458
61459         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
61460         * modules/malloca: Renamed from modules/allocsa, updated.
61461         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
61462         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
61463         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
61464         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
61465         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
61466         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
61467         * modules/xmalloca: Renamed from modules/xallocsa, updated.
61468         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
61469         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
61470         * modules/c-strcasestr (Depends-on): Update.
61471         * lib/c-strcasestr.c: Update.
61472         * modules/c-strstr (Depends-on): Update.
61473         * lib/c-strstr.c: Update.
61474         * modules/canonicalize-lgpl (Depends-on): Update.
61475         * lib/canonicalize-lgpl.c: Update.
61476         * modules/clean-temp (Depends-on): Update.
61477         * lib/clean-temp.c: Update.
61478         * modules/csharpcomp (Depends-on): Update.
61479         * lib/csharpcomp.c: Update.
61480         * modules/csharpexec (Depends-on): Update.
61481         * lib/csharpexec.c: Update.
61482         * modules/javacomp (Depends-on): Update.
61483         * lib/javacomp.c: Update.
61484         * modules/javaexec (Depends-on): Update.
61485         * lib/javaexec.c: Update.
61486         * modules/mbscasestr (Depends-on): Update.
61487         * lib/mbscasestr.c: Update.
61488         * modules/mbsstr (Depends-on): Update.
61489         * lib/mbsstr.c: Update.
61490         * modules/setenv (Depends-on): Update.
61491         * lib/setenv.c: Update.
61492         * modules/strcasestr (Depends-on): Update.
61493         * lib/strcasestr.c: Update.
61494         * modules/striconveha (Depends-on): Update.
61495         * lib/striconveha.c: Update.
61496         * modules/relocatable-prog-wrapper (Files): Update.
61497         * lib/relocwrapper.c: Update.
61498         * build-aux/install-reloc: Update.
61499         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
61500
61501 2007-06-08  Bruno Haible  <bruno@clisp.org>
61502
61503         Port to uClibc.
61504         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
61505         * lib/fpurge.c (fpurge): Likewise.
61506         * lib/freading.c (freading): Likewise.
61507         * lib/fseeko.c (rpl_fseeko): Likewise.
61508         * lib/fseterr.c (fseterr): Likewise.
61509         * lib/fwriting.c (fwriting): Likewise.
61510         * tests/test-fflush.c (main): Avoid a failure on uClibc.
61511
61512 2007-06-08  Bruno Haible  <bruno@clisp.org>
61513
61514         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
61515         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
61516         * modules/gettext (Files): Add m4/intlmacosx.m4.
61517
61518 2007-06-07  Bruno Haible  <bruno@clisp.org>
61519
61520         * modules/localename-tests: New file.
61521         * tests/test-localename.c: New file.
61522
61523         New module 'localename'.
61524         * lib/localename.h: New file.
61525         * lib/localename.c: New file, from GNU gettext.
61526         * m4/localename.m4: New file.
61527         * modules/localename: New file.
61528
61529 2007-06-07  Bruno Haible  <bruno@clisp.org>
61530
61531         Work around the lack of <wchar.h> on some builds of uClibc.
61532         * doc/headers/wchar.texi: Update.
61533         * lib/wchar_.h: Include <wchar.h> only if it exists.
61534         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
61535         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
61536         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
61537         doesn't exist.
61538         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
61539         * modules/mbfile (Depends-on): Add wchar.
61540         * modules/mbiter (Depends-on): Likewise.
61541         * modules/mbuiter (Depends-on): Likewise.
61542         Reported by Simon Josefsson.
61543
61544 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61545
61546         Work around problem reported by Steven M. Schweda in
61547         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
61548         Tru64 5.1B with the Compaq compiler environment installed declares
61549         an 'isblank' function but does not define it in the C library.
61550         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
61551         * lib/regex_internal.h (isblank): Likewise.
61552         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
61553         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61554
61555 2007-06-05  Bruno Haible  <bruno@clisp.org>
61556
61557         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
61558         ia64.
61559         * modules/printf-safe: New file.
61560         * modules/fprintf-posix (Depends-on): Add printf-safe.
61561         * modules/printf-posix (Depends-on): Likewise.
61562         * modules/snprintf-posix (Depends-on): Likewise.
61563         * modules/sprintf-posix (Depends-on): Likewise.
61564         * modules/vasnprintf-posix (Depends-on): Likewise.
61565         * modules/vasprintf-posix (Depends-on): Likewise.
61566         * modules/vfprintf-posix (Depends-on): Likewise.
61567         * modules/vprintf-posix (Depends-on): Likewise.
61568         * modules/vsnprintf-posix (Depends-on): Likewise.
61569         * modules/vsprintf-posix (Depends-on): Likewise.
61570         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
61571         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
61572         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
61573         "no" on i386, x86_64, ia64.
61574         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
61575         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61576         on i386, x86_64, ia64.
61577         * tests/test-sprintf-posix.h (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-vasnprintf-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-vasprintf-posix.c: Include float.h.
61585         (LDBL80_WORDS): New macro.
61586         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61587         on i386, x86_64, ia64.
61588         * tests/test-snprintf-posix.c: Include float.h.
61589         * tests/test-sprintf-posix.c: Likewise.
61590         * tests/test-vsnprintf-posix.c: Likewise.
61591         * tests/test-vsprintf-posix.c: Likewise.
61592
61593 2007-06-05  Bruno Haible  <bruno@clisp.org>
61594
61595         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
61596         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
61597         non-IEEE numbers on i386, x86_64, ia64.
61598         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
61599         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
61600         * tests/test-isnanl.h: Include float.h.
61601         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
61602
61603 2007-06-05  Bruno Haible  <bruno@clisp.org>
61604
61605         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
61606         also the %a / %A. Handle the %a / %A code before this extra handling.
61607
61608 2007-06-05  Bruno Haible  <bruno@clisp.org>
61609
61610         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
61611         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
61612
61613 2007-06-05  Bruno Haible  <bruno@clisp.org>
61614
61615         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
61616         typo in variable name.
61617
61618 2007-06-05  Eric Blake  <ebb9@byu.net>
61619
61620         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
61621         Reported by Simon Josefsson.
61622
61623 2007-06-04  Bruno Haible  <bruno@clisp.org>
61624
61625         Avoid test failures on some PowerPC platforms.
61626         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
61627         Define differently for PowerPC.
61628         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
61629         Reported by Gary V. Vaughan <gary@gnu.org>.
61630
61631 2007-06-02  Bruno Haible  <bruno@clisp.org>
61632
61633         Fix test-stdint failure on FreeBSD/ia64.
61634         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
61635         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
61636         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
61637         * doc/headers/stdint.texi: Update.
61638
61639 2007-06-01  Bruno Haible  <bruno@clisp.org>
61640
61641         * tests/test-binary-io.c (main): Pass a third argument to open().
61642         Reported by Gary V. Vaughan <gary@gnu.org>.
61643
61644 2007-06-01  Bruno Haible  <bruno@clisp.org>
61645
61646         * doc/functions/frexpl.texi: Update for mingw.
61647
61648 2007-06-01  Bruno Haible  <bruno@clisp.org>
61649
61650         * tests/test-lseek.c (main): Disable test of errno for invalid third
61651         argument.
61652         * doc/functions/lseek.texi: Update.
61653         Reported by Gary V. Vaughan <gary@gnu.org>.
61654
61655 2007-05-28  Bruno Haible  <bruno@clisp.org>
61656
61657         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
61658
61659 2007-05-31  Eric Blake  <ebb9@byu.net>
61660
61661         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
61662         cross compiling.
61663
61664 2007-05-30  Eric Blake  <ebb9@byu.net>
61665         and Bruno Haible  <bruno@clisp.org>
61666
61667         Work around mingw test failures exposed by m4-1.4.9b.
61668         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
61669         * tests/test-unistd.c: Disable uid_t and git_t tests for the
61670         moment.
61671
61672 2007-05-30  Bruno Haible  <bruno@clisp.org>
61673
61674         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
61675         assuming that they are closed. Needed on HP-UX 11.
61676
61677 2007-05-29  Bruno Haible  <bruno@clisp.org>
61678
61679         Fix a problem with #include_next.
61680         * lib/dirent_.h: Split the double-inclusion guard.
61681         * lib/fcntl_.h: Likewise.
61682         * lib/float_.h: Likewise.
61683         * lib/iconv_.h: Likewise.
61684         * lib/inttypes_.h: Likewise.
61685         * lib/locale_.h: Likewise.
61686         * lib/math_.h: Likewise.
61687         * lib/netinet_in_.h: Likewise.
61688         * lib/search_.h: Likewise.
61689         * lib/signal_.h: Likewise.
61690         * lib/stdint_.h: Likewise.
61691         * lib/stdio_.h: Likewise.
61692         * lib/stdlib_.h: Likewise.
61693         * lib/string_.h: Likewise.
61694         * lib/sys_select_.h: Likewise.
61695         * lib/sys_socket_.h: Likewise.
61696         * lib/sys_stat_.h: Likewise.
61697         * lib/sys_time_.h: Likewise.
61698         * lib/sysexits_.h: Likewise.
61699         * lib/time_.h: Likewise.
61700         * lib/unistd_.h: Likewise.
61701         * lib/wchar_.h: Likewise.
61702         * lib/wctype_.h: Likewise.
61703
61704 2007-05-29  Bruno Haible  <bruno@clisp.org>
61705
61706         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
61707         for the moment.
61708
61709 2007-05-29  Bruno Haible  <bruno@clisp.org>
61710
61711         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
61712         invocation.
61713         Reported by Eric Blake.
61714
61715 2007-05-29  Bruno Haible  <bruno@clisp.org>
61716
61717         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
61718         compiling case.
61719
61720 2007-05-29  Eric Blake  <ebb9@byu.net>
61721             Bruno Haible  <bruno@clisp.org>
61722
61723         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
61724         cross compiles.
61725
61726 2007-05-28  Eric Blake  <ebb9@byu.net>
61727
61728         * modules/closein-tests (test_closein_LDADD): Support test on
61729         cygwin with libtool.
61730
61731 2007-05-28  Bruno Haible  <bruno@clisp.org>
61732
61733         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
61734         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61735         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61736         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61737         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61738         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61739         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61740         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61741         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61742
61743 2007-05-28  Eric Blake  <ebb9@byu.net>
61744
61745         Unconditionally include <config.h> in unit tests.
61746         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
61747         * tests/test-allocsa.c, tests/test-arcfour.c,
61748         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
61749         tests/test-array_list.c, tests/test-array_oset.c,
61750         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
61751         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
61752         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
61753         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
61754         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
61755         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
61756         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
61757         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
61758         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
61759         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
61760         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
61761         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
61762         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
61763         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
61764         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
61765         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
61766         test-md5.c, test-memmem.c, test-printf-posix.c,
61767         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
61768         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
61769         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
61770         test-strcasestr.c, test-striconv.c, test-striconveh.c,
61771         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
61772         test-vasnprintf-posix2.c, test-vasnprintf.c,
61773         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
61774         test-vfprintf-posix.c, test-vprintf-posix.c,
61775         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
61776         test-xvasprintf.c: Likewise.
61777
61778 2007-05-28  Bruno Haible  <bruno@clisp.org>
61779
61780         * gnulib-tool (func_import): Remember the --with-tests command-line
61781         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
61782         Reported by Eric Blake.
61783
61784 2007-05-28  Bruno Haible  <bruno@clisp.org>
61785
61786         * modules/ftell-tests: New file.
61787         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
61788         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
61789
61790         * lib/ftell.c: New file.
61791         * modules/ftell: New file.
61792         * m4/ftell.m4: New file.
61793         * doc/functions/ftell.texi: Update.
61794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
61795         REPLACE_FTELL.
61796         * lib/stdio_.h (rpl_ftell): New declaration.
61797         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
61798         REPLACE_FTELL.
61799
61800 2007-05-28  Eric Blake  <ebb9@byu.net>
61801
61802         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
61803
61804 2007-05-28  Bruno Haible  <bruno@clisp.org>
61805
61806         * modules/fseek-tests: New file.
61807         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
61808         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
61809
61810         * lib/fseek.c: New file.
61811         * modules/fseek: New file.
61812         * m4/fseek.m4: New file.
61813         * doc/functions/fseek.texi: Update.
61814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
61815         REPLACE_FSEEK.
61816         * lib/stdio_.h (rpl_fseek): New declaration.
61817         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
61818         REPLACE_FSEEK.
61819
61820 2007-05-28  Bruno Haible  <bruno@clisp.org>
61821
61822         * lib/stdio_.h (fflush): More comments.
61823
61824 2007-05-28  Bruno Haible  <bruno@clisp.org>
61825
61826         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
61827         runtime test.
61828
61829 2007-05-28  Eric Blake  <ebb9@byu.net>
61830
61831         Improve lseek module.
61832         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
61833         * lib/unistd_.h (lseek): Scale back link warning message.
61834         * tests/test-lseek.c: Beef up test.
61835         * tests/test-lseek.sh: Exercise more facets of lseek.
61836         Reported by Bruno Haible.
61837
61838 2007-05-28  Bruno Haible  <bruno@clisp.org>
61839
61840         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
61841         to define.
61842
61843 2007-05-27  Bruno Haible  <bruno@clisp.org>
61844
61845         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
61846
61847 2007-05-27  Bruno Haible  <bruno@clisp.org>
61848
61849         * modules/openmp: New file.
61850         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
61851         Noah Misch.
61852
61853 2007-05-26  Bruno Haible  <bruno@clisp.org>
61854
61855         * modules/chdir-long (Depends-on): Add fchdir.
61856         * modules/chdir-safer (Depends-on): Likewise.
61857         * modules/fts (Depends-on): Likewise.
61858         * modules/fts-lgpl (Depends-on): Likewise.
61859         * modules/openat (Depends-on): Likewise.
61860         * modules/savewd (Depends-on): Likewise.
61861
61862 2007-05-24  Eric Blake  <ebb9@byu.net>
61863
61864         Fix lseek on mingw.
61865         * modules/lseek: New module.
61866         * m4/lseek.m4: New file.
61867         * lib/lseek.c: New file.
61868         * modules/lseek-tests: New file.
61869         * tests/test-lseek.c: New file.
61870         * tests/test-lseek.sh: New file.
61871         * MODULES.html.sh: Document lseek module.
61872         * modules/fflush (Depends-on): Add lseek, fseeko.
61873         * modules/fseeko (Depends-on): Likewise.
61874         * modules/ftello (Depends-on): Likewise.
61875         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
61876         broken.
61877         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
61878         broken.
61879         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
61880         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
61881         * lib/ftello.c (rpl_ftello): Likewise.
61882         * tests/test-fseeko.c (main): Test this.
61883         * tests/test-fseeko.sh: Likewise.
61884         * tests/test-ftello.c (main): Likewise.
61885         * tests/test-ftello.sh: Likewise.
61886         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
61887         implies replacing fseek.
61888         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
61889         HAVE_FTELLO.
61890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
61891         * modules/unistd (Makefile.am): Likewise.
61892         * lib/unistd_.h (lseek): Declare a replacement.
61893         * doc/functions/lseek.texi (lseek): Document this fix.
61894         * doc/functions/fseek.texi (fseek): Likewise.
61895         * doc/functions/ftell.texi (ftell): Likewise.
61896
61897 2007-05-24  Bruno Haible  <bruno@clisp.org>
61898
61899         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
61900         in the printed representation of a NaN.
61901         * tests/test-vasprintf-posix.c (test_function): Likewise.
61902         * tests/test-snprintf-posix.h (test_function): Likewise.
61903         * tests/test-sprintf-posix.h (test_function): Likewise.
61904         Reported by Eric Blake.
61905
61906 2007-05-23  Eric Blake  <ebb9@byu.net>
61907
61908         Fix fseeko/ftello on cygwin 1.5.24.
61909         * doc/functions/fseeko.texi (fseeko): Document the fix.
61910         * doc/functions/ftello.texi (ftello): Document the fix.
61911         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
61912         * doc/functions/stdout.text (stdout): New file.
61913         * doc/functions/stderr.text (stderr): New file.
61914         * doc/gnulib.texi (Function Substitutes): Use new files.
61915         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
61916         prior to 1.7.0.
61917         * tests/test-ftello.c (main): Likewise for ftello.
61918         * tests/test-fseeko.sh: New file.
61919         * tests/test-ftello.sh: New file.
61920         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
61921         with seekable stdin.
61922         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
61923         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
61924         (gl_REPLACE_FSEEKO): New macro.
61925         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
61926         * modules/fseeko (Files): Distribute fseeko.c.
61927         * modules/ftello (Files): Distribute ftello.c.
61928         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
61929         mode.
61930         * lib/ftello.c (rpl_ftello): New file.
61931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
61932         fseeko, ftello.
61933         (gl_STDIN_LARGE_OFFSET): New macro.
61934         * modules/stdio (Makefile.am): Perform the replacement.
61935         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
61936
61937 2007-05-23  Bruno Haible  <bruno@clisp.org>
61938
61939         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
61940         GNULIB_POSIXCHECK is defined.
61941
61942 2007-05-21  Bruno Haible  <bruno@clisp.org>
61943
61944         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
61945         Check also the output for NaN arguments. When cross-compiling, guess
61946         no on IRIX.
61947         * lib/vasnprintf.c: Update comments.
61948         * tests/test-vasnprintf-posix.c (strisnan): New function.
61949         (test_function): Use it.
61950         * tests/test-vasprintf-posix.c (strisnan): New function.
61951         (test_function): Use it.
61952         * tests/test-snprintf-posix.h (strisnan): New function.
61953         (test_function): Use it.
61954         * tests/test-sprintf-posix.h (strisnan): New function.
61955         (test_function): Use it.
61956         Reported by Eric Blake.
61957
61958 2007-05-20  Bruno Haible  <bruno@clisp.org>
61959
61960         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
61961         numbers that fails on BeOS.
61962         * doc/functions/frexpl.texi: Update.
61963
61964 2007-05-20  Jim Meyering  <jim@meyering.net>
61965
61966         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
61967         forced upon us by glibc-2.6.
61968
61969 2007-05-20  Bruno Haible  <bruno@clisp.org>
61970
61971         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
61972         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
61973         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
61974         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
61975         NEED_PRINTF_INFINITE.
61976         (is_infinitel): New function.
61977         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
61978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
61979         gl_PREREQ_VASNPRINTF_INFINITE.
61980         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
61981         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61982         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
61983         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
61984         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
61985         gl_PREREQ_VASNPRINTF_INFINITE.
61986         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61987         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61988         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61989         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61990         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61991         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61992         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61993         * doc/functions/fprintf.texi: Update.
61994         * doc/functions/printf.texi: Update.
61995         * doc/functions/snprintf.texi: Update.
61996         * doc/functions/sprintf.texi: Update.
61997         * doc/functions/vfprintf.texi: Update.
61998         * doc/functions/vprintf.texi: Update.
61999         * doc/functions/vsnprintf.texi: Update.
62000         * doc/functions/vsprintf.texi: Update.
62001
62002 2007-05-20  Bruno Haible  <bruno@clisp.org>
62003
62004         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
62005         was not found in libc.
62006         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
62007
62008 2007-05-20  Bruno Haible  <bruno@clisp.org>
62009
62010         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62011         printed as "-nan" instead of "nan".
62012         * tests/test-vasprintf-posix.c (test_function): Likewise.
62013         * tests/test-snprintf-posix.h (test_function): Likewise.
62014         * tests/test-sprintf-posix.h (test_function): Likewise.
62015         Needed for HP-UX 11.
62016
62017 2007-05-20  Jim Meyering  <jim@meyering.net>
62018
62019         Fix buggy test for the fchownat-deref bug.
62020         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
62021         symlink required for the run-test.  Without it, this test would
62022         always declare that fchownat doesn't work, and client code would
62023         unnecessarily use the replacement function with fixed libc.
62024         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
62025         Reported by Greg Schafer.
62026
62027 2007-05-19  Bruno Haible  <bruno@clisp.org>
62028
62029         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
62030         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
62031         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
62032         Needed for IRIX 6.5 and Solaris 2.5.1.
62033
62034 2007-05-19  Bruno Haible  <bruno@clisp.org>
62035
62036         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
62037         (test_function): Skip tests involving -0.0 on platforms where
62038         -0.0 = 0.0.
62039         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
62040         (test_function): Skip tests involving -0.0 on platforms where
62041         -0.0 = 0.0.
62042         * tests/test-snprintf-posix.h (have_minus_zero): New function.
62043         (test_function): Skip tests involving -0.0 on platforms where
62044         -0.0 = 0.0.
62045         * tests/test-sprintf-posix.h (have_minus_zero): New function.
62046         (test_function): Skip tests involving -0.0 on platforms where
62047         -0.0 = 0.0.
62048         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
62049         tests.
62050         * tests/test-printf-posix.h (test_function): Likewise.
62051         * tests/test-printf-posix.output: Remove all -0.0 related results.
62052         Needed for IRIX 6.5.
62053
62054 2007-05-19  Bruno Haible  <bruno@clisp.org>
62055
62056         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62057         printed as "nan0x7fffffff" instead of "nan".
62058         * tests/test-vasprintf-posix.c (test_function): Likewise.
62059         * tests/test-snprintf-posix.h (test_function): Likewise.
62060         * tests/test-sprintf-posix.h (test_function): Likewise.
62061         * tests/test-fprintf-posix.h (NaN): Remove macro.
62062         (test_function): Remove all NaN related tests.
62063         * tests/test-printf-posix.h (NaN): Remove macro.
62064         (test_function): Remove all NaN related tests.
62065         * tests/test-printf-posix.output: Remove all NaN related results.
62066         Needed for IRIX 6.5.
62067
62068 2007-05-19  Bruno Haible  <bruno@clisp.org>
62069
62070         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
62071         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62072
62073 2007-05-19  Bruno Haible  <bruno@clisp.org>
62074
62075         * lib/float_.h: New file.
62076         * m4/float_h.m4: New file.
62077         * modules/float: New file.
62078         * modules/isnanl (Dependencies): Add float.
62079         * modules/isnanl-nolibm (Dependencies): Likewise.
62080         * modules/mathl (Dependencies): Likewise.
62081         * modules/printf-frexpl (Dependencies): Likewise.
62082         * modules/signbit (Dependencies): Likewise.
62083         * modules/vasnprintf (Dependencies): Likewise.
62084         * doc/headers/float.texi: Update.
62085
62086 2007-05-19  Jim Meyering  <jim@meyering.net>
62087
62088         * lib/utimens.c (gl_futimens): Rename from futimens,
62089         now that glibc-2.6 declares futimens.
62090         * lib/utimens.h: Likewise.
62091
62092 2007-05-19  Bruno Haible  <bruno@clisp.org>
62093
62094         Avoid test failures on mingw.
62095         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
62096         * tests/test-printf-posix.sh: Likewise.
62097         * tests/test-vfprintf-posix.sh: Likewise.
62098         * tests/test-vprintf-posix.sh: Likewise.
62099
62100 2007-05-19  Bruno Haible  <bruno@clisp.org>
62101
62102         Fix *printf result for NaN, Inf, -0.0 on mingw.
62103         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
62104         * lib/vasnprintf.c: Include math.h and isnan.h.
62105         (is_infinite_or_zero): New function.
62106         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
62107         values in the %f, %F, %e, %E, %g, %G directives.
62108         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
62109         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62110         gl_PRINTF_INFINITE and test its result. Invoke
62111         gl_PREREQ_VASNPRINTF_INFINITE.
62112         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62113         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62114         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62115         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62116         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62117         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62118         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62119         * doc/functions/fprintf.texi: Update.
62120         * doc/functions/printf.texi: Update.
62121         * doc/functions/snprintf.texi: Update.
62122         * doc/functions/sprintf.texi: Update.
62123         * doc/functions/vfprintf.texi: Update.
62124         * doc/functions/vprintf.texi: Update.
62125         * doc/functions/vsnprintf.texi: Update.
62126         * doc/functions/vsprintf.texi: Update.
62127
62128 2007-05-19  Bruno Haible  <bruno@clisp.org>
62129
62130         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
62131         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
62132         Instead of multiplying with 10^k, set extra_zeroes to k.
62133         (scale10_round_long_double): Remove function.
62134
62135 2007-05-18  Bruno Haible  <bruno@clisp.org>
62136
62137         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
62138         introduced on 2007-05-06.
62139
62140 2007-05-18  Bruno Haible  <bruno@clisp.org>
62141
62142         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
62143         %g directives.
62144         * tests/test-vasprintf-posix.c (test_function): Likewise.
62145         * tests/test-snprintf-posix.h (test_function): Likewise.
62146         * tests/test-sprintf-posix.h (test_function): Likewise.
62147
62148 2007-05-18  Bruno Haible  <bruno@clisp.org>
62149
62150         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
62151         (strmatch): New function.
62152         (test_function): Test the %f directive on numbers of various exponents.
62153         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
62154         (strmatch): New function.
62155         (test_function): Test the %f directive on numbers of various exponents.
62156         * tests/test-snprintf-posix.h (strmatch): New function.
62157         (test_function): Test the %f directive on numbers of various exponents.
62158         * tests/test-sprintf-posix.h (strmatch): New function.
62159         (test_function): Test the %f directive on numbers of various exponents.
62160         * tests/test-snprintf-posix.c (SIZEOF): New macro.
62161         * tests/test-sprintf-posix.c (SIZEOF): New macro.
62162         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
62163         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
62164
62165 2007-05-18  Bruno Haible  <bruno@clisp.org>
62166
62167         Add support for 'long double' number output.
62168         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
62169         * lib/vasnprintf.c: Include math.h and float+.h.
62170         (mp_limb_t): New type.
62171         (GMP_LIMB_BITS): New macro.
62172         (mp_twolimb_t): New type.
62173         (GMP_TWOLIMB_BITS): New macro.
62174         (mpn_t): New type.
62175         (multiply, divide, convert_to_decimal, decode_long_double,
62176         scale10_round_long_double, scale10_round_decimal_long_double,
62177         floorlog10l): New functions.
62178         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
62179         for the %f, %F, %e, %E, %g, %G directives.
62180         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
62181         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62182         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
62183         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
62184         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62185         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62186         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62187         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62188         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62189         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62190         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62191         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
62192         * modules/snprintf-posix (Depends-on): Likewise.
62193         * modules/sprintf-posix (Depends-on): Likewise.
62194         * modules/vasnprintf-posix (Depends-on): Likewise.
62195         * modules/vasprintf-posix (Depends-on): Likewise.
62196         * modules/vfprintf-posix (Depends-on): Likewise.
62197         * modules/vsnprintf-posix (Depends-on): Likewise.
62198         * modules/vsprintf-posix (Depends-on): Likewise.
62199         * modules/vasnprintf (Files): Add lib/float+.h.
62200         * doc/functions/fprintf.texi: Update.
62201         * doc/functions/printf.texi: Update.
62202         * doc/functions/snprintf.texi: Update.
62203         * doc/functions/sprintf.texi: Update.
62204         * doc/functions/vfprintf.texi: Update.
62205         * doc/functions/vprintf.texi: Update.
62206         * doc/functions/vsnprintf.texi: Update.
62207         * doc/functions/vsprintf.texi: Update.
62208
62209 2007-05-18  Bruno Haible  <bruno@clisp.org>
62210
62211         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
62212
62213 2007-05-18  Bruno Haible  <bruno@clisp.org>
62214
62215         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
62216         for printing 64-bit integers. Needed for mingw.
62217
62218 2007-05-18  Bruno Haible  <bruno@clisp.org>
62219
62220         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62221         gl_FUNC_FREXPL_WORKS.
62222         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
62223
62224 2007-05-18  Bruno Haible  <bruno@clisp.org>
62225
62226         * modules/frexpl-nolibm-tests: New file.
62227
62228         * modules/frexpl-nolibm: New file.
62229         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
62230
62231 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
62232
62233         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
62234         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62235         GCC 4.2, which otherwise issues a lot of warnings.
62236         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
62237         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
62238         Likewise.
62239         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
62240         * modules/iconv_open (iconv.h): Likewise.
62241         * modules/locale (locale.h): Likewise.
62242         * modules/netinet_in (netinet/in.h): Likewise.
62243         * modules/sys_select (sys_select.h): Likewise.
62244         * modules/sys_socket (sys/socket.h): Likewise.
62245         * modules/sys_stat (sys/stat.h): Likewise.
62246         * modules/sysexits (sysexits.h): Likewise.
62247         * modules/unistd (unistd.h): Likewise.
62248
62249 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62250
62251         * modules/closein-tests (Makefile.am): Distribute
62252         `test-closein.sh'.
62253
62254 2007-05-17  Bruno Haible  <bruno@clisp.org>
62255
62256         * tests/test-printf-posix.output: Renamed from
62257         tests/test-fprintf-posix.out.
62258         * modules/fprintf-posix-tests: Update.
62259         * modules/printf-posix-tests: Update.
62260         * modules/vfprintf-posix-tests: Update.
62261         * modules/vprintf-posix-tests: Update.
62262         * tests/test-fprintf-posix.sh: Update.
62263         * tests/test-printf-posix.sh: Update.
62264         * tests/test-vfprintf-posix.sh: Update.
62265         * tests/test-vprintf-posix.sh: Update.
62266         Reported by Ralf Wildenhues.
62267
62268 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
62269
62270         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
62271         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62272         GCC 4.2, which otherwise issues a lot of warnings.
62273         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
62274         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
62275         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
62276         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
62277         it should no longer be needed.
62278         * lib/string_.h: Likewise.
62279         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
62280         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
62281         * modules/inttypes (inttypes.h): Likewise.
62282         * modules/math (math.h): Likewise.
62283         * modules/search (search.h): Likewise.
62284         * modules/signal (signal.h): Likewise.
62285         * modules/stdint (stdint.h): Likewise.
62286         * modules/stdio (stdio.h): Likewise.
62287         * modules/stdlib (stdlib.h): Likewise.
62288         * modules/string (string.h): Likewise.
62289         * modules/sys_time (sys/time.h): Likewise.
62290         * modules/time (time.h): Likewise.
62291         * modules/wchar (wchar.h): Likewise.
62292         * modules/wctype (wtype.h): Likewise.
62293
62294 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62295
62296         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
62297
62298 2007-05-13  Bruno Haible  <bruno@clisp.org>
62299
62300         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
62301         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62302         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
62303         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62304         (gl_PREREQ_STRTOK_R): Don't require it here.
62305
62306 2007-05-13  Bruno Haible  <bruno@clisp.org>
62307
62308         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
62309         when used in C++ mode.
62310
62311 2007-05-12  Bruno Haible  <bruno@clisp.org>
62312
62313         * lib/linebuffer.h: Tweak doc.
62314         * lib/linebuffer.c: Likewise.
62315
62316 2007-05-12  James Youngman  <jay@gnu.org>
62317
62318         * lib/linebuffer.c (readlinebuffer_delim): New function,
62319         like readlinebuffer, but use a caller-specified delimiter.
62320         (readlinebuffer): Just call readlinebuffer_delim with '\n'
62321         as the delimiter.
62322         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
62323
62324 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62325
62326         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
62327         * modules/openat (Files): Remove openat-die.c.
62328         (Depends-on): Add openat-die.
62329         * modules/openat-die: New module.
62330
62331 2007-05-06  Bruno Haible  <bruno@clisp.org>
62332
62333         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
62334         Update with info about Cygwin.
62335         * doc/functions/fprintf.texi: Update.
62336         * doc/functions/printf.texi: Update.
62337         * doc/functions/snprintf.texi: Update.
62338         * doc/functions/sprintf.texi: Update.
62339         * doc/functions/vfprintf.texi: Update.
62340         * doc/functions/vprintf.texi: Update.
62341         * doc/functions/vsnprintf.texi: Update.
62342         * doc/functions/vsprintf.texi: Update.
62343         Reported by Eric Blake.
62344
62345 2007-05-06  Bruno Haible  <bruno@clisp.org>
62346
62347         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
62348         padding ourselves for the floating-point directives.
62349         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
62350         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
62351         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62352         gl_PRINTF_FLAG_ZERO and test its result. Invoke
62353         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
62354         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62355         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62356         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62357         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62358         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62359         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62360         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62361         * tests/test-snprintf-posix.h (test_function): Also check the width
62362         and some flags in the %f directive.
62363         * tests/test-sprintf-posix.h (test_function): Likewise.
62364         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62365         * tests/test-vasprintf-posix.c (test_function): Likewise.
62366         * doc/functions/fprintf.texi: Update.
62367         * doc/functions/printf.texi: Update.
62368         * doc/functions/snprintf.texi: Update.
62369         * doc/functions/sprintf.texi: Update.
62370         * doc/functions/vfprintf.texi: Update.
62371         * doc/functions/vprintf.texi: Update.
62372         * doc/functions/vsnprintf.texi: Update.
62373         * doc/functions/vsprintf.texi: Update.
62374
62375 2007-05-06  Bruno Haible  <bruno@clisp.org>
62376
62377         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
62378         pass the ' flag character to sprintf or snprintf.
62379         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
62380         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
62381         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62382         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
62383         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
62384         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62385         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62386         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62387         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62388         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62389         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62390         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62391         * tests/test-snprintf-posix.h (test_function): Also check the grouping
62392         flag.
62393         * tests/test-sprintf-posix.h (test_function): Likewise.
62394         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62395         * tests/test-vasprintf-posix.c (test_function): Likewise.
62396         * doc/functions/fprintf.texi: Update.
62397         * doc/functions/printf.texi: Update.
62398         * doc/functions/snprintf.texi: Update.
62399         * doc/functions/sprintf.texi: Update.
62400         * doc/functions/vfprintf.texi: Update.
62401         * doc/functions/vprintf.texi: Update.
62402         * doc/functions/vsnprintf.texi: Update.
62403         * doc/functions/vsprintf.texi: Update.
62404
62405 2007-05-01  Bruno Haible  <bruno@clisp.org>
62406
62407         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
62408
62409 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
62410
62411         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
62412         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
62413
62414 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62415
62416         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
62417         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
62418         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
62419
62420 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
62421
62422         * lib/argp-help.c (struct hol_entry): New member `ord'.
62423         (HOL_ENTRY_PTRCMP): Use ord for comparison
62424         (hol_sort): Initialize ord.
62425
62426 2007-05-01  Bruno Haible  <bruno@clisp.org>
62427
62428         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
62429         Reported by Eric Blake.
62430         * doc/gnulib.texi (Function Substitutes): Update.
62431
62432 2007-05-01  Bruno Haible  <bruno@clisp.org>
62433
62434         * doc/functions.texi: Remove file, now redundant through
62435         doc/functions/*.texi.
62436
62437 2007-05-01  Bruno Haible  <bruno@clisp.org>
62438
62439         * modules/argp (Depends-on): Add sleep.
62440
62441 2007-05-01  Bruno Haible  <bruno@clisp.org>
62442
62443         * modules/sleep-tests: New file.
62444         * tests/test-sleep.c: New file.
62445
62446         * modules/sleep: New file.
62447         * lib/sleep.c: New file.
62448         * m4/sleep.m4: New file.
62449         * lib/unistd_.h (sleep): New declaration.
62450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
62451         HAVE_SLEEP.
62452         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
62453         * doc/functions/sleep.texi: Document the sleep module.
62454
62455 2007-05-01  Bruno Haible  <bruno@clisp.org>
62456
62457         * lib/sigprocmask.h: Remove file.
62458         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
62459         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
62460         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
62461         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
62462         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
62463         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
62464         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
62465         HAVE_SIGSET_T as a shell variable.
62466         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
62467         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
62468         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
62469         (Depends-on): Add signal. Remove verify.
62470         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
62471         (Include): Mention <signal.h> instead of sigprocmask.h.
62472         * NEWS: Mention the change.
62473         * lib/fatal-signal.c: Don't include sigprocmask.h.
62474
62475 2007-05-01  Bruno Haible  <bruno@clisp.org>
62476
62477         * modules/signal: New file.
62478         * lib/signal_.h: New file.
62479         * m4/signal_h.m4: New file.
62480
62481 2007-05-01  Bruno Haible  <bruno@clisp.org>
62482
62483         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
62484         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
62485         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
62486         HAVE_WCTYPE_CTMP_BUG into wctype.h.
62487
62488 2007-05-01  Bruno Haible  <bruno@clisp.org>
62489
62490         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
62491         configure time.
62492         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
62493         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
62494         * modules/sys_stat (Makefile.am): Substitute their values into
62495         sys/stat.h.
62496
62497 2007-05-01  Bruno Haible  <bruno@clisp.org>
62498
62499         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
62500         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
62501         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
62502
62503 2007-05-01  Bruno Haible  <bruno@clisp.org>
62504
62505         * doc/header/assert.texi: Undo last change: don't mention the gnulib
62506         'assert' module here.
62507
62508 2007-05-01  Bruno Haible  <bruno@clisp.org>
62509
62510         * doc/functions/*.texi: New files.
62511         * doc/functions/google-ranking.txt: New file.
62512         * doc/gnulib.texi (Function Substitutes): New chapter.
62513         (ctime, inet_ntoa): Remove sections.
62514         * doc/ctime.texi: Remove file.
62515         * doc/inet_ntoa.texi: Remove file.
62516         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
62517         dependencies.
62518         (%.info): New rule, specifying a --reference-limit.
62519
62520 2007-05-01  Bruno Haible  <bruno@clisp.org>
62521
62522         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
62523
62524 2007-05-01  Bruno Haible  <bruno@clisp.org>
62525
62526         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
62527         the portability of 'mkdir' to mingw systems.
62528
62529 2007-05-01  Bruno Haible  <bruno@clisp.org>
62530
62531         * doc/headers/google-ranking.txt: New file.
62532
62533 2007-04-30  Eric Blake  <ebb9@byu.net>
62534
62535         Prefer fseeko to fseek.
62536         * modules/getpass (Depends-on): Add fseeko.
62537         * lib/getpass.c (getpass): Use fseeko, not fseek.
62538
62539 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
62540
62541         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
62542         assumes the sorting is stable, while most qsort implementations
62543         are not.  Use argument addresses to ensure they never compare as
62544         equal.
62545
62546         * tests/test-argp-2.sh (usage-indent test): Fix output
62547         (func_compare): Restore diff options
62548         * tests/test-argp.c: Restore #include "progname.h"
62549
62550 2007-04-29  Bruno Haible  <bruno@clisp.org>
62551
62552         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
62553         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62554         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
62555         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62556         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
62557         (configure.ac): Define CHECK_SNPRINTF_POSIX.
62558         (TESTS, check_PROGRAMS): Add test-snprintf.
62559         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
62560         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
62561         (TESTS, check_PROGRAMS): Add test-vsnprintf.
62562         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
62563         assertions that fail on HP-UX, OSF/1, or IRIX.
62564         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
62565
62566 2007-04-29  Bruno Haible  <bruno@clisp.org>
62567
62568         * MODULES.html.sh (posix_functions): Remove 'contents'.
62569
62570 2007-04-29  Karl Berry  <karl@gnu.org>
62571
62572         * config/srclist.txt (gendocs_template_min): new entry.
62573
62574 2007-04-29  Bruno Haible  <bruno@clisp.org>
62575
62576         Work around fpurge bug on BSD systems.
62577         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
62578         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
62579         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
62580         fpurge to rpl_fpurge if the system already has this function.
62581         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
62582         the case where the system already has this function. Correct invariants
62583         on BSD systems.
62584         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
62585         BSD systems.
62586
62587 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62588
62589         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
62590         proposed by Sven Verdoolaege.
62591
62592         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
62593         options.
62594         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
62595         (usage and help tests): Update
62596
62597 2007-04-29  Bruno Haible  <bruno@clisp.org>
62598
62599         * tests/test-fflush.c (main): Use a file of size 17, not 10.
62600         Print more information in case of failure. Disable a test on BeOS.
62601
62602 2007-04-29  Bruno Haible  <bruno@clisp.org>
62603
62604         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
62605         This helps debugging on systems on which no gdb is available.
62606
62607 2007-04-29  Bruno Haible  <bruno@clisp.org>
62608
62609         * lib/freading.h: Improve comments.
62610         * lib/fwriting.h: Likewise.
62611         * tests/test-freading.c (main): Don't check freading immediately after
62612         repositioning. Needed for glibc.
62613
62614 2007-04-29  Bruno Haible  <bruno@clisp.org>
62615
62616         * lib/freading.c (freading): Trivial simplification.
62617
62618 2007-04-28  Bruno Haible  <bruno@clisp.org>
62619
62620         * tests/test-fwriting.c (main): Also test the interaction between
62621         fflush and fwriting.
62622         * modules/fwriting-tests (Depends-on): Add fflush.
62623
62624         * tests/test-freading.c (main): Also test the interaction between
62625         fflush and freading.
62626         * modules/freading-tests (Depends-on): Add fflush.
62627
62628 2007-04-28  Bruno Haible  <bruno@clisp.org>
62629
62630         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
62631         fseeko and ftello.
62632         Suggested by Eric Blake.
62633
62634 2007-04-28  Jim Meyering  <jim@meyering.net>
62635
62636         Avoid false-negative in gl_STDINT_H's C99 conformance test.
62637         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
62638         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
62639
62640 2007-04-27  Eric Blake  <ebb9@byu.net>
62641
62642         * doc/headers/assert.texi (assert.h): Document assert module use.
62643
62644 2007-04-27  Bruno Haible  <bruno@clisp.org>
62645
62646         * doc/headers/*.texi: New files.
62647         * doc/gnulib.texi (Header File Substitutes): New chapter.
62648         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
62649         dependencies.
62650         (standards.info ,standards.html, standards.dvi): Update dependencies.
62651         (mostlyclean, clean): New targets.
62652
62653 2007-04-27  Bruno Haible  <bruno@clisp.org>
62654
62655         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
62656         * modules/sysexits (Files, Makefile.am): Update.
62657
62658         * lib/sys_socket_.h: Renamed from lib/socket_.h.
62659         * modules/sys_socket (Files, Makefile.am): Update.
62660
62661         * lib/sys_stat_.h: Renamed from lib/stat_.h.
62662         * modules/sys_stat (Files, Makefile.am): Update.
62663
62664 2007-04-27  Eric Blake  <ebb9@byu.net>
62665
62666         * lib/freading.h: Improve comments.
62667         * lib/fwriting.h: Likewise.
62668         * lib/fflush.c: Likewise.
62669
62670         Fix closein for mingw.
62671         * modules/closein-tests: Add tests for closein.
62672         * tests/test-closein.c: New file.
62673         * tests/test-closein.sh: Likewise.
62674         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
62675         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
62676
62677 2007-04-27  Bruno Haible  <bruno@clisp.org>
62678
62679         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
62680         version is < 6.
62681         * lib/math_.h [__DECC]: Likewise.
62682         * lib/stdio_.h [__DECC]: Likewise.
62683         * lib/stdlib_.h [__DECC]: Likewise.
62684         * lib/string_.h [__DECC]: Likewise.
62685         * lib/time_.h [__DECC]: Likewise.
62686         * lib/wchar_.h [__DECC]: Likewise.
62687         * lib/wctype_.h [__DECC]: Likewise.
62688
62689 2007-04-27  Bruno Haible  <bruno@clisp.org>
62690
62691         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
62692
62693 2007-04-27  Bruno Haible  <bruno@clisp.org>
62694
62695         * lib/fflush.c: Add comments.
62696         * modules/fpurge-tests (Depends-on): Add fflush.
62697         * modules/freadable-tests (Depends-on): Likewise.
62698         * modules/fwritable-tests (Depends-on): Likewise.
62699
62700 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
62701
62702         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
62703         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
62704         Report by Bruno Haible <bruno@clisp.org>.
62705
62706 2007-04-26  Eric Blake  <ebb9@byu.net>
62707
62708         Fix fflush on mingw.
62709         * modules/fflush (Depends-on): Add freading.
62710         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
62711         but unread data.
62712
62713 2007-04-26  Eric Blake  <ebb9@byu.net>
62714         and Bruno Haible  <bruno@clisp.org>
62715
62716         Implement freading and fwriting.
62717         * lib/freading.c: New file.
62718         * lib/freading.h: Likewise.
62719         * m4/freading.m4: Likewise.
62720         * modules/freading: Likewise.
62721         * modules/freading-tests: Likewise.
62722         * tests/test-freading.c: Likewise.
62723         * lib/fwriting.c: New file.
62724         * lib/fwriting.h: Likewise.
62725         * m4/fwriting.m4: Likewise.
62726         * modules/fwriting: Likewise.
62727         * modules/fwriting-tests: Likewise.
62728         * tests/test-fwriting.c: Likewise.
62729         * MODULES.html.sh (File stream based Input/Output): Mention them.
62730
62731 2007-04-26  Bruno Haible  <bruno@clisp.org>
62732
62733         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
62734         'long' when we assume it.
62735         Suggested by Eric Blake.
62736
62737 2007-04-26  Bruno Haible  <bruno@clisp.org>
62738
62739         Ensure fseeko, ftello are declared on glibc systems.
62740         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
62741         * modules/fseeko (configure.ac-early): Likewise.
62742         * modules/ftello (configure.ac-early): Likewise.
62743         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
62744         AC_FUNC_FSEEKO for this.
62745         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
62746         (gl_CHECK_FSEEKO): Remove macro.
62747
62748 2007-04-26  Bruno Haible  <bruno@clisp.org>
62749
62750         * tests/test-fflush.c (main): Also check the ftell result after
62751         fflush and fseek/fseeko.
62752         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
62753         file descriptor position cache in the stream.
62754         * lib/fseeko.c (rpl_fseeko): Likewise.
62755
62756 2007-04-26  Bruno Haible  <bruno@clisp.org>
62757
62758         * modules/fflush-tests (Depends-on): Add fseeko.
62759
62760 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
62761             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62762
62763         * lib/argz_.h: ensure error_t definition is obtained in same
62764         mechanism system argz.h would have.
62765         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
62766         argz facilities are known bad.  Err on the side of caution if
62767         cross-compiling.
62768
62769 2007-04-25  Eric Blake  <ebb9@byu.net>
62770
62771         * lib/fpurge.c (includes): Use stdlib.h for free.
62772         * tests/test-fflush.c (main): Also test fflush-fseeko.
62773
62774 2007-04-25  Bruno Haible  <bruno@clisp.org>
62775
62776         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
62777         * lib/fseeko.c: New file.
62778         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
62779         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
62780         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
62781         gl_FUNC_FSEEKO.
62782         (gl_FUNC_FSEEKO): Invoke it.
62783         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
62784         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
62785         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
62786
62787 2007-04-25  Bruno Haible  <bruno@clisp.org>
62788
62789         * modules/fflush (Depends-on): Add ftello.
62790
62791 2007-04-25  Bruno Haible  <bruno@clisp.org>
62792
62793         * modules/ftello-tests: New file.
62794         * tests/test-ftello.c: New file.
62795
62796         * modules/ftello: New file.
62797         * m4/ftello.m4: New file.
62798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
62799         HAVE_FTELLO.
62800         * lib/stdio_.h (ftello): New declaration.
62801         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
62802         HAVE_FTELLO.
62803
62804 2007-04-25  Bruno Haible  <bruno@clisp.org>
62805
62806         * modules/fseeko-tests: New file.
62807         * tests/test-fseeko.c: New file.
62808
62809         * modules/fseeko: New file.
62810         * m4/fseeko.m4: New file.
62811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
62812         HAVE_FSEEKO.
62813         * lib/stdio_.h (fseeko): New declaration.
62814         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
62815         HAVE_FSEEKO.
62816
62817 2007-04-25  Bruno Haible  <bruno@clisp.org>
62818
62819         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
62820
62821 2007-04-25  Bruno Haible  <bruno@clisp.org>
62822
62823         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
62824         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
62825         * tests/test-unistd.c: Likewise.
62826         * tests/test-fcntl.c: Likewise.
62827
62828 2007-04-23  Eric Blake  <ebb9@byu.net>
62829
62830         * lib/fflush.c: Fix missing include.
62831         Reported by Bruno Haible.
62832
62833 2007-04-23  Bruno Haible  <bruno@clisp.org>
62834
62835         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
62836         Reported by Eric Blake.
62837
62838 2007-04-23  Bruno Haible  <bruno@clisp.org>
62839
62840         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
62841
62842 2007-04-23  Bruno Haible  <bruno@clisp.org>
62843
62844         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
62845
62846 2007-04-23  Bruno Haible  <bruno@clisp.org>
62847
62848         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
62849         Needed on HP-UX 11.
62850
62851 2007-04-16  Eric Blake  <ebb9@byu.net>
62852
62853         Make fflush rely on fpurge.
62854         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
62855         open coding all variants.
62856         * modules/fflush (Depends-on): Add fpurge and unistd.
62857         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
62858         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
62859
62860         Fix --with-tests compilation on cygwin.
62861         * modules/argmatch-tests (Makefile.am): List gnulib library first
62862         in LDADD.
62863         * modules/argp-tests (Makefile.am): Likewise.
62864         * modules/array-list-tests (Makefile.am): Likewise.
62865         * modules/array-oset-tests (Makefile.am): Likewise.
62866         * modules/avltree-list-tests (Makefile.am): Likewise.
62867         * modules/avltree-oset-tests (Makefile.am): Likewise.
62868         * modules/avltreehash-list-tests (Makefile.am): Likewise.
62869         * modules/carray-list-tests (Makefile.am): Likewise.
62870         * modules/dirname-tests (Makefile.am): Likewise.
62871         * modules/frexp-tests (Makefile.am): Likewise.
62872         * modules/isnanl-tests (Makefile.am): Likewise.
62873         * modules/linked-list-tests (Makefile.am): Likewise.
62874         * modules/linkedhash-list-tests (Makefile.am): Likewise.
62875         * modules/lock-tests (Makefile.am): Likewise.
62876         * modules/rbtree-list-tests (Makefile.am): Likewise.
62877         * modules/rbtree-oset-tests (Makefile.am): Likewise.
62878         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
62879         * modules/tls-tests (Makefile.am): Likewise.
62880         * modules/tsearch-tests (Makefile.am): Likewise.
62881         * modules/xvasprintf-tests (Makefile.am): Likewise.
62882
62883         Fix fpurge for cygwin.
62884         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
62885         value.
62886         * modules/fpurge-tests (Depends-on): Clean up trash.
62887
62888 2007-04-16  Simon Josefsson  <simon@josefsson.org>
62889
62890         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
62891
62892         * m4/autobuild.m4: Re-indent.
62893
62894 2007-04-13  Bruno Haible  <bruno@clisp.org>
62895
62896         * modules/fpurge-tests: New file.
62897         * tests/test-fpurge.c: New file.
62898
62899         * modules/fpurge: New file.
62900         * lib/fpurge.h: New file.
62901         * lib/fpurge.c: New file.
62902         * m4/fpurge.m4: New file.
62903
62904 2007-04-13  Bruno Haible  <bruno@clisp.org>
62905
62906         * modules/fbufmode-tests: New file.
62907         * tests/test-fbufmode.c: New file.
62908
62909         * modules/fbufmode: New file.
62910         * lib/fbufmode.h: New file.
62911         * lib/fbufmode.c: New file.
62912         * m4/fbufmode.m4: New file.
62913
62914 2007-04-13  Bruno Haible  <bruno@clisp.org>
62915
62916         * modules/fwritable-tests: New file.
62917         * tests/test-fwritable.c: New file.
62918
62919         * modules/fwritable: New file.
62920         * lib/fwritable.h: New file.
62921         * lib/fwritable.c: New file.
62922         * m4/fwritable.m4: New file.
62923
62924 2007-04-13  Bruno Haible  <bruno@clisp.org>
62925
62926         * modules/freadable-tests: New file.
62927         * tests/test-freadable.c: New file.
62928
62929         * modules/freadable: New file.
62930         * lib/freadable.h: New file.
62931         * lib/freadable.c: New file.
62932         * m4/freadable.m4: New file.
62933
62934 2007-04-13  Bruno Haible  <bruno@clisp.org>
62935
62936         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
62937         MOSTLYCLEANFILES.
62938
62939 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62940
62941         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
62942         gzip bootstrap.conf to avoid dragging in i18n machinery.
62943         (gnulib_tool_option): Use it.
62944
62945 2007-04-13  Bruno Haible  <bruno@clisp.org>
62946
62947         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
62948         %F directives.
62949         * tests/test-vasprintf-posix.c (test_function): Likewise.
62950         * tests/test-snprintf-posix.h (test_function): Likewise.
62951         * tests/test-sprintf-posix.h (test_function): Likewise.
62952         * tests/test-fprintf-posix.h (test_function): Likewise.
62953         * tests/test-printf-posix.h (test_function): Likewise.
62954         * tests/test-fprintf-posix.out: Likewise.
62955
62956 2007-04-13  Bruno Haible  <bruno@clisp.org>
62957
62958         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
62959         * modules/tls-tests (configure.ac): Likewise.
62960         Reported by Arto C. Nirkko <anirkko@insel.ch>.
62961
62962 2007-04-13  Bruno Haible  <bruno@clisp.org>
62963
62964         * lib/tls.c (glthread_tls_get): Fix return type.
62965         Patch by Arto C. Nirkko <anirkko@insel.ch>.
62966
62967 2007-04-12  Eric Blake  <ebb9@byu.net>
62968
62969         * modules/gettime (Depends-on): Remove gettime.
62970         Reported by Dmitry V. Levin.
62971
62972 2007-04-12  Bruno Haible  <bruno@clisp.org>
62973
62974         * modules/fflush (Include): Mention <stdio.h>.
62975         * modules/strtoimax (Include): Mention <inttypes.h>.
62976         * modules/strtoumax (Include): Likewise.
62977
62978 2007-04-12  Eric Blake  <ebb9@byu.net>
62979
62980         * .cvsignore: New file.
62981         * .gitignore: Likewise.
62982
62983 2007-04-12  Bruno Haible  <bruno@clisp.org>
62984
62985         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
62986         not before, since $(LDADD) often contains libgnu.a.
62987         * modules/striconv-tests (test_striconv_LDADD): Likewise.
62988         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
62989         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
62990         Needed on Cygwin.
62991
62992 2007-04-12  Eric Blake  <ebb9@byu.net>
62993
62994         Work around glibc's failure to flush stdin on fclose.
62995         * lib/closein.c (close_stdin): Flush stdin before closing.
62996
62997         Work around glibc's failure to reset seekable stdin on exit.
62998         * modules/closein: New module.
62999         * lib/closein.c: New file.
63000         * lib/closein.h: Likewise.
63001         * m4/closein.m4: Likewise.
63002         * MODULES.html.sh (File stream based Input/Output): Document it.
63003
63004 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63005
63006         * gnulib-tool: Rename generated 'autobuild' script to
63007         'do-autobuild' in --create-megatestdir output.
63008
63009         * doc/gnulib.texi (Build robot for gnulib): Fix.
63010
63011 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63012
63013         * modules/sysexits (Depends-on): Add absolute-header.
63014
63015 2007-04-12  Eric Blake  <ebb9@byu.net>
63016
63017         No need to preserve errno on success.
63018         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
63019         Reported by Bruno Haible.
63020
63021 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63022
63023         * MODULES.html.sh (Support for maintaining and releasing
63024         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
63025
63026 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63027
63028         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
63029
63030 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63031
63032         * modules/autobuild: New module.
63033
63034         * m4/autobuild.m4: New file.
63035
63036 2007-04-11  Bruno Haible  <bruno@clisp.org>
63037
63038         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
63039         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
63040         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
63041         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
63042         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63043         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63044         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63045         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63046         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63047         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63048         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
63049         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63050         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63051         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
63052         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63053         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63054         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
63055         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63056         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63057         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
63058         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63059         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63060         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
63061         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63062         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63063         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
63064         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63065         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63066         Reported by Eric Blake.
63067
63068 2007-04-11  Bruno Haible  <bruno@clisp.org>
63069
63070         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
63071
63072 2007-04-10  Bruno Haible  <bruno@clisp.org>
63073
63074         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
63075         for NaN and Infinity. Needed on FreeBSD 6.1.
63076         * tests/test-vasnprintf-posix.c (test_function): Undo last change
63077         regarding results for "%010a" of Infinity and NaN.
63078         * tests/test-vasprintf-posix.c (test_function): Likewise.
63079         * tests/test-snprintf-posix.h (test_function): Likewise.
63080         * tests/test-sprintf-posix.h (test_function): Likewise.
63081         * tests/test-fprintf-posix.h (test_function): Likewise.
63082         * tests/test-printf-posix.h (test_function): Likewise.
63083         * tests/test-fprintf-posix.out: Likewise.
63084
63085 2007-04-10  Bruno Haible  <bruno@clisp.org>
63086
63087         * modules/locale-tests: New file.
63088         * tests/test-locale.c: New file.
63089
63090         * modules/locale: New file.
63091         * lib/locale_.h: New file.
63092         * m4/locale_h.m4: New file.
63093
63094 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
63095             Bruno Haible  <bruno@clisp.org>
63096
63097         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
63098         be determined, test for availability of the copysignf, copysign,
63099         copysignl functions.
63100         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
63101         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
63102         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
63103
63104 2007-04-09  Eric Blake  <ebb9@byu.net>
63105
63106         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
63107         * modules/stdio (Makefile.am): Support fflush.
63108         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63109         * modules/fflush: New file.
63110         * lib/fflush.c: Likewise.
63111         * m4/fflush.m4: Likewise.
63112         * modules/fflush-tests: New test.
63113         * tests/test-fflush.c: Likewise.
63114         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
63115
63116 2007-04-06  Bruno Haible  <bruno@clisp.org>
63117
63118         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
63119         (VASNPRINTF): Use signbit for faster determination whether to print a
63120         minus sign.
63121         * modules/vasnprintf (Files): Remove lib/float+.h.
63122         * modules/fprintf-posix (Depends-on): Add signbit.
63123         * modules/snprintf-posix (Depends-on): Likewise.
63124         * modules/sprintf-posix (Depends-on): Likewise.
63125         * modules/vasnprintf-posix (Depends-on): Likewise.
63126         * modules/vasprintf-posix (Depends-on): Likewise.
63127         * modules/vfprintf-posix (Depends-on): Likewise.
63128         * modules/vsnprintf-posix (Depends-on): Likewise.
63129         * modules/vsprintf-posix (Depends-on): Likewise.
63130
63131 2007-04-06  Bruno Haible  <bruno@clisp.org>
63132
63133         * tests/test-frexp.c (main): Test also the sign bit of zero results.
63134         * tests/test-frexpl.c (main): Likewise.
63135         * tests/test-ldexpl.c (main): Likewise.
63136         * modules/frexp-tests (Depends-on): Add signbit.
63137         * modules/frexpl-tests (Depdends-on): Likewise.
63138         * modules/ldexpl-tests (Depdends-on): Likewise.
63139
63140 2007-04-06  Bruno Haible  <bruno@clisp.org>
63141
63142         * modules/signbit-tests: New file.
63143         * tests/test-signbit.c: New file.
63144
63145         * modules/signbit: New file.
63146         * lib/signbitf.c: New file.
63147         * lib/signbitd.c: New file.
63148         * lib/signbitl.c: New file.
63149         * m4/signbit.m4: New file.
63150         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
63151         (signbit): New macro.
63152         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
63153         REPLACE_SIGNBIT.
63154         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
63155         REPLACE_FREXPL into math.h.
63156
63157 2007-04-06  Bruno Haible  <bruno@clisp.org>
63158
63159         * modules/isnanf-nolibm-tests: New file.
63160         * tests/test-isnanf.c: New file.
63161
63162         * modules/isnanf-nolibm: New file.
63163         * lib/isnanf.h: New file.
63164         * lib/isnanf.c: New file.
63165         * lib/isnan.c: Consider the USE_FLOAT macro.
63166         * m4/isnanf.m4: New file.
63167
63168 2007-04-06  Bruno Haible  <bruno@clisp.org>
63169
63170         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
63171         (Link): New section.
63172
63173         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
63174
63175 2007-04-06  Bruno Haible  <bruno@clisp.org>
63176
63177         Assume the 'long double' type.
63178         * m4/longdouble.m4: Remove file.
63179         * config/srclist.txt: Don't mention longdouble.m4.
63180         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
63181         * lib/float+.h: Likewise.
63182         * lib/frexp.c: Likewise.
63183         * lib/printf-args.h: Likewise.
63184         * lib/printf-args.c: Likewise.
63185         * lib/printf-frexp.c: Likewise.
63186         * lib/printf-parse.c: Likewise.
63187         * lib/vasnprintf.c: Likewise.
63188         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
63189         * m4/intl.m4: Likewise.
63190         * m4/isnanl.m4: Likewise.
63191         * m4/printf.m4: Likewise.
63192         * m4/printf-frexpl.m4: Likewise.
63193         * m4/vasnprintf.m4: Likewise.
63194         * modules/allocsa (Files): Remove m4/longdouble.m4.
63195         * modules/gettext (Files): Likewise.
63196         * modules/relocatable-prog-wrapper (Files): Likewise.
63197         * modules/vasnprintf (Files): Likewise.
63198         * modules/isnanl (Files): Likewise.
63199         (Include): Simplify.
63200         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
63201         (Include): Simplify.
63202         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
63203         (Include): Simplify.
63204         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
63205         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63206         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
63207         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63208         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63209         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63210         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
63211         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63212         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63213         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63214         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
63215         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63216         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
63217         * tests/test-isnanl.c: Likewise.
63218         * tests/test-snprintf-posix.h: Likewise.
63219         * tests/test-sprintf-posix.h: Likewise.
63220         * tests/test-vasnprintf-posix.c: Likewise.
63221         * tests/test-vasnprintf-posix2.c: Likewise.
63222         * tests/test-vasprintf-posix.c: Likewise.
63223
63224 2007-04-06  Bruno Haible  <bruno@clisp.org>
63225
63226         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
63227         * lib/math_.h [__DECC]: Include the overridden include file through
63228         #include_next, outside the double-inclusion guard.
63229         * lib/stdio_.h [__DECC]: Likewise.
63230         * lib/stdlib_.h [__DECC]: Likewise.
63231         * lib/string_.h [__DECC]: Likewise.
63232         * lib/time_.h [__DECC]: Likewise.
63233         * lib/wchar_.h [__DECC]: Likewise.
63234         * lib/wctype_.h [__DECC]: Likewise.
63235         * lib/inttypes_.h [__DECC]: Likewise.
63236         Reported by Albert Chin <china@thewrittenword.com> in
63237         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
63238
63239 2007-04-04  Eric Blake  <ebb9@byu.net>
63240
63241         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
63242         1.5.x.
63243
63244 2007-04-04  Bruno Haible  <bruno@clisp.org>
63245
63246         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
63247         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
63248
63249 2007-04-04  Bruno Haible  <bruno@clisp.org>
63250
63251         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
63252         results for "%010a" of Infinity and NaN.
63253         * tests/test-vasprintf-posix.c (test_function): Likewise.
63254         * tests/test-snprintf-posix.h (test_function): Likewise.
63255         * tests/test-sprintf-posix.h (test_function): Likewise.
63256         * tests/test-fprintf-posix.h (test_function): Remove these tests.
63257         * tests/test-printf-posix.h (test_function): Likewise.
63258         * tests/test-fprintf-posix.out: Update.
63259         Needed for FreeBSD 6.1.
63260
63261 2007-04-04  Bruno Haible  <bruno@clisp.org>
63262
63263         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
63264         directly used by the gnulib modules nor by gnulib-tool.
63265
63266 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
63267
63268         * DEPENDENCIES: Give overall description of version dependency
63269         desirability.  Use more-typical names for apps.
63270         Add shell, coreutils, diffutils, grep, tar, gzip.
63271
63272 2007-04-04  Simon Josefsson  <simon@josefsson.org>
63273
63274         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
63275
63276 2007-04-04  Karl Berry  <karl@gnu.org>
63277
63278         * MODULES.html.sh (func_module): missing '.
63279
63280 2007-04-03  Bruno Haible  <bruno@clisp.org>
63281
63282         * modules/argmatch-tests (Makefile.am): New variable
63283         test_argmatch_LDADD.
63284         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
63285         * modules/array-list-tests (Makefile.am): New variable
63286         test_array_list_LDADD.
63287         * modules/array-oset-tests (Makefile.am): New variable
63288         test_array_oset_LDADD.
63289         * modules/avltree-list-tests (Makefile.am): New variable
63290         test_avltree_list_LDADD.
63291         * modules/avltree-oset-tests (Makefile.am): New variable
63292         test_avltree_oset_LDADD.
63293         * modules/avltreehash-list-tests (Makefile.am): New variable
63294         test_avltreehash_list_LDADD.
63295         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
63296         test_canonicalize_lgpl_LDADD.
63297         * modules/carray-list-tests (Makefile.am): New variable
63298         test_carray_list_LDADD.
63299         * modules/dirname-tests (Makefile.am): New variable
63300         test_dirname_LDADD.
63301         * modules/linked-list-tests (Makefile.am): New variable
63302         test_linked_list_LDADD.
63303         * modules/linkedhash-list-tests (Makefile.am): New variable
63304         test_linkedhash_list_LDADD.
63305         * modules/rbtree-list-tests (Makefile.am): New variable
63306         test_rbtree_list_LDADD.
63307         * modules/rbtree-oset-tests (Makefile.am): New variable
63308         test_rbtree_oset_LDADD.
63309         * modules/rbtreehash-list-tests (Makefile.am): New variable
63310         test_rbtreehash_list_LDADD.
63311         * modules/xvasprintf-tests (Makefile.am): New variable
63312         test_xvasprintf_LDADD.
63313         Reported by Eric Blake.
63314
63315 2007-04-03  Eric Blake  <ebb9@byu.net>
63316
63317         * DEPENDENCIES: Weaken m4 requirements.
63318
63319 2007-04-03  Bruno Haible  <bruno@clisp.org>
63320
63321         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
63322         * modules/isnanl-tests (configure.ac): Likewise.
63323
63324 2007-04-03  Ben Pfaff  <blp@gnu.org>
63325
63326         * modules/iconv_open: Add $(srcdir)/ to source directory
63327         references in Makefile fragments that call gperf, to fix VPATH
63328         builds.
63329
63330 2007-04-03  Bruno Haible  <bruno@clisp.org>
63331
63332         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
63333         * lib/ldexpl.c: Undo last change.
63334
63335 2007-04-03  Bruno Haible  <bruno@clisp.org>
63336
63337         * modules/printf-frexpl (Depends-on): Undo last change.
63338         (Files): Add m4/ldexpl.m4.
63339
63340 2007-04-03  Bruno Haible  <bruno@clisp.org>
63341
63342         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
63343         * modules/isnanl (Link): New section.
63344
63345         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
63346         * modules/frexp (Link): New section.
63347
63348         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
63349         * modules/frexpl (Link): New section.
63350
63351         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
63352         * modules/ldexpl (Link): New section.
63353
63354 2007-04-03  Bruno Haible  <bruno@clisp.org>
63355
63356         * modules/TEMPLATE-EXTENDED: New file.
63357         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
63358
63359 2007-04-03  Bruno Haible  <bruno@clisp.org>
63360
63361         * DEPENDENCIES: New file.
63362         Suggested by Simon Josefsson.
63363
63364 2007-04-03  Bruno Haible  <bruno@clisp.org>
63365
63366         * doc/gnulib.texi: Escape @.
63367
63368 2007-04-03  James Youngman  <jay@gnu.org>
63369         and Paul Eggert  <eggert@cs.ucla.edu>
63370
63371         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
63372         birthtime on all systems that have birthtime, not just those which
63373         use st_birthtimensec rather than st_birthtim.  Putting zero in
63374         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
63375         that the birth time is not available for files on an NFS mount.
63376
63377 2007-04-03  Simon Josefsson  <simon@josefsson.org>
63378
63379         * modules/memxor: Move back from crypto/, suggested by Bruno.
63380         * modules/crypto/hmac-sha1: Fix memxor dependency.
63381
63382         * modules/crypto/gc: Moved from ../.
63383
63384 2007-04-02  Eric Blake  <ebb9@byu.net>
63385
63386         * lib/ldexpl.c (includes): Avoid libm.
63387
63388         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
63389
63390 2007-04-02  Bruno Haible  <bruno@clisp.org>
63391
63392         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
63393         on IRIX.
63394
63395 2007-04-02  Bruno Haible  <bruno@clisp.org>
63396
63397         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
63398         x86 or x86_64 platforms running MacOS X.
63399         Reported by Ryan Schmidt <@ryandesign.com>.
63400
63401 2007-04-02  Bruno Haible  <bruno@clisp.org>
63402
63403         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
63404         i386.
63405
63406 2007-04-01  Simon Josefsson  <simon@josefsson.org>
63407
63408         * modules/crypto/arcfour: Moved from ../.
63409         * modules/crypto/arcfour-tests: Moved from ../.
63410         * modules/crypto/arctwo: Moved from ../.
63411         * modules/crypto/arctwo-tests: Moved from ../.
63412         * modules/crypto/des: Moved from ../.
63413         * modules/crypto/des-tests: Moved from ../.
63414         * modules/crypto/gc-arcfour: Moved from ../.
63415         * modules/crypto/gc-arcfour-tests: Moved from ../.
63416         * modules/crypto/gc-arctwo: Moved from ../.
63417         * modules/crypto/gc-arctwo-tests: Moved from ../.
63418         * modules/crypto/gc-des: Moved from ../.
63419         * modules/crypto/gc-des-tests: Moved from ../.
63420         * modules/crypto/gc-hmac-md5: Moved from ../.
63421         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
63422         * modules/crypto/gc-hmac-sha1: Moved from ../.
63423         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
63424         * modules/crypto/gc-md2: Moved from ../.
63425         * modules/crypto/gc-md2-tests: Moved from ../.
63426         * modules/crypto/gc-md4: Moved from ../.
63427         * modules/crypto/gc-md4-tests: Moved from ../.
63428         * modules/crypto/gc-md5: Moved from ../.
63429         * modules/crypto/gc-md5-tests: Moved from ../.
63430         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
63431         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
63432         * modules/crypto/gc-random: Moved from ../.
63433         * modules/crypto/gc-rijndael: Moved from ../.
63434         * modules/crypto/gc-rijndael-tests: Moved from ../.
63435         * modules/crypto/gc-sha1: Moved from ../.
63436         * modules/crypto/gc-sha1-tests: Moved from ../.
63437         * modules/crypto/gc-tests: Moved from ../.
63438         * modules/crypto/hmac-md5: Moved from ../.
63439         * modules/crypto/hmac-md5-tests: Moved from ../.
63440         * modules/crypto/hmac-sha1: Moved from ../.
63441         * modules/crypto/hmac-sha1-tests: Moved from ../.
63442         * modules/crypto/md2: Moved from ../.
63443         * modules/crypto/md2-tests: Moved from ../.
63444         * modules/crypto/md4: Moved from ../.
63445         * modules/crypto/md4-tests: Moved from ../.
63446         * modules/crypto/md5: Moved from ../.
63447         * modules/crypto/md5-tests: Moved from ../.
63448         * modules/crypto/memxor: Moved from ../.
63449         * modules/crypto/rijndael: Moved from ../.
63450         * modules/crypto/rijndael-tests: Moved from ../.
63451         * modules/crypto/sha1: Moved from ../.
63452
63453 2007-03-30  James Youngman  <jay@gnu.org>
63454
63455         * tests/test-stat-time.c (prepare_test): use chmod() rather than
63456         rename() to change the ctime of a file (because ctime is unaffected
63457         by rename on jfs2 on AIX 5.1).
63458         (main): Start by doing cleanup, in case a previous run failed leaving
63459         test files behind.
63460
63461 2007-03-31  Bruno Haible  <bruno@clisp.org>
63462
63463         Support old proprietary implementations of iconv.
63464         * modules/iconv_open: New file.
63465         * lib/iconv_.h: New file.
63466         * m4/iconv_h.m4: New file.
63467         * lib/iconv_open.c: New file.
63468         * lib/iconv_open-aix.gperf: New file.
63469         * lib/iconv_open-hpux.gperf: New file.
63470         * lib/iconv_open-irix.gperf: New file.
63471         * lib/iconv_open-osf.gperf: New file.
63472         * m4/iconv_open.m4: New file.
63473         * modules/linebreak (Depends-on): Add iconv_open.
63474         * modules/striconv (Depends-on): Likewise.
63475         * modules/striconveh (Depends-on): Likewise.
63476         * modules/unicodeio (Depends-on): Likewise.
63477         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
63478         (iconv_t)(-1).
63479         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
63480         conversion if cd is (iconv_t)(-1).
63481         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
63482         is not possible.
63483
63484 2007-03-31  Bruno Haible  <bruno@clisp.org>
63485
63486         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63487         work on Solaris either. Protect also second use of "autodetect_jp".
63488
63489 2007-03-31  Bruno Haible  <bruno@clisp.org>
63490
63491         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
63492         the function is not present.
63493
63494 2007-03-31  Bruno Haible  <bruno@clisp.org>
63495
63496         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
63497         the function is not present.
63498
63499 2007-03-31  Bruno Haible  <bruno@clisp.org>
63500
63501         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
63502         a bug in HP-UX iconv_open().
63503
63504 2007-03-31  Bruno Haible  <bruno@clisp.org>
63505
63506         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
63507         (Mathematics <math.h>): New section, add fpieee.
63508         (Input/output <stdio.h>): Add fseterr.
63509         (Mathematics <math.h>): New section, add printf-frexp.
63510         (Container data structures): Add sublist.
63511         (Core language properties): Add fpucw, inline.
63512         (Functions for greatest-width integer types <inttypes.h>): Add
63513         imaxabs, imaxdiv, inttypes.
63514         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
63515         isnanl-nolibm, ldexp.
63516         (Mathematics <math.h>): New section, add printf-frexpl.
63517         (Support for systems lacking POSIX:2001): Add fprintf-posix,
63518         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
63519         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
63520         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
63521         (Unicode string functions): Add unistr/u*-mbtoucr.
63522         (Java): Add javacomp-script, javaexec-script.
63523         (C#): Add csharpcomp-script, csharpexec-script.
63524         (Support for building libraries and executables): Add havelib,
63525         relocatable-*.
63526         (Support for maintaining and releasing projects): Renamed from
63527         'Support for maintaining and release projects'. Add announce-gen.
63528
63529 2007-03-31  Bruno Haible  <bruno@clisp.org>
63530
63531         * README: Talk primarily about git.
63532         (git and CVS): Renamed from CVS.
63533         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
63534         gnulib is available through git.
63535         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
63536
63537 2007-03-30  Bruno Haible  <bruno@clisp.org>
63538
63539         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
63540         * lib/poll_.h: Likewise.
63541         * lib/stat_.h: Likewise.
63542         * lib/sys_time_.h: Likewise.
63543         * lib/sysexit_.h: Likewise.
63544         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
63545         * lib/stdbool_.h: Likewise.
63546         * lib/byteswap_.h: Add double-inclusion guard.
63547
63548 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
63549
63550         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
63551
63552 2007-03-30  Karl Berry  <karl@gnu.org>
63553
63554         * config/srclist-update: double space after USA in the license
63555         substitution, since that's how it's usually (?) written.
63556
63557 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
63558
63559         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
63560         reported by Bruno Haible.
63561
63562 2007-03-29  Bruno Haible  <bruno@clisp.org>
63563
63564         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
63565         a bug in AIX iconv().
63566
63567 2007-03-29  Bruno Haible  <bruno@clisp.org>
63568
63569         * modules/ldexpl-tests: New file.
63570         * tests/test-ldexpl.c: New file.
63571
63572 2007-03-29  Bruno Haible  <bruno@clisp.org>
63573
63574         * lib/ldexpl.c: Include fpucw.h.
63575         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
63576         multiplication.
63577         * modules/ldexpl (Depends-on): Add fpucw.
63578
63579 2007-03-29  Bruno Haible  <bruno@clisp.org>
63580
63581         * modules/ldexpl: New file.
63582         * m4/ldexpl.m4: New file.
63583         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
63584         set.
63585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
63586         REPLACE_LDEXPL.
63587         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
63588         REPLACE_LDEXPL.
63589         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63590         gl_FUNC_LDEXPL_WORKS.
63591         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
63592         * modules/mathl (Files): Remove lib/ldexpl.c.
63593         (Depends-on): Add ldexpl.
63594
63595 2007-03-29  Bruno Haible  <bruno@clisp.org>
63596
63597         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
63598
63599 2007-03-29  Bruno Haible  <bruno@clisp.org>
63600
63601         * tests/test-striconveh.c (main): Don't assume that a direct conversion
63602         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
63603         and possibly also HP-UX.
63604         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63605         work on AIX, IRIX, HP-UX, OSF/1.
63606         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63607         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63608         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63609         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63610         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
63611         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63612
63613 2007-03-29  Bruno Haible  <bruno@clisp.org>
63614
63615         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
63616
63617 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63618
63619         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
63620         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
63621
63622 2007-03-29  Eric Blake  <ebb9@byu.net>
63623
63624         * lib/acl-internal.h: Remove redundant include.
63625         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
63626         Cygwin when a file is locked.
63627
63628 2007-03-29  Bruno Haible  <bruno@clisp.org>
63629
63630         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
63631         file.
63632         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
63633
63634 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63635
63636         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
63637         try to remove a parent directory if the child couldn't be removed
63638         (except for the first rmdir, which could fail because the child
63639         doesn't exist).  Problem reported by Jeff Blaine in
63640         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
63641
63642 2007-03-28  Bruno Haible  <bruno@clisp.org>
63643
63644         * lib/striconveh.c (utf8conv_carefully): New function.
63645         (mem_cd_iconveh_internal): Invoke it.
63646
63647 2007-03-28  Bruno Haible  <bruno@clisp.org>
63648
63649         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
63650         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
63651         input.
63652         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
63653         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
63654         unistr/u8-uctomb.
63655
63656 2007-03-28  Bruno Haible  <bruno@clisp.org>
63657
63658         * modules/unistr/u8-mbtoucr: New file.
63659         * lib/unistr/u8-mbtoucr.c: New file.
63660         * modules/unistr/u16-mbtoucr: New file.
63661         * lib/unistr/u16-mbtoucr.c: New file.
63662         * modules/unistr/u16-mbtoucr: New file.
63663         * lib/unistr/u16-mbtoucr.c: New file.
63664         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
63665
63666 2007-03-27  Simon Josefsson  <simon@josefsson.org>
63667             Bruno Haible  <bruno@clisp.org>
63668
63669         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
63670         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
63671         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
63672
63673         * m4/stdio_h.m4: Add stubs for vasprintf too.
63674
63675         * modules/stdio: Support vasprintf in sed command.
63676
63677         * modules/vasprintf: Depend on stdio for prototypes.  Remove
63678         vasprintf.h.  Add stdio module indicator.
63679
63680         * lib/stdio_.h: Declare asprintf and vasprintf, based on
63681         vasprintf.h.
63682
63683         * lib/vasprintf.h: File removed.
63684
63685         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
63686         * lib/vasprintf.c: Ditto.
63687         * lib/xvasprintf.c: Ditto.
63688         * tests/test-vasprintf-posix.c: Ditto.
63689         * tests/test-vasprintf.c: Ditto.
63690
63691 2007-03-27  Bruno Haible  <bruno@clisp.org>
63692
63693         Make vasnprintf multithread-safe.
63694         * lib/vasnprintf.c (decimal_point_char): New function.
63695         (VASNPRINTF): Use it.
63696         Suggested by Simon Josefsson.
63697
63698 2007-03-27  Eric Blake  <ebb9@byu.net>
63699
63700         Support sub-second birthtime on cygwin.
63701         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
63702         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
63703         (get_stat_birthtime): Also work with st_birthtim.
63704
63705 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
63706
63707         * lib/stat-time.h (USE_BIRTHTIME): Remove.
63708         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
63709         (get_stat_birthtime_ns): Do not try to use "spare" fields.
63710         (get_stat_birthtime_ns): Simplify compile-time tests.
63711         (get_stat_birthtime): Change the API to look like
63712         get_stat_mtime etc., except return a negative tv_nsec on error.
63713         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
63714         Don't check for "spare" fields.
63715         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
63716         or for struct stat.st_birthtime, as these tests aren't used.
63717         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
63718
63719 2007-03-27  Bruno Haible  <bruno@clisp.org>
63720
63721         * lib/stat-time.h: Include <sys/stat.h>.
63722
63723 2007-03-27  James Youngman  <jay@gnu.org>
63724
63725         * lib/stat-time.h (get_stat_birthtime): New function for
63726           retrieving st_birthtime as provided by UFS2 (hence *BSD).
63727         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
63728           and its variants.
63729         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
63730         * modules/stat-time-test: New file.
63731         * tests/test-stat-time.c: New test, devised by Bruno Haible.
63732
63733 2007-03-26  Bruno Haible  <bruno@clisp.org>
63734
63735         Better support of signalling NaNs.
63736         * lib/atanl.c: Include isnanl.h.
63737         (atanl): Perform test for NaN at the beginning of the function and
63738         through a call to isnanl.
63739         * lib/cosl.c: Include isnanl.h.
63740         (cosl): Perform test for NaN at the beginning of the function and
63741         through a call to isnanl.
63742         * lib/ldexpl.c: Include isnanl.h.
63743         (ldexpl): Perform test for NaN through a call to isnanl.
63744         * lib/logl.c: Include isnanl.h.
63745         (logl): Perform test for NaN at the beginning of the function and
63746         through a call to isnanl.
63747         * lib/sinl.c: Include isnanl.h.
63748         (sinl): Perform test for NaN at the beginning of the function and
63749         through a call to isnanl.
63750         * lib/sqrtl.c: Include isnanl.h.
63751         (sqrtl): Perform test for NaN at the beginning of the function and
63752         through a call to isnanl.
63753         * lib/tanl.c: Include isnanl.h.
63754         (tanl): Perform test for NaN at the beginning of the function and
63755         through a call to isnanl.
63756         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
63757         * modules/mathl (Depends-on): Add isnanl.
63758
63759 2007-03-26  Eric Blake  <ebb9@byu.net>
63760
63761         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
63762         regression in logic sense of previous patch.
63763
63764 2007-03-26  Bruno Haible  <bruno@clisp.org>
63765
63766         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
63767         unportable shell command "if ! ...".
63768         Reported by Ralf Wildenhues.
63769
63770 2007-03-25  Bruno Haible  <bruno@clisp.org>
63771
63772         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
63773         <sysexits.h> file, and only add EX_CONFIG.
63774         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
63775         absolute file name and whether it is sufficient. Substitute also
63776         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
63777         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
63778         ABSOLUTE_SYSEXITS_H into sysexits.h.
63779
63780 2007-03-25  Bruno Haible  <bruno@clisp.org>
63781
63782         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
63783         hints is NULL.
63784
63785 2007-03-25  Bruno Haible  <bruno@clisp.org>
63786
63787         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
63788         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
63789
63790 2007-03-25  Bruno Haible  <bruno@clisp.org>
63791
63792         * lib/vasnprintf.c: Include langinfo.h.
63793         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
63794         multithread-safe.
63795         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
63796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
63797         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63798         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63799         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63800         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63801         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63802         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
63803         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63804         Reported by Simon Josefsson.
63805
63806 2007-03-25  Bruno Haible  <bruno@clisp.org>
63807
63808         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
63809         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
63810         * modules/vasnprintf (Depends-on): Add stdint.
63811
63812 2007-03-25  Bruno Haible  <bruno@clisp.org>
63813
63814         * modules/fpieee: New file.
63815         * m4/fpieee.m4: New file.
63816         * modules/isnan-nolibm (Depends-on): Add fpieee.
63817         * modules/isnanl-nolibm (Depends-on): Add fpieee.
63818         * modules/isnanl (Depends-on): Add fpieee.
63819
63820 2007-03-25  Bruno Haible  <bruno@clisp.org>
63821
63822         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
63823
63824 2007-03-25  Bruno Haible  <bruno@clisp.org>
63825
63826         Avoid test failures on IRIX 6.5.
63827         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
63828         (main): Use it.
63829         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
63830         macros.
63831         (main): Use them.
63832
63833 2007-03-25  Bruno Haible  <bruno@clisp.org>
63834
63835         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
63836         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
63837         exists but doesn't work.
63838         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
63839         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
63840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
63841         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
63842         math.h.
63843
63844 2007-03-25  Bruno Haible  <bruno@clisp.org>
63845
63846         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
63847         returns inf. Needed on IRIX 6.5.
63848
63849 2007-03-25  Bruno Haible  <bruno@clisp.org>
63850
63851         * tests/test-frexpl.c: Include isnanl-nolibm.h.
63852         (main): Use isnanl instead of x != x idiom.
63853         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
63854
63855         * tests/test-frexp.c: Include isnan.h.
63856         (main): Use isnan instead of x != x idiom.
63857         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
63858
63859 2007-03-25  Bruno Haible  <bruno@clisp.org>
63860
63861         * tests/test-frexp.c (NaN): New function/macro.
63862         (main): Use it instead of 0.0 / 0.0.
63863         * tests/test-isnan.c (NaN): New function/macro.
63864         (main): Use it instead of 0.0 / 0.0.
63865         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
63866         (test_function): Use it instead of 0.0 / 0.0.
63867         * tests/test-vasprintf-posix.c (NaN): New function/macro.
63868         (test_function): Use it instead of 0.0 / 0.0.
63869         * tests/test-snprintf-posix.h (NaN): New function/macro.
63870         (test_function): Use it instead of 0.0 / 0.0.
63871         * tests/test-sprintf-posix.h (NaN): New function/macro.
63872         (test_function): Use it instead of 0.0 / 0.0.
63873         * tests/test-fprintf-posix.h (NaN): New function/macro.
63874         (test_function): Use it instead of 0.0 / 0.0.
63875         * tests/test-printf-posix.h (NaN): New function/macro.
63876         (test_function): Use it instead of 0.0 / 0.0.
63877
63878         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
63879
63880 2007-03-25  Bruno Haible  <bruno@clisp.org>
63881
63882         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
63883
63884 2007-03-25  Bruno Haible  <bruno@clisp.org>
63885
63886         * lib/regexec.c (merge_state_with_log): Make static.
63887
63888 2007-03-25  Bruno Haible  <bruno@clisp.org>
63889
63890         * lib/trigl.c (kernel_rem_pio2): Make static.
63891
63892 2007-03-25  Bruno Haible  <bruno@clisp.org>
63893
63894         * lib/sincosl.c (sincosl_table): Make static.
63895
63896 2007-03-25  Bruno Haible  <bruno@clisp.org>
63897
63898         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
63899         if the compiler does not support C99.
63900
63901 2007-03-25  Bruno Haible  <bruno@clisp.org>
63902
63903         * modules/time (Makefile.am): Ensure all rule action lines start with a
63904         tab.
63905
63906 2007-03-24  Bruno Haible  <bruno@clisp.org>
63907
63908         * modules/tsearch-tests: New file.
63909         * tests/test-tsearch.sh: New file.
63910         * tests/test-tsearch.c: New file, mostly copied from glibc.
63911
63912         * modules/search-tests: New file.
63913         * tests/test-search.c: New file.
63914
63915         * modules/search: New file.
63916         * lib/search_.h: New file, incorporating lib/tsearch.h.
63917         * m4/search_h.m4: New file.
63918         * lib/tsearch.h: Remove file.
63919         * lib/tsearch.c: Include search.h instead of tsearch.h.
63920         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
63921         HAVE_TSEARCH.
63922         * modules/tsearch (Files): Remove lib/tsearch.h.
63923         (Depends-on): Add search.
63924         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
63925         (Include): Change tsearch.h into search.h.
63926
63927 2007-03-24  Bruno Haible  <bruno@clisp.org>
63928
63929         * modules/fpucw: New file.
63930         * lib/fpucw.h: New file.
63931         * lib/frexp.c: Include fpucw.h.
63932         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63933         (FUNC): Use them.
63934         * lib/printf-frexp.c: Include fpucw.h.
63935         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63936         (FUNC): Use them.
63937         * lib/vasnprintf.c: Include fpucw.h.
63938         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
63939         'long double' calculations.
63940         * tests/test-frexpl.c: Include fpucw.h.
63941         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63942         * tests/test-printf-frexpl.c: Include fpucw.h.
63943         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63944         * modules/frexpl (Depends-on): Add fpucw.
63945         * modules/printf-frexpl (Depends-on): Likewise.
63946         * modules/fprintf-posix (Depends-on): Likewise.
63947         * modules/snprintf-posix (Depends-on): Likewise.
63948         * modules/sprintf-posix (Depends-on): Likewise.
63949         * modules/vasnprintf-posix (Depends-on): Likewise.
63950         * modules/vasprintf-posix (Depends-on): Likewise.
63951         * modules/vfprintf-posix (Depends-on): Likewise.
63952         * modules/vsnprintf-posix (Depends-on): Likewise.
63953         * modules/vsprintf-posix (Depends-on): Likewise.
63954         * modules/frexpl-tests (Depends-on): Likewise.
63955         * modules/printf-frexpl-tests (Depends-on): Likewise.
63956
63957 2007-03-24  Bruno Haible  <bruno@clisp.org>
63958
63959         * lib/float+.h: New file.
63960         * lib/isnan.c: Include float+.h.
63961         (SIZE): New macro.
63962         (FUNC): Compare only SIZE bytes of the value.
63963         * lib/vasnprintf.c: Include float+.h.
63964         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
63965         SIZEOF_LDBL or SIZEOF_DBL bytes.
63966         * modules/isnan-nolibm (Files): Add lib/float+.h.
63967         * modules/isnanl-nolibm (Files): Add lib/float+.h.
63968         * modules/isnanl (Files): Add lib/float+.h.
63969         * modules/vasnprintf (Files): Add lib/float+.h.
63970
63971 2007-03-24  Bruno Haible  <bruno@clisp.org>
63972
63973         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
63974         include isnanl-nolibm.h.
63975
63976 2007-03-24  Bruno Haible  <bruno@clisp.org>
63977
63978         * tests/test-read-file.c (main): Don't produce spurious output for
63979         expected situations. Make the test fail if it encountered unexpected
63980         results.
63981
63982 2007-03-24  Bruno Haible  <bruno@clisp.org>
63983
63984         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
63985         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
63986
63987 2007-03-24  Bruno Haible  <bruno@clisp.org>
63988
63989         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
63990
63991 2007-03-24  Bruno Haible  <bruno@clisp.org>
63992
63993         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
63994         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
63995
63996         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
63997         * modules/utf8-ucs4: Turn into a symbolic link to module
63998         unistr/u8-mbtouc.
63999
64000         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
64001         utf8-ucs4-unsafe.
64002         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
64003         unistr/u8-mbtouc-unsafe.
64004
64005         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
64006         * modules/utf16-ucs4: Turn into a symbolic link to module
64007         unistr/u16-mbtouc.
64008
64009         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
64010         utf16-ucs4-unsafe.
64011         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
64012         unistr/u16-mbtouc-unsafe.
64013
64014         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
64015         * modules/ucs4-utf8: Turn into a symbolic link to module
64016         unistr/u8-ubtomb.
64017
64018         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
64019         * modules/ucs4-utf16: Turn into a symbolic link to module
64020         unistr/u16-ubtomb.
64021
64022 2007-03-24  Bruno Haible  <bruno@clisp.org>
64023
64024         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
64025         Enable the function only if HAVE_INLINE.
64026         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
64027         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64028         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
64029         Enable the function only if HAVE_INLINE.
64030         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
64031         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64032         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
64033         Enable the function only if HAVE_INLINE.
64034         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
64035         Enable the function only if HAVE_INLINE.
64036         * modules/utf8-ucs4: Update.
64037         * modules/utf8-ucs4-unsafe: Update.
64038         * modules/utf16-ucs4: Update.
64039         * modules/utf16-ucs4-unsafe: Update.
64040         * modules/ucs4-utf8: Update.
64041         * modules/ucs4-utf16: Update.
64042
64043 2007-03-24  Bruno Haible  <bruno@clisp.org>
64044
64045         * lib/utf8-ucs4.h: Remove file.
64046         * lib/utf8-ucs4-unsafe.h: Remove file.
64047         * lib/utf16-ucs4.h: Remove file.
64048         * lib/utf16-ucs4-unsafe.h: Remove file.
64049         * lib/ucs4-utf8.h: Remove file.
64050         * lib/ucs4-utf16.h: Remove file.
64051         * lib/unistr.h: Include their previous contents.
64052         * m4/utf-ucs4.m4: Remove file.
64053         * m4/ucs4-utf.m4: Remove file.
64054         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
64055         (Depends-on): Add unistr/base.
64056         (configure.ac): Remove gl_UTF_UCS4.
64057         (Makefile.am): Update.
64058         (Include): Change to unistr.h.
64059         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
64060         (Depends-on): Add unistr/base.
64061         (configure.ac): Remove gl_UTF_UCS4.
64062         (Makefile.am): Update.
64063         (Include): Change to unistr.h.
64064         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
64065         (Depends-on): Add unistr/base.
64066         (configure.ac): Remove gl_UTF_UCS4.
64067         (Makefile.am): Update.
64068         (Include): Change to unistr.h.
64069         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
64070         (Depends-on): Add unistr/base.
64071         (configure.ac): Remove gl_UTF_UCS4.
64072         (Makefile.am): Update.
64073         (Include): Change to unistr.h.
64074         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
64075         (Depends-on): Add unistr/base.
64076         (configure.ac): Remove gl_UCS4_UTF.
64077         (Makefile.am): Update.
64078         (Include): Change to unistr.h.
64079         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
64080         (Depends-on): Add unistr/base.
64081         (configure.ac): Remove gl_UCS4_UTF.
64082         (Makefile.am): Update.
64083         (Include): Change to unistr.h.
64084         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
64085         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
64086         utf8-ucs4-unsafe.h.
64087         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
64088         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
64089         utf16-ucs4-unsafe.h.
64090         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
64091         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
64092         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
64093         * lib/unistr/u8-strchr.c: Likewise.
64094         * lib/unistr/u8-strrchr.c: Likewise.
64095         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
64096         * lib/unistr/u16-strchr.c: Likewise.
64097         * lib/unistr/u16-strrchr.c: Likewise.
64098         * lib/striconveh.c: Update.
64099         * lib/linebreak.c: Update.
64100
64101 2007-03-24  Bruno Haible  <bruno@clisp.org>
64102
64103         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
64104         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
64105
64106 2007-03-22  Bruno Haible  <bruno@clisp.org>
64107
64108         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
64109
64110 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
64111
64112         * MODULES.html.sh (File system functions): New module write-any-file.
64113         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
64114         * m4/write-any-file.m4: New files.
64115
64116 2007-03-23  Eric Blake  <ebb9@byu.net>
64117
64118         * gnulib-tool: Rearrange space-tab sequences, since some editors
64119         like to eat them.
64120
64121 2007-03-23  Eric Blake  <ebb9@byu.net>
64122
64123         * lib/version-etc.c (version_etc_va): Update license wording to
64124         be more concise.  Recommended by Richard Stallman.
64125
64126 2007-03-22  Bruno Haible  <bruno@clisp.org>
64127
64128         * lib/poll.c (MSG_PEEK): New fallback definition.
64129
64130 2007-03-22  Bruno Haible  <bruno@clisp.org>
64131
64132         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
64133         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
64134         (main): Update.
64135         Fixes a compilation error on BeOS.
64136
64137 2007-03-22  Bruno Haible  <bruno@clisp.org>
64138
64139         * modules/frexpl-tests: New file.
64140         * tests/test-frexpl.c: New file.
64141
64142         * modules/frexpl: New file.
64143         * m4/frexpl.m4: New file.
64144         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
64145         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
64146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
64147         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
64148         (Depends-on): Add frexpl. Remove isnanl-nolibm.
64149         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
64150
64151 2007-03-22  Bruno Haible  <bruno@clisp.org>
64152
64153         * lib/frexpl.c: Share code with lib/frexp.c.
64154         * modules/mathl (Files): Add lib/frexp.c.
64155         (Depends-on): Add isnanl-nolibm.
64156
64157 2007-03-22  Bruno Haible  <bruno@clisp.org>
64158
64159         * modules/printf-frexp (Files): Add m4/frexp.m4.
64160         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
64161         only if the found frexp function actually works.
64162
64163 2007-03-22  Bruno Haible  <bruno@clisp.org>
64164
64165         * lib/frexp.c: Remove older implementation that uses divisions.
64166
64167 2007-03-21  Bruno Haible  <bruno@clisp.org>
64168
64169         * modules/frexp-tests: New file.
64170         * tests/test-frexp.c: New file.
64171
64172         * modules/frexp: New file.
64173         * lib/frexp.c: New file.
64174         * m4/frexp.m4: New file.
64175         * lib/math_.h (frexp): New declaration.
64176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
64177         REPLACE_FREXP.
64178         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
64179
64180 2007-03-21  Bruno Haible  <bruno@clisp.org>
64181
64182         * modules/isnanl-tests: New file.
64183         * tests/test-isnanl.c: New file.
64184
64185         * modules/isnanl: New file.
64186         * lib/isnanl.h: New file.
64187         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
64188         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
64189         gl_FUNC_ISNANL_WORKS.
64190         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
64191         New macros.
64192
64193 2007-03-21  Bruno Haible  <bruno@clisp.org>
64194
64195         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
64196         lib/isnanl.h.
64197         (Include): Update.
64198         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
64199         * lib/vasnprintf.c: Update.
64200         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
64201         tests/test-isnanl.h, remove tests/test-isnanl.c.
64202         (Makefile.am): Update.
64203         * tests/test-isnanl-nolibm.c: New file.
64204         * tests/test-isnanl.h: New file.
64205         * tests/test-isnanl.c: Remove file.
64206
64207 2007-03-21  Jim Meyering  <jim@meyering.net>
64208
64209         When trying to open ".", treat ESTALE like EACCES.
64210         * lib/savewd.c (savewd_save): Resort to forking not just upon
64211         failure with EACCES, but also when errno is ESTALE.
64212
64213 2007-03-20  Bruno Haible  <bruno@clisp.org>
64214
64215         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
64216         Needed on AIX 5.1. Reported by Matthew Woehlke.
64217
64218 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64219
64220         Suggestions by Bruno Haible:
64221         * lib/acl-internal.h: Include "gettext.h" rather than rolling
64222         our own.
64223         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
64224         * modules/acl (Depends-on): Add gettext.
64225
64226 2007-03-19  Bruno Haible  <bruno@clisp.org>
64227
64228         * modules/iconvme: Remove file.
64229         * lib/iconvme.h: Remove file.
64230         * lib/iconvme.c: Remove file.
64231         * m4/iconvme.m4: Remove file.
64232
64233 2007-03-19  Bruno Haible  <bruno@clisp.org>
64234
64235         * doc/relocatable-maint.texi: Break long shell script line.
64236         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64237
64238 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64239
64240         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
64241         handle file_has_acl.
64242         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
64243         * lib/acl.c: Move header inclusions and related macro defns into
64244         lib/acl-internal.h.
64245         (S_ISLNK): Remove defn, since that's now done for us.
64246         (file_has_acl): Move to lib/file-has-acl.c.
64247         Call acl_trivial if available.  This is the crucial part of the fix.
64248         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
64249         shared within the library.  Rewrite a bit, partly to make it compatible
64250         with the GNU coding style.
64251         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
64252         Remove unnecessary double-quotes.
64253         Don't test for acl_to_text; the build will catch that.
64254         Replace acl_entries if it doesn't exist and it is needed.
64255         Check for -lsec and acl_trivial (as used on Solaris 10).
64256         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
64257         lib/file-has-acl.c.
64258         (Depends-on): Add sys_stat, for S_ISLNK.
64259
64260 2007-03-19  Ben Pfaff  <blp@gnu.org>
64261
64262         * doc/gnulib.texi: Fix typos.
64263         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64264
64265 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64266
64267         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
64268         If size is zero here, buf must be zero.
64269
64270 2007-03-19  Simon Josefsson  <simon@josefsson.org>
64271
64272         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
64273         <bruno@clisp.org>.
64274
64275 2007-03-18  Bruno Haible  <bruno@clisp.org>
64276
64277         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
64278         Suggested by Eric Blake.
64279
64280 2007-03-18  Ben Pfaff  <blp@gnu.org>
64281
64282         * doc/relocatable.texi: Recommend using as prefix a directory
64283         that does not exist and will never be created.  Based on
64284         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
64285         and others.
64286
64287 2007-03-17  Bruno Haible  <bruno@clisp.org>
64288
64289         * lib/fchownat.c: Include lchown.h.
64290
64291 2007-03-17  Bruno Haible  <bruno@clisp.org>
64292
64293         Fix endless loop when the given allocated size was > INT_MAX.
64294         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
64295         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
64296         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
64297         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
64298         * lib/sprintf.c (sprintf): Likewise.
64299
64300 2007-03-17  Bruno Haible  <bruno@clisp.org>
64301
64302         * tests/test-argp-2.sh (func_compare): Output a context diff.
64303
64304 2007-03-17  Bruno Haible  <bruno@clisp.org>
64305
64306         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
64307         locale's decimal-point character.
64308
64309 2007-03-17  Bruno Haible  <bruno@clisp.org>
64310
64311         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
64312         before comparing it. Needed because on some platforms (e.g. x86) a
64313         'long double' occupies less bytes than sizeof (long double).
64314
64315 2007-03-17  Bruno Haible  <bruno@clisp.org>
64316
64317         * tests/test-crc.c (main): Make printf statements 64-bit clean.
64318         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
64319         * tests/test-getaddrinfo.c (simple): Likewise.
64320         * tests/test-read-file.c (main): Likewise.
64321
64322 2007-03-17  Bruno Haible  <bruno@clisp.org>
64323
64324         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
64325
64326 2007-03-17  Bruno Haible  <bruno@clisp.org>
64327
64328         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
64329         unused variable.
64330
64331 2007-03-17  Bruno Haible  <bruno@clisp.org>
64332
64333         * tests/test-c-strcasecmp.c: Include c-strcase.h.
64334         * tests/test-c-strncasecmp.c: Likewise.
64335
64336 2007-03-17  Bruno Haible  <bruno@clisp.org>
64337
64338         * modules/stdlib (Depends-on): Add unistd.
64339         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
64340         Needed for MacOS X 10.3.
64341
64342 2007-03-17  Bruno Haible  <bruno@clisp.org>
64343
64344         * lib/unistr/u-strdup.h: Include <stdlib.h>.
64345
64346 2007-03-17  Bruno Haible  <bruno@clisp.org>
64347
64348         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
64349
64350 2007-03-17  Bruno Haible  <bruno@clisp.org>
64351
64352         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
64353         to reflect files copied from gnulib (with or without modifications).
64354         Suggested by Jim Meyering.
64355
64356 2007-03-17  Eric Blake  <ebb9@byu.net>
64357
64358         * NEWS: Document stdlib change from 2007-02-18.
64359
64360 2007-03-17  Jim Meyering  <jim@meyering.net>
64361
64362         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
64363         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
64364         someone uses a name containing shell meta-characters.
64365         Reported by Alfred M. Szmidt.
64366
64367         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
64368
64369 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64370
64371         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
64372         and copy gettext configuration files only if configure.ac contains
64373         a use of AM_GNU_GETTEXT_VERSION.
64374
64375 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64376
64377         * build-aux/bootstrap (gnulib_name): New variable.
64378         (gnulib_tool_options): Use it.
64379
64380 2007-03-13  Simon Josefsson  <simon@josefsson.org>
64381
64382         * tests/test-des.c: Use new namespace.
64383
64384 2007-03-15  Bruno Haible  <bruno@clisp.org>
64385
64386         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
64387         Reported by James Youngman <jay@gnu.org>.
64388
64389 2007-03-15  Bruno Haible  <bruno@clisp.org>
64390
64391         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
64392         declared prototype. Needed with cc on OSF/1 5.1.
64393
64394 2007-03-15  Bruno Haible  <bruno@clisp.org>
64395
64396         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
64397         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
64398         (struct gl_list_implementation): Add dispose_fn argument to the
64399         'create_empty', 'create' methods.
64400         (struct gl_list_impl_base): Add field 'dispose_fn'.
64401         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
64402         argument.
64403         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
64404         dispose_fn argument.
64405         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
64406         dispose_fn on the dropped values.
64407         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
64408         dispose_fn argument.
64409         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
64410         dropped values.
64411         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
64412         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64413         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
64414         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64415         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
64416         argument.
64417         (gl_tree_list_free): Call dispose_fn on the dropped values.
64418         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
64419         the dropped values.
64420         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
64421         Add dispose_fn argument.
64422         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
64423         Call dispose_fn on the dropped values.
64424         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
64425         Add dispose_fn argument.
64426         (gl_sublist_create): Initialize the 'dispose_fn' field.
64427         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
64428         * tests/test-array_list.c (main): Update.
64429         * tests/test-carray_list.c (main): Update.
64430         * tests/test-avltree_list.c (main): Update.
64431         * tests/test-rbtree_list.c (main): Update.
64432         * tests/test-avltreehash_list.c (main): Update.
64433         * tests/test-rbtreehash_list.c (main): Update.
64434         * tests/test-linked_list.c (main): Update.
64435         * tests/test-linkedhash_list.c (main): Update.
64436         * tests/test-array_oset.c (main): Update.
64437
64438 2007-03-15  Bruno Haible  <bruno@clisp.org>
64439
64440         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
64441         (gl_oset_create_empty): Add dispose_fn argument.
64442         (struct gl_oset_implementation): Add dispose_fn argument to
64443         'create_empty' method.
64444         (struct gl_oset_impl_base): Add dispose_fn field.
64445         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
64446         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
64447         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
64448         values.
64449         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
64450         (gl_tree_oset_free): Call dispose_fn on the dropped values.
64451         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64452         dropped value.
64453         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64454         dropped value.
64455         * tests/test-array_oset.c (main): Update.
64456         * tests/test-avltree_oset.c (main): Update.
64457         * tests/test-rbtree_oset.c (main): Update.
64458         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
64459
64460 2007-03-13  Bruno Haible  <bruno@clisp.org>
64461
64462         * tests/test-stdbool.c (i): Update after last patch.
64463
64464 2007-03-12  Bruno Haible  <bruno@clisp.org>
64465
64466         * lib/quotearg.c: Include <wctype.h> early, before the definition of
64467         the iswprint macro. Needed on Solaris 2.5.1.
64468
64469 2007-03-12  Bruno Haible  <bruno@clisp.org>
64470
64471         * tests/test-printf-frexp.c (main): Declare x as volatile.
64472
64473 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64474
64475         * doc/gnulib.texi (Build robot for gnulib): New section.
64476
64477 2007-03-12  Jim Meyering  <jim@meyering.net>
64478
64479         * build-aux/bootstrap: New file.
64480         * build-aux/bootstrap.conf: New file, from coreutils.
64481
64482 2007-03-11  Bruno Haible  <bruno@clisp.org>
64483
64484         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
64485
64486 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64487
64488         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
64489         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
64490         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
64491
64492 2007-03-11  Bruno Haible  <bruno@clisp.org>
64493
64494         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
64495         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
64496
64497 2007-03-11  Bruno Haible  <bruno@clisp.org>
64498
64499         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
64500         formula. Needed for SunPRO C 5.0.
64501
64502 2007-03-11  Bruno Haible  <bruno@clisp.org>
64503
64504         * modules/long-options (Depends-on): Add getopt.
64505
64506 2007-03-11  Bruno Haible  <bruno@clisp.org>
64507
64508         * modules/modechange (Depends-on): Add stdbool.
64509
64510 2007-03-11  Bruno Haible  <bruno@clisp.org>
64511
64512         * modules/i-ring (Depends-on): Add stdbool.
64513
64514 2007-03-11  Bruno Haible  <bruno@clisp.org>
64515
64516         * modules/gc-des (Depends-on): Add stdbool.
64517
64518 2007-03-11  Bruno Haible  <bruno@clisp.org>
64519
64520         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
64521
64522 2007-03-11  Bruno Haible  <bruno@clisp.org>
64523
64524         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
64525
64526 2007-03-11  Bruno Haible  <bruno@clisp.org>
64527
64528         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
64529
64530 2007-03-11  Bruno Haible  <bruno@clisp.org>
64531
64532         * lib/vasnprintf.c (sprintf): Undefine.
64533
64534 2007-03-11  Bruno Haible  <bruno@clisp.org>
64535
64536         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
64537         initializers in SunPRO C and Compaq C compilers.
64538
64539 2007-03-11  Bruno Haible  <bruno@clisp.org>
64540
64541         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
64542         decrementing code ANSI C compliant.
64543
64544 2007-03-11  Bruno Haible  <bruno@clisp.org>
64545
64546         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
64547         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
64548
64549 2007-03-11  Bruno Haible  <bruno@clisp.org>
64550
64551         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
64552         <stdbool.h> substitute doesn't pass.
64553
64554 2007-03-11  Bruno Haible  <bruno@clisp.org>
64555
64556         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
64557
64558 2007-03-11  Bruno Haible  <bruno@clisp.org>
64559
64560         * gnulib-tool (func_create_megatestdir): Create also an autobuild
64561         script, for submission to autobuild.josefsson.org.
64562
64563 2007-03-10  Bruno Haible  <bruno@clisp.org>
64564
64565         * modules/canonicalize-lgpl-tests: New file.
64566         * tests/test-canonicalize-lgpl.sh: New file.
64567         * tests/test-canonicalize-lgpl.c: New file.
64568
64569         * modules/c-strcase-tests: New file.
64570         * tests/test-c-strcase.sh: New file.
64571         * tests/test-c-strcasecmp.c: New file.
64572         * tests/test-c-strncasecmp.c: New file.
64573
64574         * modules/atexit-tests: New file.
64575         * tests/test-atexit.sh: New file.
64576         * tests/test-atexit.c: New file.
64577
64578 2007-03-10  Bruno Haible  <bruno@clisp.org>
64579
64580         * tests/test-binary-io.sh: Use temporary filenames that are not so
64581         likely to clash with those of other tests (in a parallel make).
64582         * tests/test-binary-io.c: Likewise.
64583
64584 2007-03-10  Bruno Haible  <bruno@clisp.org>
64585
64586         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
64587         fallback; use #error instead.
64588         Suggested by Simon Josefsson.
64589
64590 2007-03-10  Bruno Haible  <bruno@clisp.org>
64591
64592         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
64593         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
64594         first and the last.
64595
64596 2007-03-10  Bruno Haible  <bruno@clisp.org>
64597
64598         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
64599
64600 2007-03-10  Bruno Haible  <bruno@clisp.org>
64601
64602         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
64603         "make distcheck".
64604         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
64605         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
64606         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
64607
64608 2007-03-10  Bruno Haible  <bruno@clisp.org>
64609
64610         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
64611         variable.
64612         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
64613         variable.
64614
64615 2007-03-09  Eric Blake  <ebb9@byu.net>
64616         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
64617
64618         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
64619         types are not being provided by gnulib.
64620         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
64621         types are supported.
64622
64623 2007-03-10  Bruno Haible  <bruno@clisp.org>
64624
64625         * lib/stdio_.h (__attribute__): New macro.
64626         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
64627         vsprintf): Specify __attribute__ __format__ for GCC.
64628         Suggested by Eric Blake.
64629
64630 2007-03-09  Bruno Haible  <bruno@clisp.org>
64631
64632         * modules/printf-posix-tests: New file.
64633         * tests/test-printf-posix.sh: New file.
64634         * tests/test-printf-posix.c: New file.
64635
64636         * modules/printf-posix: New file.
64637         * lib/printf.c: New file.
64638         * m4/printf-posix-rpl.m4: New file.
64639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
64640         REPLACE_PRINTF.
64641         * lib/stdio_.h (printf): New declaration.
64642         (format, __format__, ____printf____, ____scanf____, ____strftime____,
64643         ____strfmon____): New macros.
64644         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
64645         REPLACE_PRINTF.
64646
64647 2007-03-09  Bruno Haible  <bruno@clisp.org>
64648
64649         * tests/test-vasnprintf-posix2.sh: New file.
64650         * tests/test-vasnprintf-posix2.c: New file.
64651         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
64652         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
64653         (Makefile.am): Activate test-vasnprintf-posix2.sh.
64654
64655         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
64656         a locale dependent decimal point, rather than always '.'.
64657
64658 2007-03-09  Eric Blake  <ebb9@byu.net>
64659
64660         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
64661         spite of platforms like Tandem/NSK that define it to -1.
64662
64663 2007-03-08  Bruno Haible  <bruno@clisp.org>
64664
64665         * modules/vprintf-posix-tests: New file.
64666         * tests/test-vprintf-posix.sh: New file.
64667         * tests/test-vprintf-posix.c: New file.
64668         * tests/test-printf-posix.h: New file.
64669
64670         * modules/vprintf-posix: New file.
64671         * lib/vprintf.c: New file.
64672         * m4/vprintf-posix.m4: New file.
64673         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
64674         REPLACE_VPRINTF.
64675         * lib/stdio_.h (vprintf): New declaration.
64676         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
64677         REPLACE_VPRINTF.
64678
64679 2007-03-08  Bruno Haible  <bruno@clisp.org>
64680
64681         * modules/fprintf-posix-tests: New file.
64682         * tests/test-fprintf-posix.sh: New file.
64683         * tests/test-fprintf-posix.c: New file.
64684
64685         * modules/fprintf-posix: New file.
64686         * lib/fprintf.c: New file.
64687         * m4/fprintf-posix.m4: New file.
64688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
64689         REPLACE_FPRINTF.
64690         * lib/stdio_.h (fprintf): New declaration.
64691         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
64692         REPLACE_FPRINTF.
64693
64694 2007-03-08  Bruno Haible  <bruno@clisp.org>
64695
64696         * modules/vfprintf-posix-tests: New file.
64697         * tests/test-vfprintf-posix.sh: New file.
64698         * tests/test-vfprintf-posix.c: New file.
64699         * tests/test-fprintf-posix.h: New file.
64700         * tests/test-fprintf-posix.out: New file.
64701
64702         * modules/vfprintf-posix: New file.
64703         * lib/vfprintf.c: New file.
64704         * m4/vfprintf-posix.m4: New file.
64705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
64706         REPLACE_VFPRINTF.
64707         * lib/stdio_.h (vfprintf): New declaration.
64708         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
64709         REPLACE_VFPRINTF.
64710
64711 2007-03-08  Bruno Haible  <bruno@clisp.org>
64712
64713         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
64714
64715 2007-03-08  Bruno Haible  <bruno@clisp.org>
64716
64717         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
64718         instead of 'expr' invocations.
64719         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64720         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64721         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64722         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64723         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64724         Suggested by Paul Eggert.
64725
64726 2007-03-08  Bruno Haible  <bruno@clisp.org>
64727
64728         * modules/fseterr-tests: New file.
64729         * tests/test-fseterr.c: New file.
64730
64731         * modules/fseterr: New file.
64732         * lib/fseterr.h: New file.
64733         * lib/fseterr.c: New file.
64734
64735 2007-03-08  Bruno Haible  <bruno@clisp.org>
64736
64737         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
64738         * lib/getopt_.h: Likewise.
64739         * lib/mbswidth.h: Likewise.
64740         * lib/setenv.h: Likewise.
64741         * lib/vasnprintf.h: Likewise.
64742         * lib/vasprintf.h: Likewise.
64743         * lib/verror.h: Likewise.
64744         * lib/xsetenv.h: Likewise.
64745         * lib/xvasprintf.h: Likewise.
64746
64747 2007-03-08  Jim Meyering  <jim@meyering.net>
64748
64749         * users.txt: Add parted.
64750
64751         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
64752
64753 2007-03-07  Bruno Haible  <bruno@clisp.org>
64754
64755         * m4/printf.m4: Make the shell script snippets copy&pastable.
64756
64757 2007-03-02  Bruno Haible  <bruno@clisp.org>
64758
64759         * lib/netinet_in_.h: New file.
64760         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
64761         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
64762         * modules/netinet_in (Files): Add lib/netinet_in_.h.
64763         (Depends-on): Add absolute-header.
64764         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
64765         into netinet/in.h.
64766
64767 2007-03-03  Bruno Haible  <bruno@clisp.org>
64768
64769         * lib/sys_select_.h: New file.
64770         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
64771         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
64772         * modules/sys_select (Files): Add lib/sys_select_.h.
64773         (Depends-on): Add absolute-header.
64774         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
64775         into sys/select.h.
64776
64777 2007-03-02  Bruno Haible  <bruno@clisp.org>
64778
64779         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
64780         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
64781         values.
64782         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
64783         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
64784         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
64785         * modules/sys_socket (Depends-on): Add absolute-header.
64786         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
64787         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
64788         (Include): Remove requirement of inclusion of <sys/types.h>.
64789
64790 2007-03-02  Bruno Haible  <bruno@clisp.org>
64791
64792         * lib/byteswap_.h (bswap_32): Fix formula.
64793
64794 2007-03-06  Bruno Haible  <bruno@clisp.org>
64795
64796         * modules/sprintf-posix-tests: New file.
64797         * tests/test-sprintf-posix.c: New file.
64798
64799         * modules/sprintf-posix: New file.
64800         * lib/sprintf.c: New file.
64801         * m4/sprintf-posix.m4: New file.
64802         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
64803         REPLACE_SPRINTF.
64804         * lib/stdio_.h (sprintf): New declaration.
64805         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
64806         REPLACE_SPRINTF.
64807
64808 2007-03-06  Bruno Haible  <bruno@clisp.org>
64809
64810         * modules/vsprintf-posix-tests: New file.
64811         * tests/test-vsprintf-posix.c: New file.
64812         * tests/test-sprintf-posix.h: New file.
64813
64814         * modules/vsprintf-posix: New file.
64815         * lib/vsprintf.c: New file.
64816         * m4/vsprintf-posix.m4: New file.
64817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
64818         REPLACE_VSPRINTF.
64819         * lib/stdio_.h (vsprintf): New declaration.
64820         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
64821         REPLACE_VSPRINTF.
64822
64823 2007-03-06  Bruno Haible  <bruno@clisp.org>
64824
64825         * modules/vsnprintf (Depend-on): Remove minmax.
64826
64827 2007-03-06  Bruno Haible  <bruno@clisp.org>
64828
64829         * modules/snprintf-posix-tests: New file.
64830         * tests/test-snprintf-posix.c: New file.
64831
64832         * modules/snprintf-posix: New file.
64833         * m4/snprintf-posix.m4: New file.
64834         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
64835         gl_FUNC_SNPRINTF.
64836         (gl_FUNC_SNPRINTF): Invoke it.
64837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
64838         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
64839         is set.
64840         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
64841
64842 2007-03-06  Bruno Haible  <bruno@clisp.org>
64843
64844         * modules/vsnprintf-posix-tests: New file.
64845         * tests/test-vsnprintf-posix.c: New file.
64846         * tests/test-snprintf-posix.h: New file.
64847
64848         * modules/vsnprintf-posix: New file.
64849         * m4/vsnprintf-posix.m4: New file.
64850         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
64851         gl_FUNC_VSNPRINTF.
64852         (gl_FUNC_VSNPRINTF): Invoke it.
64853         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
64854         * lib/stdio_.h (vsnprintf): Define as a replacement if
64855         REPLACE_VSNPRINTF is set.
64856         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
64857
64858 2007-03-06  Bruno Haible  <bruno@clisp.org>
64859
64860         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
64861         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
64862
64863 2007-03-06  Bruno Haible  <bruno@clisp.org>
64864
64865         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
64866         (asinl): Declare also if HAVE_DECL_ASINL is set.
64867         (atanl): Declare also if HAVE_DECL_ATANL is set.
64868         (ceill): Declare also if HAVE_DECL_CEILL is set.
64869         (cosl): Declare also if HAVE_DECL_COSL is set.
64870         (expl): Declare also if HAVE_DECL_EXPL is set.
64871         (floorl): Declare also if HAVE_DECL_FLOORL is set.
64872         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
64873         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
64874         (logl): Declare also if HAVE_DECL_LOGL is set.
64875         (sinl): Declare also if HAVE_DECL_SINL is set.
64876         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
64877         (tanl): Declare also if HAVE_DECL_TANL is set.
64878         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
64879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
64880         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
64881         declaration of frexpl, ldexpl.
64882         * modules/printf-frexpl (Depends-on): Add math.
64883         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
64884
64885 2007-03-05  Bruno Haible  <bruno@clisp.org>
64886
64887         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
64888         frexpl and ldexpl are declared.
64889         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
64890
64891 2007-03-05  Bruno Haible  <bruno@clisp.org>
64892
64893         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
64894         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
64895
64896 2007-03-05  Bruno Haible  <bruno@clisp.org>
64897
64898         * lib/stdio_.h: Include <stddef.h>.
64899
64900 2007-03-05  Bruno Haible  <bruno@clisp.org>
64901
64902         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
64903
64904 2007-03-05  Bruno Haible  <bruno@clisp.org>
64905
64906         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
64907         NetBSD 4, from Ralf Wildenhues.
64908
64909 2007-03-04  Bruno Haible  <bruno@clisp.org>
64910
64911         * lib/vasprintf.h: Update #if logic for the case when the functions
64912         exist but are overridden.
64913
64914 2007-03-04  Bruno Haible  <bruno@clisp.org>
64915
64916         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
64917         implementations: glibc-2.4 and MacOS X 10.3.
64918         * tests/test-vasnprintf-posix.c (test_function): Test also the case
64919         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
64920         * tests/test-vasprintf-posix.c (test_function): Likewise.
64921
64922 2007-03-04  Bruno Haible  <bruno@clisp.org>
64923
64924         * modules/vasprintf-posix-tests: New file.
64925         * tests/test-vasprintf-posix.c: New file.
64926
64927         * modules/vasprintf-posix: New file.
64928         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
64929         defined.
64930         * m4/vasprintf-posix.m4: New file.
64931         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
64932         gl_FUNC_VASPRINTF.
64933         (gl_FUNC_VASPRINTF): Invoke it.
64934         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
64935         here.
64936         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
64937
64938 2007-03-04  Bruno Haible  <bruno@clisp.org>
64939
64940         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
64941         REPLACE_GETTIMEOFDAY.
64942         * modules/sys_time (Makefile.am): Likewise.
64943         * m4/sys_time_h.m4: Likewise.
64944         * m4/gettimeofday.m4: Likewise.
64945
64946 2007-03-04  Bruno Haible  <bruno@clisp.org>
64947
64948         * modules/vasnprintf-posix-tests: New file.
64949         * tests/test-vasnprintf-posix.c: New file.
64950
64951         * modules/vasnprintf-posix: New file.
64952         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
64953         printf-frexpl.h.
64954         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
64955         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
64956         REPLACE_VASNPRINTF is defined.
64957         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
64958         gl_FUNC_VASNPRINTF.
64959         (gl_FUNC_VASNPRINTF): Invoke it.
64960         * m4/vasnprintf-posix.m4: New file.
64961         * m4/printf.m4: New file.
64962
64963 2007-03-04  Bruno Haible  <bruno@clisp.org>
64964
64965         Compile progreloc.c only if --enable-relocatable is specified.
64966         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
64967         if --enable-relocatable was specified.
64968         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
64969         lib_SOURCES.
64970
64971 2007-03-04  Jim Meyering  <jim@meyering.net>
64972
64973         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
64974         Use it consistently, rather than enumerating errno constants.
64975
64976 2007-03-04  Bruno Haible  <bruno@clisp.org>
64977
64978         * modules/xvasprintf-tests: New file.
64979         * tests/test-xvasprintf.c: New file.
64980
64981         * modules/vasprintf-tests: New file.
64982         * tests/test-vasprintf.c: New file.
64983
64984         * modules/vasnprintf-tests: New file.
64985         * tests/test-vasnprintf.c: New file.
64986
64987         * modules/vsnprintf-tests: New file.
64988         * tests/test-vsnprintf.c: New file.
64989
64990         * modules/snprintf-tests: New file.
64991         * tests/test-snprintf.c: New file.
64992
64993 2007-03-04  Bruno Haible  <bruno@clisp.org>
64994
64995         Compile relocatable.c only if --enable-relocatable is specified.
64996         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
64997         gl_RELOCATABLE_LIBRARY.
64998         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
64999         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
65000         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
65001         gl_RELOCATABLE_LIBRARY.
65002         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
65003         (Makefile.am): Remove lib_SOURCES.
65004         * modules/relocatable-lib-lgpl (configure.ac): Invoke
65005         gl_RELOCATABLE_LIBRARY.
65006         (Makefile.am): Remove lib_SOURCES.
65007         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
65008         always.
65009         * modules/relocatable-prog-wrapper (configure.ac): Invoke
65010         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
65011
65012 2007-03-04  Bruno Haible  <bruno@clisp.org>
65013
65014         * modules/argmatch-tests: New file.
65015         * tests/test-argmatch.c: New file.
65016
65017         * tests/test-allocsa.c (main): Halve the number of loop runs.
65018
65019         * modules/alloca-opt-tests: New file.
65020         * tests/test-alloca-opt.c: New file.
65021
65022 2007-03-04  Jim Meyering  <jim@meyering.net>
65023
65024         Work around difference between Linux ACLs and Solaris 10 ZFS.
65025         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
65026         for EINVAL.
65027
65028 2007-03-03  Bruno Haible  <bruno@clisp.org>
65029
65030         * modules/relocatable-prog (Depends-on): Add back progreloc's
65031         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
65032
65033 2007-03-03  Bruno Haible  <bruno@clisp.org>
65034
65035         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
65036         * modules/relocatable-lib: New file.
65037
65038 2007-03-03  Bruno Haible  <bruno@clisp.org>
65039
65040         * modules/relocatable-prog: Renamed from modules/relocatable.
65041         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
65042
65043 2007-03-03  Bruno Haible  <bruno@clisp.org>
65044
65045         * modules/relocatable-script (Files): Add doc/relocatable.texi,
65046         m4/relocatable-lib.m4.
65047         (Depends-on): Remove 'relocatable'.
65048         (configure.ac): Add gl_RELOCATABLE_NOP.
65049
65050 2007-03-03  Bruno Haible  <bruno@clisp.org>
65051
65052         * modules/relocatable-prog-wrapper: New file.
65053         * modules/relocatable (Depends-on): Add it. Remove all other
65054         dependencies except progname.
65055         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
65056
65057         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
65058         (gl_FUNC_STRERROR): Nop.
65059         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
65060
65061         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
65062         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
65063
65064         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
65065         (gl_FUNC_READLINK): Update.
65066
65067         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
65068
65069 2007-03-03  Bruno Haible  <bruno@clisp.org>
65070
65071         * lib/xreadlink.c: Include <unistd.h> unconditionally.
65072         * modules/xreadlink (Depends-on): Add unistd.
65073         * modules/xreadlink-with-size (Depends-on): Likewise.
65074
65075 2007-03-03  Bruno Haible  <bruno@clisp.org>
65076
65077         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
65078         extracted from gt_FUNC_SETENV.
65079         (gt_FUNC_SETENV): Remove macro.
65080         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
65081         remove gt_FUNC_SETENV.
65082
65083 2007-03-03  Bruno Haible  <bruno@clisp.org>
65084
65085         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
65086         ENABLE_RELOCATABLE here.
65087         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
65088
65089 2007-03-03  Bruno Haible  <bruno@clisp.org>
65090
65091         * modules/rbtreehash-list-tests (Depends-on): Add progname.
65092         * tests/test-rbtreehash_list.c: Include progname.h.
65093         (main): Call set_program_name.
65094
65095         * modules/rbtree-oset-tests (Depends-on): Add progname.
65096         * tests/test-rbtree_oset.c: Include progname.h.
65097         (main): Call set_program_name.
65098
65099         * modules/rbtree-list-tests (Depends-on): Add progname.
65100         * tests/test-rbtree_list.c: Include progname.h.
65101         (main): Call set_program_name.
65102
65103         * modules/linked-list-tests (Depends-on): Add progname.
65104         * tests/test-linked_list.c: Include progname.h.
65105         (main): Call set_program_name.
65106
65107 2007-03-03  Bruno Haible  <bruno@clisp.org>
65108
65109         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
65110         All uses of __restrict changed to _Restrict_.
65111         * lib/glob_.h (__restrict): Remove macro.
65112
65113 2007-03-02  Bruno Haible  <bruno@clisp.org>
65114
65115         * modules/gettext (configure.ac): Require gettext infrastructure
65116         from version 0.16.1.
65117
65118 2007-03-02  Bruno Haible  <bruno@clisp.org>
65119
65120         * modules/linkedhash-list-tests (Depends-on): Add progname.
65121         * tests/test-linkedhash_list.c: Include progname.h.
65122         (main): Call set_program_name.
65123
65124         * modules/carray-list-tests (Depends-on): Add progname.
65125         * tests/test-carray_list.c: Include progname.h.
65126         (main): Call set_program_name.
65127
65128         * modules/avltreehash-list-tests (Depends-on): Add progname.
65129         * tests/test-avltreehash_list.c: Include progname.h.
65130         (main): Call set_program_name.
65131
65132         * modules/avltree-oset-tests (Depends-on): Add progname.
65133         * tests/test-avltree_oset.c: Include progname.h.
65134         (main): Call set_program_name.
65135
65136         * modules/avltree-list-tests (Depends-on): Add progname.
65137         * tests/test-avltree_list.c: Include progname.h.
65138         (main): Call set_program_name.
65139
65140         * modules/array-oset-tests (Depends-on): Add progname.
65141         * tests/test-array_oset.c: Include progname.h.
65142         (main): Call set_program_name.
65143
65144         * modules/array-list-tests (Depends-on): Add progname.
65145         * tests/test-array_list.c: Include progname.h.
65146         (main): Call set_program_name.
65147
65148         * modules/argp-tests (Depends-on): Add progname.
65149         * tests/test-argp.c: Include argp.h first. Include progname.h.
65150         (main): Call set_program_name.
65151
65152 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
65153
65154         * doc/gnulib-tool.texi (Initial import): Reword description of
65155         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
65156         limited effect even if defined after the first system include.
65157
65158 2007-03-01  Bruno Haible  <bruno@clisp.org>
65159
65160         * build-aux/config.libpath: Update to libtool-1.5.22.
65161         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65162
65163 2007-03-01  Bruno Haible  <bruno@clisp.org>
65164
65165         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
65166         foo_CFLAGS.
65167         Reported by Ralf Wildenhues.
65168
65169 2007-03-01  Bruno Haible  <bruno@clisp.org>
65170
65171         * build-aux/install-reloc: Remove object files left over by some
65172         compilers.
65173         Reported by Ralf Wildenhues.
65174
65175 2007-03-01  Bruno Haible  <bruno@clisp.org>
65176
65177         * build-aux/install-reloc: Break long lines.
65178
65179 2007-03-01  Bruno Haible  <bruno@clisp.org>
65180
65181         * doc/relocatable.texi: Document that it may not work on OpenBSD.
65182         Reported by Ralf Wildenhues.
65183
65184 2007-03-01  Bruno Haible  <bruno@clisp.org>
65185
65186         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
65187         include ordering constraints.
65188
65189 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65190
65191         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
65192         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
65193         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
65194         as another example.
65195         * lib/time_.h: Fix misspelling.
65196         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65197         Require gl_HEADER_TIME_H_DEFAULTS.
65198         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
65199         * m4/time_r.m4 (gl_TIME_R): Likewise.
65200         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
65201
65202 2007-03-01  Bruno Haible  <bruno@clisp.org>
65203
65204         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
65205         * m4/utimens.m4 (gl_UTIMENS): Likewise.
65206
65207 2007-03-01  Jim Meyering  <jim@meyering.net>
65208
65209         * modules/xreadlink (Maintainer): Add my name.
65210         * modules/xreadlink-with-size (Depends-on): Alphabetize.
65211
65212 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
65213             Bruno Haible  <bruno@clisp.org>
65214
65215         * build-aux/install-reloc: Compile also c-ctype.c.
65216         * build-aux/relocatable.sh.in: New file.
65217         * doc/relocatable.texi: New file.
65218         * doc/relocatable-maint.texi: New file.
65219         * doc/gnulib.texi: Include relocatable-maint.texi.
65220         * lib/progreloc.c: Include unistd.h unconditionally.
65221         * lib/relocwrapper.c: Include unistd.h unconditionally.
65222         Include c-ctype.h.
65223         (add_dotbin): Use c_tolower.
65224         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
65225         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
65226         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
65227         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
65228         to m4/relocatable-lib.m4.
65229         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
65230         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
65231         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
65232         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
65233         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
65234         * modules/relocatable: New file.
65235         * modules/relocatable-lib: New file.
65236         * modules/relocatable-script: New file.
65237
65238 2007-02-28  Bruno Haible  <bruno@clisp.org>
65239
65240         Import --enable-relocatable infrastructure.
65241         * build-aux/config.libpath: New file, from GNU gettext.
65242         * build-aux/install-reloc: New file, from GNU gettext.
65243         * build-aux/reloc-ldflags: New file, from GNU gettext.
65244         * lib/relocatable.h: New file, from GNU gettext.
65245         * lib/relocatable.c: New file, from GNU gettext.
65246         * lib/relocwrapper.c: New file, from GNU gettext.
65247         * m4/relocatable.m4: New file, from GNU gettext.
65248
65249 2007-02-28  Bruno Haible  <bruno@clisp.org>
65250
65251         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
65252
65253         * modules/xreadlink: New file, from GNU gettext with modifications.
65254         * lib/xreadlink.c: New file, from GNU gettext.
65255         * lib/xreadlink.h: Add comments.
65256         (xreadlink): New declaration.
65257
65258         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
65259         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
65260         lib/xreadlink-with-size.c.
65261         (configure.ac): Remove gl_XREADLINK invocation.
65262         (Makefile.am): Augment lib_SOURCES.
65263         * m4/xreadlink.m4: Remove file.
65264         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
65265         (xreadlink_with_size): Renamed from xreadink.
65266         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
65267         * modules/canonicalize (Depends-on): Replace xreadlink with
65268         xreadlink-with-size.
65269         * lib/canonicalize.c (canonicalize_filename_mode): Update.
65270
65271 2007-02-25  Jim Meyering  <jim@meyering.net>
65272
65273         * build-aux/announce-gen: When complaining about excess arguments,
65274         list them.
65275
65276 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65277
65278         * README: Document signed integer overflow situation more
65279         accurately.
65280
65281 2007-02-25  Bruno Haible  <bruno@clisp.org>
65282
65283         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
65284         'a' or 'A' conversion.
65285
65286 2007-02-25  Bruno Haible  <bruno@clisp.org>
65287
65288         * modules/filename: Renamed from modules/pathname.
65289         (Files): Replace lib/pathname.h with lib/filename.h. Replace
65290         lib/concatpath.c with lib/concat-filename.c.
65291         (Makefile.am): Update.
65292         (Include): Replace pathname.h with filename.h.
65293         * lib/filename.h: Renamed from lib/pathname.h.
65294         (concatenated_filename): Renamed from concatenated_pathname.
65295         * lib/concat-filename.c: Renamed from lib/concatpath.c.
65296         (concatenated_filename): Renamed from concatenated_pathname.
65297         * lib/findprog.c: Include filename.h instead of pathname.h.
65298         (find_in_path): Update.
65299         * lib/javacomp.c: Include filename.h instead of pathname.h.
65300         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
65301         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
65302         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
65303         is_oldgcj_14_13_usable, is_javac_usable): Update.
65304         * lib/javaexec.c: Include filename.h instead of pathname.h.
65305         (execute_java_class): Update.
65306         * modules/findprog: Update.
65307         * modules/javacomp: Update.
65308         * modules/javaexec: Update.
65309         * MODULES.html.sh (File system functions): Add 'filename', remove
65310         'pathname'.
65311
65312 2007-02-25  Bruno Haible  <bruno@clisp.org>
65313
65314         * modules/printf-frexpl-tests: New file.
65315         * tests/test-printf-frexpl.c: New file.
65316
65317         * modules/printf-frexpl: New file.
65318         * lib/printf-frexpl.h: New file.
65319         * lib/printf-frexpl.c: New file.
65320         * m4/printf-frexpl.m4: New file.
65321
65322 2007-02-25  Bruno Haible  <bruno@clisp.org>
65323
65324         * modules/printf-frexp-tests: New file.
65325         * tests/test-printf-frexp.c: New file.
65326
65327         * modules/printf-frexp: New file.
65328         * lib/printf-frexp.h: New file.
65329         * lib/printf-frexp.c: New file.
65330         * m4/printf-frexp.m4: New file.
65331
65332 2007-02-25  Bruno Haible  <bruno@clisp.org>
65333
65334         Assume automake >= 1.10 for the tests.
65335         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
65336         * modules/arctwo-tests: Likewise.
65337         * modules/argp-tests: Likewise.
65338         * modules/avltree-list-tests: Likewise.
65339         * modules/avltree-oset-tests: Likewise.
65340         * modules/avltreehash-list-tests: Likewise.
65341         * modules/carray-list-tests: Likewise.
65342         * modules/crc-tests: Likewise.
65343         * modules/des-tests: Likewise.
65344         * modules/gc-arcfour-tests: Likewise.
65345         * modules/gc-arctwo-tests: Likewise.
65346         * modules/gc-des-tests: Likewise.
65347         * modules/gc-hmac-md5-tests: Likewise.
65348         * modules/gc-hmac-sha1-tests: Likewise.
65349         * modules/gc-md2-tests: Likewise.
65350         * modules/gc-md4-tests: Likewise.
65351         * modules/gc-md5-tests: Likewise.
65352         * modules/gc-pbkdf2-sha1-tests: Likewise.
65353         * modules/gc-rijndael-tests: Likewise.
65354         * modules/gc-sha1-tests: Likewise.
65355         * modules/gc-tests: Likewise.
65356         * modules/getaddrinfo-tests: Likewise.
65357         * modules/hmac-md5-tests: Likewise.
65358         * modules/hmac-sha1-tests: Likewise.
65359         * modules/linked-list-tests: Likewise.
65360         * modules/linkedhash-list-tests: Likewise.
65361         * modules/lock-tests: Likewise.
65362         * modules/md2-tests: Likewise.
65363         * modules/md4-tests: Likewise.
65364         * modules/md5-tests: Likewise.
65365         * modules/rbtree-list-tests: Likewise.
65366         * modules/rbtree-oset-tests: Likewise.
65367         * modules/rbtreehash-list-tests: Likewise.
65368         * modules/read-file-tests: Likewise.
65369         * modules/rijndael-tests: Likewise.
65370         * modules/stdint-tests: Likewise.
65371         * modules/tls-tests: Likewise.
65372
65373 2007-02-24  Bruno Haible  <bruno@clisp.org>
65374
65375         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
65376         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
65377         function; instead check whether isnan with a double argument links.
65378         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
65379         function; instead check whether isnan with a 'long double' argument
65380         links.
65381         Reported by Eric Blake <ebb9@byu.net>.
65382
65383 2007-02-24  Bruno Haible  <bruno@clisp.org>
65384
65385         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
65386         defined.
65387         * lib/isnanl.c: Remove all code. Just include isnan.c.
65388         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
65389
65390 2007-02-25  Jim Meyering  <jim@meyering.net>
65391
65392         Avoid conflicting types for 'unsetenv' on FreeBSD.
65393         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
65394         conflicting with FreeBSD's (5.0 and 6.1) function declaration
65395         in stdlib.h.
65396
65397 2007-02-24  Bruno Haible  <bruno@clisp.org>
65398
65399         * modules/isnanl-nolibm-tests: New file.
65400         * tests/test-isnanl.c: New file.
65401
65402         * modules/isnanl-nolibm: New file.
65403         * lib/isnanl.h: New file.
65404         * lib/isnanl.c: New file.
65405         * m4/isnanl.m4: New file.
65406
65407 2007-02-24  Bruno Haible  <bruno@clisp.org>
65408
65409         * modules/isnan-nolibm-tests: New file.
65410         * tests/test-isnan.c: New file.
65411
65412         * modules/isnan-nolibm: New file.
65413         * lib/isnan.h: New file.
65414         * lib/isnan.c: New file.
65415         * m4/isnan.m4: New file.
65416
65417 2007-02-24  Bruno Haible  <bruno@clisp.org>
65418
65419         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
65420         assume that an exponent fits in 20 bits.
65421
65422 2007-02-24  Jim Meyering  <jim@meyering.net>
65423
65424         * m4/regex.m4: Update the description of the configure-time option,
65425         --without-included-regex, to state accurately what the defaults are,
65426         and perhaps to give people an idea why using this option is risky.
65427
65428 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65429
65430         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
65431         loops on small arguments.  This attempts to avoid the problem
65432         Bruno Haible reported for AIX 4.3.2 in
65433         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
65434
65435 2007-02-23  Bruno Haible  <bruno@clisp.org>
65436
65437         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
65438         Needed for help2man.
65439
65440 2007-02-23  Karl Berry  <karl@gnu.org>
65441
65442         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
65443         exists, foo.h should be cvs-ignored, not committed.
65444
65445 2007-02-23  Eric Blake  <ebb9@byu.net>
65446
65447         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
65448         * lib/stat-time.h (includes): Likewise.
65449         * lib/utimecmp.c (includes): Likewise.
65450         * lib/utimens.h (includes): Likewise.
65451         * lib/getdate.y (includes): Also include "timespec.h" for use
65452         internal to the module.
65453         * modules/utimens (Depends-on): Revert yesterday's patch.
65454         * modules/nanosleep (Depends-on): Add missing dependency.
65455
65456 2007-02-22  Bruno Haible  <bruno@clisp.org>
65457
65458         * lib/glob.c: Don't include getlogin_r.h.
65459
65460 2007-02-22  Jim Meyering  <jim@meyering.net>
65461
65462         * modules/utimens (Depends-on): Add timespec, required for
65463         utimens.h's inclusion of timespec.h.
65464
65465 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
65466
65467         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
65468         long unreadable paths in GNU/Linux.  Problem reported by Andreas
65469         Schwab in
65470         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
65471         I'll try to think of a better way to fix the Solaris problem.
65472
65473         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
65474         like glibc; on Solaris 10, it fails with errno == EINVAL.
65475         POSIX says the behavior is unspecified if the first argument is NULL,
65476         so play it safe and never pass NULL to the system getcwd.
65477
65478 2007-02-21  Jim Meyering  <jim@meyering.net>
65479
65480         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
65481         of gettimeofday.  It would conflict with the one now always
65482         provided via sys_time_.h.  Reported by Matthew Woehlke, as
65483         an IRIX 6.5 build failure.
65484
65485 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65486
65487         Minor fixups to port to Solaris 10 with Sun C 5.8.
65488         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
65489         * modules/getcwd (Depends-on): Add dirfd.
65490         * lib/putenv.c (putenv): #undef it.
65491         (rpl_putenv): New decl.
65492         (malloc, free): Include <stdlib.h> rather than prototyping separately.
65493
65494 2007-02-20  Bruno Haible  <bruno@clisp.org>
65495
65496         * modules/stdio-tests: New file.
65497         * tests/test-stdio.c: New file.
65498
65499         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
65500         (Depends-on): Add stdio.
65501         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65502         (Include): Use <stdio.h> instead of vsnprintf.h.
65503         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65504         HAVE_DECL_VSNPRINTF.
65505         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
65506
65507         * modules/snprintf (Files): Remove lib/snprintf.h.
65508         (Depends-on): Add stdio.
65509         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65510         (Include): Use <stdio.h> instead of snprintf.h.
65511         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65512         HAVE_DECL_SNPRINTF.
65513         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
65514         * lib/getaddrinfo.c: Likewise.
65515
65516         * modules/stdio: New file.
65517         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
65518         * lib/snprintf.h: Remove file.
65519         * lib/vsnprintf.h: Remove file.
65520         * lib/.cppi-disable: Remove snprintf.h.
65521         * m4/stdio_h.m4: New file.
65522         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
65523
65524 2007-02-20  Jim Meyering  <jim@meyering.net>
65525
65526         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
65527         used by e.g., mingw.  From Bruno Haible.
65528
65529 2007-02-19  Bruno Haible  <bruno@clisp.org>
65530
65531         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
65532         warnings.
65533         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65534
65535 2007-02-19  Bruno Haible  <bruno@clisp.org>
65536
65537         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
65538         from mingw users.
65539
65540 2007-02-19  Bruno Haible  <bruno@clisp.org>
65541
65542         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
65543         warnings.
65544         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
65545
65546 2007-02-19  Jim Meyering  <jim@meyering.net>
65547
65548         Don't use FD after a successful "fdopendir (fd)".
65549         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
65550         Reset it by calling dirfd on the just-obtained DIR*.
65551
65552         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
65553         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
65554
65555 2007-02-18  Bruno Haible  <bruno@clisp.org>
65556
65557         * lib/readlink.c: Include <unistd.h>.
65558         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
65559         HAVE_READLINK.
65560         * modules/readlink (Depends-on): Add unistd.
65561         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65562         (Include): Add <unistd.h>.
65563
65564         * lib/getlogin_r.h: Remove file.
65565         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
65566         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
65567         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
65568         HAVE_DECL_GETLOGIN_R.
65569         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
65570         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65571         (Include): Use <unistd.h> instead of getlogin_r.h.
65572
65573         * lib/getcwd.h: Remove file.
65574         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
65575         * lib/xgetcwd.c: Likewise.
65576         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
65577         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
65578         * modules/getcwd (Files): Remove lib/getcwd.h.
65579         (Depends-on): Add unistd.
65580         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65581         (Include): Use <unistd.h> instad of getcwd.h.
65582
65583         * lib/ftruncate.c: Include <unistd.h> first.
65584         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
65585         Set HAVE_FTRUNCATE.
65586         * modules/ftruncate (Depends-on): Add unistd.
65587         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65588
65589         * lib/fchdir.c: Include <unistd.h> first.
65590         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
65591         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
65592         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
65593         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65594         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
65595
65596         * lib/dup2.c: Include <unistd.h> first.
65597         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
65598         HAVE_DUP2.
65599         * modules/dup2 (Depends-on): Add unistd.
65600         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65601
65602         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
65603         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
65604         REPLACE_CHOWN. Don't define chown as a macro here.
65605         * modules/chown (Depends-on): Add unistd.
65606         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65607
65608         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
65609         Add definition for GL_LINK_WARNING.
65610         (chown, dup2): New declarations.
65611         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
65612         link warning.
65613         (ftruncate): New declaration.
65614         (getcwd): New declaration, taken from old getcwd.h.
65615         (getlogin_r): New declaration, taken from old getlogin_r.h.
65616         (readlink): New declaration.
65617         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
65618         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
65619         (gl_PREREQ_UNISTD): Remove macro.
65620         (gl_UNISTD_MODULE_INDICATOR): New macro.
65621         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
65622         many new variables. Don't set UNISTD_H.
65623         * modules/unistd (Description): Change.
65624         (Depends-on): Add link-warning.
65625         (configure.ac): Update.
65626         (Makefile.am): Create unistd.h always. Substitute many new variables
65627         into it.
65628
65629 2007-02-18  Bruno Haible  <bruno@clisp.org>
65630
65631         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
65632         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
65633         HAVE_GETSUBOPT.
65634         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
65635         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
65636         * lib/getsubopt.h: Remove file.
65637         * modules/getsubopt (Files): Remove lib/getsubopt.h.
65638         (Depends-on): Add stdlib.
65639         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65640         (Includes): Use <stdlib.h> instead of getsubopt.h.
65641         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
65642         Set HAVE_GETSUBOPT.
65643         * lib/getsubopt.c: Don't include getsubopt.h.
65644
65645 2007-02-18  Bruno Haible  <bruno@clisp.org>
65646
65647         * modules/fchdir (Depends-on): Add dup2.
65648
65649 2007-02-18  Bruno Haible  <bruno@clisp.org>
65650
65651         * lib/stdlib_.h: Handle glibc's special invocation convention
65652         specially.
65653
65654 2007-02-18  Bruno Haible  <bruno@clisp.org>
65655
65656         * modules/stdlib-tests: New file.
65657         * tests/test-stdlib.c: New file.
65658
65659         * modules/mkstemp (Files): Remove lib/mkstemp.h.
65660         (Depends-on): Add stdlib.
65661         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65662         (Includes): Use <stdlib.h> instead of mkstemp.h.
65663         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65664         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
65665         * lib/mkstemp.c: Don't include mkstemp.h.
65666         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
65667         * lib/stdlib--.h: Don't include mkstemp.h.
65668
65669         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
65670         (Depends-on): Add stdlib.
65671         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65672         (Includes): Use <stdlib.h> instead of mkdtemp.h.
65673         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65674         HAVE_MKDTEMP.
65675         * lib/mkdtemp.c: Don't include mkdtemp.h.
65676         * lib/clean-temp.c: Don't include mkdtemp.h.
65677
65678         * modules/exit (Files): Remove lib/exit.h.
65679         (Depends-on): Add stdlib.
65680         (Makefile.am): Remove lib_SOURCES.
65681         (Include): Use <stdlib.h> instead of exit.h.
65682         * lib/argmatch.c: Don't include exit.h.
65683         * lib/execute.c: Likewise.
65684         * lib/pagealign_alloc.c: Likewise.
65685         * lib/pipe.c: Likewise.
65686         * lib/wait-process.c: Likewise.
65687         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
65688         * lib/exitfail.c: Likewise.
65689         * lib/savewd.c: Likewise.
65690         * lib/xsetenv.c: Likewise.
65691
65692         * modules/stdlib: New file.
65693         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
65694         and extra comments about mkstemp().
65695         * lib/exit.h: Remove file.
65696         * lib/mkdtemp.h: Remove file.
65697         * lib/mkstemp.h: Remove file.
65698         * m4/stdlib_h.m4: New file.
65699         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
65700
65701 2007-02-18  Bruno Haible  <bruno@clisp.org>
65702
65703         * modules/math-tests: New file.
65704         * tests/test-math.c: New file.
65705
65706         * modules/math: New file.
65707         * modules/mathl (Files): Remove lib/mathl.h.
65708         (Depends-on): Add math.
65709         (Makefile.am): Don't mention mathl.h.
65710         (Include): Use <math.h> instead of mathl.h.
65711         * lib/math_.h: New file.
65712         * lib/mathl.h: Remove file.
65713         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
65714         mathl.h.
65715         * lib/asinl.c: Likewise.
65716         * lib/atanl.c: Likewise.
65717         * lib/ceill.c: Likewise.
65718         * lib/cosl.c: Likewise.
65719         * lib/expl.c: Likewise.
65720         * lib/floorl.c: Likewise.
65721         * lib/frexpl.c: Likewise.
65722         * lib/ldexpl.c: Likewise.
65723         * lib/logl.c: Likewise.
65724         * lib/sincosl.c: Likewise.
65725         * lib/sinl.c: Likewise.
65726         * lib/sqrtl.c: Likewise.
65727         * lib/tanl.c: Likewise.
65728         * lib/trigl.c: Likewise.
65729         * m4/math_h.m4: New file.
65730         * MODULES.html.sh (Mathematics): Add math.
65731
65732 2007-02-17  Bruno Haible  <bruno@clisp.org>
65733
65734         * modules/wctype-tests: New file.
65735         * tests/test-wctype.c: New file.
65736
65737         * modules/wchar-tests: New file.
65738         * tests/test-wchar.c: New file.
65739
65740         * modules/unistd-tests: New file.
65741         * tests/test-unistd.c: New file.
65742
65743         * modules/time-tests: New file.
65744         * tests/test-time.c: New file.
65745
65746         * modules/sysexits-tests: New file.
65747         * tests/test-sysexits.c: New file.
65748
65749         * modules/sys_time-tests: New file.
65750         * tests/test-sys_time.c: New file.
65751
65752         * modules/sys_stat-tests: New file.
65753         * tests/test-sys_stat.c: New file.
65754
65755         * modules/sys_socket-tests: New file.
65756         * tests/test-sys_socket.c: New file.
65757
65758         * modules/sys_select-tests: New file.
65759         * tests/test-sys_select.c: New file.
65760
65761         * modules/string-tests: New file.
65762         * tests/test-string.c: New file.
65763
65764         * modules/stdbool-tests: New file.
65765         * tests/test-stdbool.c: New file.
65766
65767         * modules/netinet_in-tests: New file.
65768         * tests/test-netinet_in.c: New file.
65769
65770         * modules/inttypes-tests: New file.
65771         * tests/test-inttypes.c: New file.
65772
65773         * modules/fcntl-tests: New file.
65774         * tests/test-fcntl.c: New file.
65775
65776         * modules/byteswap-tests: New file.
65777         * tests/test-byteswap.c: New file.
65778
65779         * modules/arpa_inet-tests: New file.
65780         * tests/test-arpa_inet.c: New file.
65781
65782 2007-02-17  Bruno Haible  <bruno@clisp.org>
65783
65784         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
65785         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
65786         if the corresponding module is not enabled. Emit link warnings if
65787         the function is used nevertheless.
65788         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
65789         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
65790         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
65791         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
65792         * modules/inttypes (Depends-on): Add link-warning.
65793         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65794         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
65795         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
65796         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
65797         * modules/imaxdiv (configure.ac): Likewise.
65798         * modules/strtoimax (configure.ac): Likewise.
65799         * modules/strtoumax (configure.ac): Likewise.
65800
65801 2007-02-17  Bruno Haible  <bruno@clisp.org>
65802
65803         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
65804         gl_STRING_MODULE_INDICATOR_DEFAULTS.
65805         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
65806         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
65807
65808 2007-02-17  Bruno Haible  <bruno@clisp.org>
65809
65810         * modules/link-warning: New file.
65811         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
65812         * lib/string_.h (GL_LINK_WARNING): Remove definition.
65813         * modules/string (Depends-on): Add link-warning.
65814         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65815         string.h.
65816         * MODULES.html.sh (Support for building libraries and executables): Add
65817         link-warning.
65818
65819 2007-02-17  Bruno Haible  <bruno@clisp.org>
65820
65821         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
65822         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
65823         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
65824         long lines.
65825
65826 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
65827             Bruno Haible  <bruno@clisp.org>
65828
65829         * modules/tmpfile: New file.
65830         * lib/tmpfile.c: New file.
65831         * m4/tmpfile.m4: New file.
65832         * MODULES.html.sh (func_all_modules): New section "Input/output".
65833
65834 2007-02-15  Bruno Haible  <bruno@clisp.org>
65835
65836         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
65837         (supports_delete_on_close): New function.
65838         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
65839
65840 2007-02-14  Bruno Haible  <bruno@clisp.org>
65841
65842         * modules/mbspcasecmp-tests: New file.
65843         * tests/test-mbspcasecmp.sh: New file.
65844         * tests/test-mbspcasecmp.c: New file.
65845
65846         New module mbspcasecmp.
65847         * modules/mbspcasecmp: New file.
65848         * lib/mbspcasecmp.c: New file.
65849         * lib/string_.h (strncasecmp): Change warning message.
65850         (mbspcasecmp): New declaration.
65851         * m4/mbspcasecmp.m4: New file.
65852         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65853         GNULIB_MBSPCASECMP.
65854         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
65855         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
65856
65857 2007-02-14  Bruno Haible  <bruno@clisp.org>
65858
65859         * modules/mbsncasecmp-tests: New file.
65860         * tests/test-mbsncasecmp.sh: New file.
65861         * tests/test-mbsncasecmp.c: New file.
65862
65863         New module mbsncasecmp.
65864         * modules/mbsncasecmp: New file.
65865         * lib/mbsncasecmp.c: New file.
65866         * lib/string_.h (mbsncasecmp): New declaration.
65867         * m4/mbsncasecmp.m4: New file.
65868         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65869         GNULIB_MBSNCASECMP.
65870         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
65871         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
65872
65873 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65874
65875         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
65876         Verify that it doesn't overlap with our flags.
65877         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
65878         do not have the desired effect in multibyte locales; instead, use
65879         mbscasecmp.
65880         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
65881         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
65882         we don't require GNU fnmatch ourselves (if our users require it, they
65883         should do so explicitly).
65884
65885         Fix regex code so it doesn't rely on strcasecmp.
65886         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
65887         Otherwise, include gnulib's langinfo.h.
65888         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
65889         undesirable behavior in non-C locales.  Instead, rely on localecharset.
65890         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
65891         * modules/regex (FILES): Remove m4/codeset.m4.
65892         (Depends-on): Add localcharset.  Remove strcase.
65893
65894 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65895
65896         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
65897         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
65898
65899 2007-02-13  Bruno Haible  <bruno@clisp.org>
65900
65901         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
65902         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65903
65904 2007-02-12  Bruno Haible  <bruno@clisp.org>
65905
65906         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65907         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
65908         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
65909         time warning rather than a link error.
65910
65911 2007-02-12  Bruno Haible  <bruno@clisp.org>
65912
65913         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
65914         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65915         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65916
65917 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65918
65919         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
65920         args, not 2.
65921
65922 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65923
65924         New module 'time', so that apps can include <time.h> as per
65925         POSIX and GNU instead of separate include files like time_r.h
65926         and timegm.h.  This implementation tries out a simpler approach
65927         for replacing decls in standard include files (as compared to
65928         the string module), somewhat as an experiment.
65929
65930         * config/srclist.txt: Comment out mktime.c for now.
65931         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
65932         since it doesn't apply any more.  Use generic wording instead.
65933         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
65934         'time'.
65935         * lib/time_.h, m4/time_h.m4, modules/time: New files.
65936         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
65937         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
65938         Don't include <sys/types.h>; no longer needed since we assume C89.
65939         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
65940         * lib/strftime.c: Likewise.
65941         * lib/time_r.c: Likewise.
65942         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
65943         * lib/nanosleep.c: Include <time.h> first, to check interface.
65944         * lib/strptime.c: Likewise.
65945         * lib/time_r.c: Likewise.
65946         * lib/timegm.c: Likewise.
65947         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
65948         needed.
65949         * lib/timegm.c: Don't include timegm.h; no longer needed.
65950         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
65951         time.h now handles any problems in that area.
65952         (struct timespec, nanosleep): Remove; time.h now arranges for these.
65953         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
65954         that time.h defines struct timespec.
65955         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
65956         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
65957         handles that.
65958         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
65959         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
65960         needed.  Set REPLACE_LOCALTIME.
65961         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
65962         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
65963         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
65964         nanosleep; time_h.m4 now does that.  Don't require
65965         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
65966         module handles this now.
65967         * modules/getdate (Depends-on): Remove timespec.  Add time.
65968         * modules/nanosleep (Depends-on): Likewise.
65969         * modules/stat-time (Depends-on): Likewise.
65970         * modules/nanosleep (Include): Include time.h, not timespec.h.
65971         * modules/strptime (Files): Remove lib/strptime.h.
65972         (Depends-on): Add extensions, time.
65973         (Include): Include time.h, not strptime.h.
65974         * modules/time_r (Files): Remove lib/time_r.h.
65975         (Depends-on): Add time.
65976         (Include): Include time.h, not time_r.h.
65977         * modules/timegm: Likewise.
65978         * modules/timespec (Description): Now does timespec-related decls
65979         of our own, instead of struct timespec itself.
65980         (Depends-on): Add time; remove extensions.
65981         (Maintainer): Add self.
65982         * modules/utimecmp (Depends-on): Add time; remove timespec.
65983         * modules/utimens (Depends-on): Likewise.
65984         * modules/xnanosleep (Depends-on): Likewise.
65985
65986 2007-02-11  Bruno Haible  <bruno@clisp.org>
65987
65988         * lib/c-strstr.c: Include allocsa.h.
65989         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65990         * lib/c-strcasestr.c: Include allocsa.h.
65991         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65992         * lib/strcasestr.c: Include allocsa.h.
65993         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65994         * lib/mbsstr.c: Include allocsa.h.
65995         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65996         allocsa/freesa instead of malloc/free.
65997         * lib/mbscasestr.c: Include allocsa.h.
65998         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65999         allocsa/freesa instead of malloc/free.
66000         * modules/c-strstr (Depends-on): Add allocsa.
66001         * modules/c-strcasestr (Depends-on): Likewise.
66002         * modules/strcasestr (Depends-on): Likewise.
66003         * modules/mbsstr (Depends-on): Likewise.
66004         * modules/mbscasestr (Depends-on): Likewise.
66005
66006 2007-02-11  Bruno Haible  <bruno@clisp.org>
66007
66008         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
66009
66010         * modules/mbsspn-tests: New file.
66011         * tests/test-mbsspn.sh: New file.
66012         * tests/test-mbsspn.c: New file.
66013
66014 2007-02-11  Bruno Haible  <bruno@clisp.org>
66015
66016         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
66017
66018         * modules/mbspbrk-tests: New file.
66019         * tests/test-mbspbrk.sh: New file.
66020         * tests/test-mbspbrk.c: New file.
66021
66022 2007-02-11  Bruno Haible  <bruno@clisp.org>
66023
66024         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
66025         unneeded cast.
66026
66027         * modules/mbscspn-tests: New file.
66028         * tests/test-mbscspn.sh: New file.
66029         * tests/test-mbscspn.c: New file.
66030
66031 2007-02-11  Bruno Haible  <bruno@clisp.org>
66032
66033         * modules/mbscasecmp-tests: New file.
66034         * tests/test-mbscasecmp.sh: New file.
66035         * tests/test-mbscasecmp.c: New file.
66036
66037 2007-02-11  Bruno Haible  <bruno@clisp.org>
66038
66039         Ensure O(n) worst-case complexity of mbscasestr.
66040         * lib/mbscasestr.c: Include stdbool.h.
66041         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66042         functions.
66043         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
66044         the bookkeeping indicates that it's worth it.
66045         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
66046
66047         * modules/mbscasestr-tests: New file.
66048         * tests/test-mbscasestr1.c: New file.
66049         * tests/test-mbscasestr2.sh: New file.
66050         * tests/test-mbscasestr2.c: New file.
66051         * tests/test-mbscasestr3.sh: New file.
66052         * tests/test-mbscasestr3.c: New file.
66053         * tests/test-mbscasestr4.sh: New file.
66054         * tests/test-mbscasestr4.c: New file.
66055         * m4/locale-tr.m4: New file.
66056
66057 2007-02-11  Bruno Haible  <bruno@clisp.org>
66058
66059         Ensure O(n) worst-case complexity of mbsstr.
66060         * lib/mbsstr.c: Include stdbool.h.
66061         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66062         functions.
66063         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
66064         bookkeeping indicates that it's worth it.
66065         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
66066
66067         * modules/mbsstr-tests: New file.
66068         * tests/test-mbsstr1.c: New file.
66069         * tests/test-mbsstr2.sh: New file.
66070         * tests/test-mbsstr2.c: New file.
66071         * tests/test-mbsstr3.sh: New file.
66072         * tests/test-mbsstr3.c: New file.
66073         * m4/locale-fr.m4: New file.
66074
66075 2007-02-11  Bruno Haible  <bruno@clisp.org>
66076
66077         * lib/mbsrchr.c (mbsrchr): Fix bug.
66078
66079         * modules/mbsrchr-tests: New file.
66080         * tests/test-mbsrchr.sh: New file.
66081         * tests/test-mbsrchr.c: New file.
66082
66083 2007-02-11  Bruno Haible  <bruno@clisp.org>
66084
66085         * lib/mbschr.c (mbschr): Fix bug.
66086
66087         * modules/mbschr-tests: New file.
66088         * tests/test-mbschr.sh: New file.
66089         * tests/test-mbschr.c: New file.
66090         * m4/locale-zh.m4: New file.
66091
66092 2007-02-11  Bruno Haible  <bruno@clisp.org>
66093
66094         Support for copying multibyte string iterators.
66095         * lib/mbiter.h: Include <string.h>.
66096         (mbiter_multi_copy): New function.
66097         (mbi_copy): New macro.
66098         * lib/mbuiter.h: Include <string.h>.
66099         (mbuiter_multi_copy): New function.
66100         (mbui_copy): New macro.
66101
66102 2007-02-11  Bruno Haible  <bruno@clisp.org>
66103
66104         New module mbslen.
66105         * modules/mbslen: New file.
66106         * lib/mbslen.c: New file.
66107         * lib/string_.h (mbslen): New declaration.
66108         * m4/mbslen.m4: New file.
66109         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66110         GNULIB_MBSLEN.
66111         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
66112         * MODULES.html.sh (Internationalization functions): Add mbslen.
66113
66114 2007-02-11  Bruno Haible  <bruno@clisp.org>
66115
66116         Ensure O(n) worst-case complexity of strcasestr substitute.
66117         * lib/strcasestr.c: Include stdbool.h.
66118         (knuth_morris_pratt): New function.
66119         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66120         bookkeeping indicates that it's worth it.
66121         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
66122
66123         * modules/strcasestr-tests: New file.
66124         * tests/test-strcasestr.c: New file.
66125
66126 2007-02-11  Bruno Haible  <bruno@clisp.org>
66127
66128         Ensure O(n) worst-case complexity of c_strcasestr.
66129         * lib/c-strcasestr.c: Include stdbool.h, string.h.
66130         (knuth_morris_pratt): New function.
66131         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
66132         the bookkeeping indicates that it's worth it.
66133         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
66134
66135         * modules/c-strcasestr-tests: New file.
66136         * tests/test-c-strcasestr.c: New file.
66137
66138 2007-02-11  Bruno Haible  <bruno@clisp.org>
66139
66140         Ensure O(n) worst-case complexity of c_strstr.
66141         * lib/c-strstr.c: Include stdbool.h, string.h.
66142         (knuth_morris_pratt): New function.
66143         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66144         bookkeeping indicates that it's worth it.
66145         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
66146
66147         * lib/c-strstr.c: Complete rewrite for maintainability.
66148
66149         * modules/c-strstr-tests: New file.
66150         * tests/test-c-strstr.c: New file.
66151
66152 2007-02-11  Bruno Haible  <bruno@clisp.org>
66153
66154         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
66155         5.2.1 and earlier, whereby \055 was treated just like the range
66156         delimiter '-'.
66157         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66158
66159 2007-02-08  Bruno Haible  <bruno@clisp.org>
66160
66161         * modules/regex (Depends-on): Add stdbool.
66162         Reported by Dalibor Topic <robilad@kaffe.org>.
66163
66164 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66165
66166         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
66167         Prefer returning from main to exiting from it.
66168         Remove unnecessary parens after sizeof.
66169
66170 2007-02-05  Bruno Haible  <bruno@clisp.org>
66171
66172         New module mbssep.
66173         * modules/mbssep: New file.
66174         * lib/mbssep.c: New file.
66175         * lib/string_.h (strsep): Add a conditional link warning.
66176         (mbssep): New declaration.
66177         * m4/mbssep.m4: New file.
66178         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66179         GNULIB_MBSSEP.
66180         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
66181         * MODULES.html.sh (Internationalization functions): Add mbssep.
66182
66183 2007-02-05  Bruno Haible  <bruno@clisp.org>
66184
66185         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
66186         Optimize search in case of 1 delimiter.
66187
66188 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66189
66190         * lib/acl.h: Include sys/types.h before sys/acl.h.
66191
66192 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66193
66194         Merge upstream fix for glibc bugzilla #3957:
66195
66196         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
66197
66198         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
66199         bit for RE_HAT_LISTS_NOT_NEWLINE.
66200         (build_charclass_op): Remove bogus comment.
66201
66202 2007-02-05  Simon Josefsson  <simon@josefsson.org>
66203
66204         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
66205
66206 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66207
66208         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
66209         * lib/memmem.c [!defined _LIBC]: Include config.h.
66210
66211 2007-02-04  Bruno Haible  <bruno@clisp.org>
66212
66213         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
66214         warning message.
66215
66216 2007-02-04  Bruno Haible  <bruno@clisp.org>
66217
66218         New module mbstok_r.
66219         * modules/mbstok_r: New file.
66220         * lib/mbstok_r.c: New file.
66221         * lib/string_.h (strtok_r): Change argument names to match the
66222         comments. Add a conditional link warning.
66223         (mbstok_r): New declaration.
66224         * m4/mbstok_r.m4: New file.
66225         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66226         GNULIB_MBSTOK_R.
66227         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
66228         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
66229
66230 2007-02-04  Bruno Haible  <bruno@clisp.org>
66231
66232         New module mbsspn.
66233         * modules/mbsspn: New file.
66234         * lib/mbsspn.c: New file.
66235         * lib/string_.h (strspn): Add a conditional link warning.
66236         (mbsspn): New declaration.
66237         * m4/mbsspn.m4: New file.
66238         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66239         GNULIB_MBSSPN.
66240         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
66241         * MODULES.html.sh (Internationalization functions): Add mbsspn.
66242
66243 2007-02-04  Bruno Haible  <bruno@clisp.org>
66244
66245         New module mbspbrk.
66246         * modules/mbspbrk: New file.
66247         * lib/mbspbrk.c: New file.
66248         * lib/string_.h (strpbrk): Add a conditional link warning.
66249         (mbspbrk): New declaration.
66250         * m4/mbspbrk.m4: New file.
66251         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66252         GNULIB_MBSPBRK.
66253         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
66254         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
66255
66256 2007-02-04  Bruno Haible  <bruno@clisp.org>
66257
66258         New module mbscspn.
66259         * modules/mbscspn: New file.
66260         * lib/mbscspn.c: New file.
66261         * lib/string_.h (strcspn): Add a conditional link warning.
66262         (mbscspn): New declaration.
66263         * m4/mbscspn.m4: New file.
66264         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66265         GNULIB_MBSCSPN.
66266         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
66267         * MODULES.html.sh (Internationalization functions): Add mbscspn.
66268
66269 2007-02-04  Bruno Haible  <bruno@clisp.org>
66270
66271         New module mbscasestr, reduced goal of strcasestr.
66272         * modules/mbscasestr: New file.
66273         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
66274         (mbscasestr): Renamed from strcasestr.
66275         * lib/strcasestr.c: Don't include mbuiter.h.
66276         (strcasestr): Remove support for multibyte locales.
66277         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
66278         Change the conditional link warning.
66279         (mbscasestr): New declaration.
66280         * m4/mbscasestr.m4: New file.
66281         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
66282         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
66283         REPLACE_STRCASESTR.
66284         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
66285         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66286         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66287         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
66288         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
66289         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66290         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
66291         (Depends-on): Remove mbuiter.
66292         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
66293
66294 2007-02-04  Bruno Haible  <bruno@clisp.org>
66295
66296         Simplify handling of strncasecmp.
66297         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
66298         the conditional link warning.
66299         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66300         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
66301         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
66302         * modules/strcase (configure.ac): Don't invoke
66303         gl_STRING_MODULE_INDICATOR.
66304         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
66305
66306 2007-02-04  Bruno Haible  <bruno@clisp.org>
66307
66308         New module mbscasecmp, reduced goal of strcasecmp.
66309         * modules/mbscasecmp: New file.
66310         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
66311         (mbscasecmp): Renamed from strcasecmp.
66312         * lib/strcasecmp.c: Don't include mbuiter.h.
66313         (strcasecmp): Remove support for multibyte locales.
66314         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
66315         Change the conditional link warning.
66316         (mbscasecmp): New declaration.
66317         * m4/mbscasecmp.m4: New file.
66318         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
66319         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
66320         REPLACE_STRCASECMP.
66321         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
66322         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66323         GNULIB_MBSCASECMP.
66324         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
66325         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
66326         * modules/strcase (Files): Remove m4/mbrtowc.m4.
66327         (Depends-on): Remove mbuiter.
66328         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
66329
66330 2007-02-04  Bruno Haible  <bruno@clisp.org>
66331
66332         New module mbsstr. Remove module strstr.
66333         * modules/mbsstr: New file.
66334         * modules/strstr: Remove file.
66335         * lib/mbsstr.c: Renamed from lib/strstr.c.
66336         (mbsstr): Renamed from strstr.
66337         * lib/string_.h (strstr): Remove declaration. Change the conditional
66338         link warning.
66339         (mbsstr): New declaration.
66340         * m4/mbsstr.m4: New file.
66341         * m4/strstr.m4: Remove file.
66342         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
66343         REPLACE_STRSTR.
66344         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
66345         Don't initialize GNULIB_STRSTR.
66346         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
66347         substitute GNULIB_STRSTR and REPLACE_STRSTR.
66348         * MODULES.html.sh (Internationalization functions): Add mbsstr.
66349         (Support for systems lacking ANSI C 89): Remove strstr.
66350
66351 2007-02-04  Bruno Haible  <bruno@clisp.org>
66352
66353         New module mbsrchr.
66354         * modules/mbsrchr: New file.
66355         * lib/mbsrchr.c: New file.
66356         * lib/string_.h (strrchr): Add a conditional link warning.
66357         (mbsrchr): New declaration.
66358         * m4/mbsrchr.m4: New file.
66359         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66360         GNULIB_MBSRCHR.
66361         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
66362         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
66363
66364 2007-02-04  Bruno Haible  <bruno@clisp.org>
66365
66366         New module mbschr.
66367         * modules/mbschr: New file.
66368         * lib/mbschr.c: New file.
66369         * lib/string_.h (strchr): Add a conditional link warning.
66370         (mbschr): New declaration.
66371         * m4/mbschr.m4: New file.
66372         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66373         GNULIB_MBSCHR.
66374         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
66375         * MODULES.html.sh (Internationalization functions): Add mbschr.
66376
66377 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66378
66379         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
66380
66381         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
66382
66383 2007-02-04  Bruno Haible  <bruno@clisp.org>
66384
66385         New module description section 'configure.ac-early'.
66386         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
66387         (func_get_autoconf_early_snippet): New function.
66388         (func_import, func_create_testdir): Use it. Remove special cases for
66389         modules 'extensions' and 'lock'.
66390         * modules/extensions (configure.ac-early): Require
66391         gl_USE_SYSTEM_EXTENSIONS.
66392         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
66393
66394 2007-02-04  Bruno Haible  <bruno@clisp.org>
66395
66396         Make use of gcj-4.3's -fsource and -ftarget option.
66397         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
66398         and if so try the options -fsource and -ftarget.
66399         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
66400         source_version, ftarget_option, target_version arguments.
66401         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
66402         (is_envjavac_oldgcj_14_14_usable): Renamed from
66403         is_envjavac_gcj_14_14_usable.
66404         (is_envjavac_oldgcj_14_13_usable): Renamed from
66405         is_envjavac_gcj_14_13_usable.
66406         (is_gcj_present): Update.
66407         (is_gcj_43, is_gcj43_usable): New functions.
66408         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
66409         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
66410         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
66411         try the options -fsource and -ftarget.
66412
66413 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66414
66415         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
66416         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
66417         larger value.
66418
66419 2007-02-03  Jim Meyering  <jim@meyering.net>
66420
66421         Give tools a better chance to allocate space for very large buffers.
66422         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
66423
66424         Make pwd and readlink work also when run with an unreadable parent dir
66425         on systems with openat support.
66426         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
66427         provided getcwd function, even when we have openat support.
66428         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
66429
66430 2007-02-02  Bruno Haible  <bruno@clisp.org>
66431
66432         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66433         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
66434         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
66435         portability problems if one of these functions is only used on specific
66436         platforms.
66437         Reported by Paul Eggert.
66438
66439 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
66440
66441         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
66442         is causing more trouble than it's curing.
66443         * lib/regex_internal.h (__mempcpy): Remove.
66444         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
66445         (and make the code a tad smaller to boot).
66446         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
66447
66448 2007-02-02  Jim Meyering  <jim@meyering.net>
66449
66450         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
66451         section, not in the Makefile.am: one.
66452
66453 2007-02-02  Eric Blake  <ebb9@byu.net>
66454
66455         * lib/strchrnul.c: Always include config.h first.
66456
66457         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
66458         gnulib strstr is not necessary here.
66459
66460 2007-02-02  Simon Josefsson  <simon@josefsson.org>
66461
66462         * m4/socklen.m4: Fix typo.
66463
66464 2007-02-02  Eric Blake  <ebb9@byu.net>
66465
66466         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
66467         * modules/netinet_in (Makefile.am): Likewise.
66468
66469 2007-02-01  Bruno Haible  <bruno@clisp.org>
66470
66471         * lib/string_.h (GL_LINK_WARNING): New macro.
66472         (strcasecmp, strstr, strcasestr): If provided by the system,
66473         conditionally define as a macro that leads to a warning instead of to
66474         an error.
66475         (strncasecmp): Conditionally define as a macro that leads to a warning.
66476
66477 2007-02-01  Karl Berry  <karl@gnu.org>
66478
66479         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
66480
66481 2007-02-01  Bruno Haible  <bruno@clisp.org>
66482
66483         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
66484         renamings.
66485
66486 2007-02-01  Eric Blake  <ebb9@byu.net>
66487
66488         * modules/regex (Depends-on): Revert dependence on mempcpy.
66489         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
66490         module's definition of mempcpy.
66491         Reported by Paul Eggert.
66492
66493 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66494
66495         * lib/string_.h: If the gnulib module XYZ is not present, undefine
66496         the symbol XYZ before redefining it.  This fixes a problem with
66497         programs that don't use XYZ, when compiled on systems that define
66498         XYZ to something else.
66499
66500 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
66503         occurs when "mkdir -m foo" creates a setgid directory that is (1)
66504         writeable to group or other and (2) is intended to have a special
66505         mode bit that is set or cleared.  In such a case, the directory
66506         should be neither group- nor other-writeable until the special
66507         mode bits are right.
66508
66509 2007-01-31  Eric Blake  <ebb9@byu.net>
66510
66511         * modules/mountlist (Depends-on): Add strstr.
66512
66513         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
66514         bug.
66515         * modules/string (Makefile.am): Remove redundant replacement.
66516         * modules/regex (Depends-on): Add mempcpy.
66517
66518 2007-01-31  Bruno Haible  <bruno@clisp.org>
66519
66520         New module description field 'Link'.
66521         * gnulib-tool (func_usage): Document --extract-link-directive.
66522         (sed_extract_prog): Recognize 'Link' directive.
66523         (func_get_link_directive): New function.
66524         (func_import): Show summary of link directives.
66525         Handle --extract-link-directive option.
66526         * modules/acl (Link): New section.
66527         * modules/clock-time (Link): New section.
66528         * modules/euidaccess (Link): New section.
66529         * modules/gettext (Link): New section.
66530         * modules/iconv (Link): New section.
66531         * modules/lock (Link): New section.
66532         * modules/nanosleep (Link): New section.
66533         * modules/readline (Link): New section.
66534
66535 2007-01-27  Bruno Haible  <bruno@clisp.org>
66536
66537         Enforce the use of gnulib modules for unportable <string.h> functions.
66538         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
66539         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
66540         (gl_HEADER_STRING_H_BODY): Require it.
66541         * lib/string_.h: If the gnulib module XYZ is not present, redefine
66542         the symbol XYZ to one that gives a link error.
66543         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
66544         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
66545         * modules/mempcpy (configure.ac): Likewise.
66546         * modules/memrchr (configure.ac): Likewise.
66547         * modules/stpcpy (configure.ac): Likewise.
66548         * modules/stpncpy (configure.ac): Likewise.
66549         * modules/strcase (configure.ac): Likewise.
66550         * modules/strcasestr (configure.ac): Likewise.
66551         * modules/strchrnul (configure.ac): Likewise.
66552         * modules/strdup (configure.ac): Likewise.
66553         * modules/strndup (configure.ac): Likewise.
66554         * modules/strnlen (configure.ac): Likewise.
66555         * modules/strpbrk (configure.ac): Likewise.
66556         * modules/strsep (configure.ac): Likewise.
66557         * modules/strstr (configure.ac): Likewise.
66558         * modules/strtok_r (configure.ac): Likewise.
66559
66560 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
66561
66562         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
66563
66564 2007-01-30  Jim Meyering  <jim@meyering.net>
66565
66566         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
66567
66568 2007-01-29  Bruno Haible  <bruno@clisp.org>
66569
66570         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
66571         * lib/execute.c: Likewise.
66572         * lib/pipe.c: Likewise.
66573         * lib/printf-args.h: Likewise.
66574         * lib/printf-args.c: Likewise.
66575         * lib/printf-parse.c: Likewise.
66576         * lib/vasnprintf.c: Likewise.
66577
66578 2007-01-29  Eric Blake  <ebb9@byu.net>
66579
66580         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
66581         declaration.
66582
66583 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
66584
66585         * lib/strptime.h (strptime): Use 'restrict' for args where
66586         POSIX requires this.
66587         * lib/strptime.c (strptime): Likewise.
66588         Change license notice from LGPL to GPL, since gnulib-tool will
66589         change this as needed.
66590         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
66591         defined.
66592         Include "strptime.h" first, to check interface.
66593         Do not #undef _LIBC and _NL_CURRENT.
66594         Do not include <stdlib.h>; no longer needed.
66595         Include "time_r.h" and declare ptime_locale_status
66596         only if _LIBC is not defined.
66597         (__P): Remove unused macro.
66598         (match_string): Bring back glibc version, but use it only if _LIBC
66599         is defined.
66600         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
66601         Remove unnecessary assertion and abort() call.
66602         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
66603         * m4/strptime.m4: Fix serial number comment.
66604         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
66605         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
66606         (Depends-on): Add time_r.
66607
66608 2007-01-29  Bruno Haible  <bruno@clisp.org>
66609
66610         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66611         strptime.
66612         * modules/strptime (Depends-on): Add stdbool.
66613         * lib/strptime.h: Include <time.h> always. Add comments.
66614
66615 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66616
66617         * modules/strptime: New file.
66618         * lib/strptime.h: New file.
66619         * lib/strptime.c: New file.
66620         * m4/strptime.m4: New file.
66621
66622 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66623
66624         * MODULES.html.sh: New module mpsort.
66625         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
66626
66627         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
66628         a circularity problem with HP-UX ia64 reported by Bob Proulx in
66629         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
66630         All uses changed.
66631         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
66632         All uses changed.
66633         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
66634         to _Restrict_.
66635         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
66636         the parameter matches the prototype.
66637
66638 2007-01-28  Jim Meyering  <jim@meyering.net>
66639
66640         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
66641         sys/time.h here, reverting that part of the previous patch:
66642         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
66643
66644 2007-01-28  Bruno Haible  <bruno@clisp.org>
66645
66646         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
66647         value of $(SYS_TIME_H).
66648         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
66649         remove it conditionally, too. [added by Jim Meyering]
66650         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
66651         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66652         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
66653         GETTIMEOFDAY_REPLACEMENT to 1.
66654
66655 2007-01-28  Bruno Haible  <bruno@clisp.org>
66656
66657         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
66658         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
66659         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
66660         Set UNISTD_H instead of UNISTD_H2.
66661         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
66662
66663 2007-01-28  Bruno Haible  <bruno@clisp.org>
66664
66665         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
66666         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
66667
66668 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66669
66670         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
66671         (func_create_testdir): Ensure C locale for `grep' and `tr'
66672         character ranges.
66673         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
66674         ACLOCAL_AMFLAGS parsing state machine.
66675
66676 2007-01-27  Bruno Haible  <bruno@clisp.org>
66677
66678         * modules/unistr/base: Update.
66679
66680 2007-01-27  Bruno Haible  <bruno@clisp.org>
66681
66682         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
66683         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
66684         * modules/unistr/u32-mbtouc-unsafe: Renamed from
66685         modules/unistr/u32-mbtouc.
66686         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
66687         * lib/unistr.h: Update.
66688         * lib/linebreak.c: Update.
66689         * modules/unistr/u32-mbtouc: Renamed from
66690         modules/unistr/u32-mbtouc-safe.
66691         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
66692         * lib/unistr.h: Update.
66693         * lib/unistr/u32-to-u8.c: Update.
66694         * lib/unistr/u32-to-u16.c: Update.
66695
66696 2007-01-27  Bruno Haible  <bruno@clisp.org>
66697
66698         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
66699         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
66700         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
66701         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
66702         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
66703         * modules/unistr/u16-mbtouc-unsafe: Renamed from
66704         modules/unistr/u16-mbtouc.
66705         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
66706         * lib/unistr.h: Update.
66707         * lib/linebreak.c: Update.
66708         * modules/linebreak: Update.
66709         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
66710         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
66711         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
66712         * modules/unistr/u16-mbtouc: Renamed from
66713         modules/unistr/u16-mbtouc-safe.
66714         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
66715         * lib/unistr.h: Update.
66716         * lib/unistr/u16-to-u8.c: Update.
66717         * modules/unistr/u16-to-u8: Update.
66718         * lib/unistr/u16-to-u32.c: Update.
66719         * modules/unistr/u16-to-u32: Update.
66720
66721 2007-01-27  Bruno Haible  <bruno@clisp.org>
66722
66723         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
66724         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
66725         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
66726         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
66727         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
66728         * modules/unistr/u8-mbtouc-unsafe: Renamed from
66729         modules/unistr/u8-mbtouc.
66730         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
66731         * lib/unistr.h: Update.
66732         * lib/striconveh.c: Update.
66733         * modules/striconveh: Update.
66734         * lib/linebreak.c: Update.
66735         * modules/linebreak: Update.
66736         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
66737         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
66738         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
66739         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
66740         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
66741         * lib/unistr.h: Update.
66742         * lib/striconveh.c: Update.
66743         * modules/striconveh: Update.
66744         * lib/unistr/u8-to-u16.c: Update.
66745         * modules/unistr/u8-to-u16: Update.
66746         * lib/unistr/u8-to-u32.c: Update.
66747         * modules/unistr/u8-to-u32: Update.
66748
66749 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66750
66751         Sync from Libtool.
66752         * lib/argz.c: Do not include strings.h nor memory.h, include
66753         string.h unconditionally.  Patch by Simon Josefsson.
66754
66755 2007-01-27  Bruno Haible  <bruno@clisp.org>
66756
66757         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
66758         from gl_HEADER_STRING_H_BODY.
66759         (gl_HEADER_STRING_H_BODY): Require it.
66760         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
66761         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66762         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66763         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66764         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66765         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
66766         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66767         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66768         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
66769         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66770         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66771         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
66772         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66773         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
66774         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66775
66776 2007-01-27  Bruno Haible  <bruno@clisp.org>
66777
66778         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
66779         check_PROGRAMS into noinst_PROGRAMS.
66780         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
66781         check_PROGRAMS in this case.
66782         (func_import): Set for_test to false.
66783         (func_create_testdir): Set for_test to true.
66784
66785 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66786             Bruno Haible  <bruno@clisp.org>
66787
66788         * modules/strcasestr (Files): Remove lib/strcasestr.h.
66789         (Depends-on): Add string.
66790         (Includes): Use <string.h> instead of strcasestr.h.
66791         * modules/string (Makefile.am): Also substitute the value of
66792         REPLACE_STRCASESTR.
66793         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
66794         assume strcasestr is declared in <string.h> not <strings.h>. Also
66795         set REPLACE_STRCASESTR.
66796         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
66797         REPLACE_STRCASESTR.
66798         * lib/strcasestr.h: Remove file.
66799         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
66800         * lib/string_.h (strcasestr): New declaration.
66801
66802 2007-01-27  Bruno Haible  <bruno@clisp.org>
66803
66804         * lib/string_.h: Use 'extern'.
66805
66806 2007-01-27  Jim Meyering  <jim@meyering.net>
66807
66808         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
66809         of set-but-not-used local, "q".
66810
66811         * lib/mempcpy.c: Include <config.h> before <string.h>.
66812         This fixes a compilation error on HP-UX, due to the system's
66813         "restrict"-using mempcpy prototype.
66814
66815 2007-01-26  Bruno Haible  <bruno@clisp.org>
66816
66817         Small optimization.
66818         * lib/javacomp.c: Include c-strstr.h.
66819          (is_envjavac_gcj): Use c_strstr instead of strstr.
66820         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
66821
66822 2007-01-26  Bruno Haible  <bruno@clisp.org>
66823
66824         * MODULES.html.sh (Unicode string functions): Add the new modules.
66825
66826         * modules/uniconv/u32-strconv-to-locale: New file.
66827         * lib/uniconv/u32-strconv-to-locale.c: New file.
66828
66829         * modules/uniconv/u16-strconv-to-locale: New file.
66830         * lib/uniconv/u16-strconv-to-locale.c: New file.
66831
66832         * modules/uniconv/u8-strconv-to-locale: New file.
66833         * lib/uniconv/u8-strconv-to-locale.c: New file.
66834
66835         * modules/uniconv/u32-strconv-from-locale: New file.
66836         * lib/uniconv/u32-strconv-from-locale.c: New file.
66837
66838         * modules/uniconv/u16-strconv-from-locale: New file.
66839         * lib/uniconv/u16-strconv-from-locale.c: New file.
66840
66841         * modules/uniconv/u8-strconv-from-locale: New file.
66842         * lib/uniconv/u8-strconv-from-locale.c: New file.
66843
66844         * modules/uniconv/u32-strconv-to-enc: New file.
66845         * lib/uniconv/u32-strconv-to-enc.c: New file.
66846         * modules/uniconv/u32-strconv-to-enc-tests: New file.
66847         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
66848
66849         * modules/uniconv/u16-strconv-to-enc: New file.
66850         * lib/uniconv/u16-strconv-to-enc.c: New file.
66851         * lib/uniconv/u-strconv-to-enc.h: New file.
66852         * modules/uniconv/u16-strconv-to-enc-tests: New file.
66853         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
66854
66855         * modules/uniconv/u8-strconv-to-enc: New file.
66856         * lib/uniconv/u8-strconv-to-enc.c: New file.
66857         * modules/uniconv/u8-strconv-to-enc-tests: New file.
66858         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
66859
66860         * modules/uniconv/u32-strconv-from-enc: New file.
66861         * lib/uniconv/u32-strconv-from-enc.c: New file.
66862         * modules/uniconv/u32-strconv-from-enc-tests: New file.
66863         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
66864
66865         * modules/uniconv/u16-strconv-from-enc: New file.
66866         * lib/uniconv/u16-strconv-from-enc.c: New file.
66867         * modules/uniconv/u16-strconv-from-enc-tests: New file.
66868         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
66869
66870         * modules/uniconv/u8-strconv-from-enc: New file.
66871         * lib/uniconv/u8-strconv-from-enc.c: New file.
66872         * lib/uniconv/u-strconv-from-enc.h: New file.
66873         * modules/uniconv/u8-strconv-from-enc-tests: New file.
66874         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
66875
66876         * modules/uniconv/u32-conv-from-enc: New file.
66877         * lib/uniconv/u32-conv-from-enc.c: New file.
66878         * modules/uniconv/u32-conv-from-enc-tests: New file.
66879         * tests/uniconv/test-u32-conv-from-enc.c: New file.
66880
66881         * modules/uniconv/u16-conv-from-enc: New file.
66882         * lib/uniconv/u16-conv-from-enc.c: New file.
66883         * lib/uniconv/u-conv-from-enc.h: New file.
66884         * modules/uniconv/u16-conv-from-enc-tests: New file.
66885         * tests/uniconv/test-u16-conv-from-enc.c: New file.
66886
66887         * modules/uniconv/u8-conv-from-enc: New file.
66888         * lib/uniconv/u8-conv-from-enc.c: New file.
66889         * modules/uniconv/u8-conv-from-enc-tests: New file.
66890         * tests/uniconv/test-u8-conv-from-enc.c: New file.
66891
66892         * modules/uniconv/base: New file.
66893         * lib/uniconv.h: New file.
66894
66895 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66896
66897         * doc/gnulib-tool.texi (Initial import): Update to match current
66898         behavior with strdup module.
66899         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
66900         * lib/memmem.h: Remove; all uses removed.  This is now done
66901         by <string.h>.
66902         * lib/mempcpy.h: Likewise.
66903         * lib/memrchr.h: Likewise.
66904         * lib/stpcpy.h: Likewise.
66905         * lib/stpncpy.h: Likewise.
66906         * lib/strcase.h: Likewise.
66907         * lib/strchrnul.h: Likewise.
66908         * lib/strdup.h: Likewise.
66909         * lib/strndup.h: Likewise.
66910         * lib/strnlen.h: Likewise.
66911         * lib/strpbrk.h: Likewise.
66912         * lib/strsep.h: Likewise.
66913         * lib/strstr.h: Likewise.
66914         * lib/strtok_r.h: Likewise.
66915         * lib/string_.h: New file.
66916         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
66917         Rely on <string.h> instead.
66918         * lib/canon-host.c: Likewise.
66919         * lib/chdir-long.c: Likewise.
66920         * lib/concatpath.c: Likewise.
66921         * lib/exclude.c: Likewise.
66922         * lib/fchdir.c: Likewise.
66923         * lib/getaddrinfo.c: Likewise.
66924         * lib/getcwd.c: Likewise.
66925         * lib/getsubopt.c: Likewise.
66926         * lib/glob.c: Likewise.
66927         * lib/hard-locale.c: Likewise.
66928         * lib/iconvme.c: Likewise.
66929         * lib/javacomp.c: Likewise.
66930         * lib/mempcpy.c: Likewise.
66931         * lib/memrchr.c: Likewise.
66932         * lib/regex_internal.h: Likewise.
66933         * lib/stpncpy.c: Likewise.
66934         * lib/strcasecmp.c: Likewise.
66935         * lib/strchrnul.c: Likewise.
66936         * lib/strdup.c: Likewise.
66937         * lib/striconv.c: Likewise.
66938         * lib/striconveh.c: Likewise.
66939         * lib/striconveha.c: Likewise.
66940         * lib/strncasecmp.c: Likewise.
66941         * lib/strndup.c: Likewise.
66942         * lib/strnlen.c: Likewise.
66943         * lib/strsep.c: Likewise.
66944         * lib/strstr.c: Likewise.
66945         * lib/strtok_r.c: Likewise.
66946         * lib/userspec.c: Likewise.
66947         * lib/w32spawn.h: Likewise.
66948         * lib/xstrndup.c: Likewise.
66949         * lib/mountlist.c (strstr): Remove decl.
66950         * m4/string_h.m4: New file.
66951         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
66952         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
66953         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
66954         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
66955         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
66956         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
66957         Set REPLACE_STRCASECMP if necessary.
66958         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
66959         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
66960         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
66961         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
66962         HAVE_DECL_STRDUP if necessary.
66963         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
66964         since gl_FUNC_STRNDUP does that now.
66965         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
66966         Check for decl here...
66967         (gl_PREREQ_STRNLEN): ... not here.
66968         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
66969         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
66970         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
66971         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
66972         necessary.
66973         * modules/string: New file.
66974         * modules/memmem (Files): Remove special-purpose include file.
66975         (Depends-on): Add string.
66976         (Include): Include <string.h>, not the removed file.
66977         * modules/mempcpy: Likewise.
66978         * modules/memrchr: Likewise.
66979         * modules/stpcpy: Likewise.
66980         * modules/stpncpy: Likewise.
66981         * modules/strcase: Likewise.
66982         * modules/strchrnul: Likewise.
66983         * modules/strdup: Likewise.
66984         * modules/strndup: Likewise.
66985         * modules/strnlen: Likewise.
66986         * modules/strpbrk: Likewise.
66987         * modules/strsep: Likewise.
66988         * modules/strstr: Likewise.
66989         * modules/strtok_r: Likewise.
66990         * tests/test-dirname.c: Don't include "strdup.h", since
66991         <string.h> now suffices.
66992         * tests/test-memmem.c: Don't include "memmem.h", since
66993         <string.h> now suffices.
66994
66995 2007-01-25  Bruno Haible  <bruno@clisp.org>
66996
66997         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
66998         *resultp is 0.
66999
67000         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
67001         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
67002         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
67003         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
67004
67005         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
67006         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
67007         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
67008         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
67009         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
67010         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
67011
67012 2007-01-24  Bruno Haible  <bruno@clisp.org>
67013
67014         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
67015         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
67016         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
67017         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
67018         gl_FUNC_FTS_CORE.
67019         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
67020         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
67021         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67022         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
67023         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
67024         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
67025         gl_FUNC_FCHOWNAT.
67026         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
67027         gl_FUNC_STRFTIME.
67028         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
67029         Reported by Ralf Wildenhues.
67030
67031 2007-01-24  Bruno Haible  <bruno@clisp.org>
67032
67033         Drop AC_REQUIRE calls that are redundant with the module dependencies.
67034         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
67035         gl_GETADDRINFO.
67036         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
67037         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
67038         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
67039
67040 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
67041
67042         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
67043         Don't use 'exit'; just return from 'main'.
67044         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
67045
67046         * lib/fnmatch_.h: Readjust white space and comments to match
67047         glibc, to avoid spurious diffs.
67048
67049 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67050
67051         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
67052         2004-12-01 change by Jakub Jelinek, since this code won't compile
67053         if !LIBC.  Problem reported by Bob Proulx.
67054
67055 2007-01-23  Bruno Haible  <bruno@clisp.org>
67056
67057         * lib/striconveh.c: Include c-strcaseeq.h.
67058         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
67059         * modules/striconveh (Depends-on): Add c-strcaseeq.
67060
67061 2007-01-23  Bruno Haible  <bruno@clisp.org>
67062
67063         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
67064
67065         * modules/c-strcaseeq: New file.
67066         * lib/c-strcaseeq.h: New file.
67067
67068         * modules/streq: New file.
67069         * lib/streq.h: New file.
67070
67071 2007-01-23  Bruno Haible  <bruno@clisp.org>
67072
67073         * modules/striconveha-tests: New file.
67074         * tests/test-striconveha.c: New file.
67075
67076         * lib/striconveha.h: Include <stdbool.h>.
67077         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
67078         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
67079         (mem_iconveha_notranslit): Renamed from mem_iconveha.
67080         (mem_iconveha): New function.
67081         (str_iconveha_notranslit): Renamed from str_iconveha.
67082         (str_iconveha): New function.
67083         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
67084         c-strcase.
67085
67086 2007-01-23  Bruno Haible  <bruno@clisp.org>
67087
67088         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
67089         encodings without forgiving before trying any encoding with handler.
67090         (str_iconveha): Try all encodings without forgiving before trying any
67091         encoding with handler.
67092
67093 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67094
67095         Import the following changes from libc.
67096
67097         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67098
67099         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
67100
67101         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67102
67103         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
67104         normal_bracket label.
67105
67106         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
67107
67108         [BZ #361]
67109         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
67110         to normal_bracket after fetching the next character.
67111
67112 2007-01-22  Bruno Haible  <bruno@clisp.org>
67113
67114         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
67115         argument.
67116         * lib/striconveh.c (iconv_carefully_1): New function.
67117         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
67118         argument.
67119         (str_cd_iconveh): Update.
67120         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
67121         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
67122         * tests/test-striconveh.c (MAGIC): New macro.
67123         (new_offsets): New function.
67124         (main): Test call with and without offsets.
67125
67126 2007-01-22  Bruno Haible  <bruno@clisp.org>
67127
67128         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
67129         * modules/sys_select (Makefile.am): Likewise.
67130         * modules/sys_socket (Makefile.am): Likewise.
67131         * modules/sys_time (Makefile.am): Likewise.
67132
67133 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67134
67135         * modules/gettimeofday (License): Change from GPL to LGPL, since
67136         gettimeofday is a library function.
67137
67138 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67139
67140         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
67141
67142 2007-01-21  Bruno Haible  <bruno@clisp.org>
67143
67144         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
67145
67146 2007-01-21  Bruno Haible  <bruno@clisp.org>
67147
67148         * modules/striconveha: New file.
67149         * lib/striconveha.h: New file.
67150         * lib/striconveha.c: New file.
67151         * MODULES.html.sh (Internationalization functions): Add striconveha.
67152         * lib/striconv.c (str_iconv): Optimize the case of an empty input
67153         string.
67154         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
67155
67156 2007-01-21  Bruno Haible  <bruno@clisp.org>
67157
67158         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
67159         * lib/striconveh.c (str_iconveh): Likewise.
67160
67161 2007-01-21  Bruno Haible  <bruno@clisp.org>
67162
67163         * lib/striconveh.h (mem_iconveh): New declaration.
67164         * lib/striconveh.c (mem_iconveh): New function.
67165         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
67166
67167 2007-01-21  Bruno Haible  <bruno@clisp.org>
67168
67169         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
67170
67171         * lib/striconveh.h (mem_cd_iconveh): Change specification.
67172         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
67173         original result buffer.
67174         (str_cd_iconveh): Update.
67175         * tests/test-striconveh.c (main): Update.
67176
67177         * lib/striconv.h (mem_cd_iconv): Change specification.
67178         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
67179         result buffer.
67180         (str_cd_iconv): Update.
67181         * tests/test-striconv.c (main): Update.
67182
67183 2007-01-21  Bruno Haible  <bruno@clisp.org>
67184
67185         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
67186
67187 2007-01-20  Jim Meyering  <jim@meyering.net>
67188
67189         * lib/userspec.c (parse_with_separator): If a user or group string
67190         starts with "+", skip the corresponding name-to-ID look-up, since
67191         such a look-up must fail: user and group names may not include "+".
67192
67193 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67194
67195         * lib/poll.c: Include sys/time.h and time.h unconditionally,
67196         since we now assume the sys_time module.
67197         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
67198         check for sys/time.h; no longer needed.
67199         * modules/poll (Depends-on): Depend on sys_time.
67200
67201 2007-01-18  Bruno Haible  <bruno@clisp.org>
67202
67203         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
67204         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67205
67206         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
67207         gettimeofday.
67208
67209         * tests/test-gettimeofday.c: Include <time.h>.
67210         (dummy): Remove variable.
67211
67212         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
67213         gl_HEADER_SYS_TIME_H.
67214         (gl_HEADER_SYS_TIME_H): New macro.
67215
67216         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
67217         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67218         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
67219         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
67220         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67221         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
67222         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
67223         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67224         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
67225         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
67226         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67227
67228         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
67229         last change; it caused a compilation error when cross-compiling to
67230         Cygwin.
67231
67232 2007-01-18  Jim Meyering  <jim@meyering.net>
67233
67234         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
67235         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
67236         than the race-prone "test -d sys || mkdir sys".
67237         (configure.ac): Use AC_PROG_MKDIR_P.
67238         * modules/sys_select: Likewise.
67239         * modules/sys_socket: Likewise.
67240         * modules/sys_time: Likewise.
67241
67242 2007-01-18  Eric Blake  <ebb9@byu.net>
67243
67244         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
67245         replace gettimeofday.
67246         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
67247         name, to avoid infinite recursion.
67248
67249 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
67250
67251         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
67252         module sys_time.
67253         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
67254         assume timespec.h defines struct timeval.
67255         * lib/settime.c: Likewise.
67256         * lib/utimens.c: Likewise.
67257         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
67258         since we now assume the gettimeofday module.
67259         * lib/tempname.c (__gen_tempname): Likewise.
67260         * lib/gettimeofday.h: Remove.
67261         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
67262         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
67263         Include <time.h>, for 'time()'.
67264         (localtime_buffer_addr): Also use this workaround if
67265         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
67266         to simplify the uses.  All uses changed.
67267         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
67268         that #undef is inside {}, and 'const' follows type name consistently.
67269         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
67270         (gettimeofday): Do not use the maximum possible value for
67271         tv->tv_usec, since that might break usages other than ls.c.
67272         Instead, we'll leave ls.c alone.  This undoes today's patch
67273         by Bruno.  Add a compile-time warning for 1s-clock resolution;
67274         we've never observed the problem but might as well keep the
67275         canary.
67276         * lib/nanosleep.c: Include timespec.h first, for interface check.
67277         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
67278         now assume the sys_time module.
67279         * lib/tempname.c: Likewise.
67280         * lib/timespec.h: Likewise.
67281         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
67282         needed.
67283         * lib/strftime.c: Likewise.
67284         * lib/timespec.h: Likewise.
67285         * lib/posixtm.c: Include posixtm.h first, for interface check.
67286         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
67287         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
67288         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
67289         * lib/sys_time_.h: New file.
67290         * lib/timespec.h (struct timespec): Use long int, not long.
67291         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67292         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
67293         Remove obsolescent call to AC_HEADER_TIME.
67294         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
67295         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67296         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67297         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
67298         Likewise.
67299         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
67300         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
67301         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
67302         into the sys_time module.  Check for gettimeofday just once.
67303         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
67304         for gettimeofday signature to just check the signature.  Merely
67305         compile it, since linking doesn't test signature.  Improve test for
67306         whether gettimeofday.o is actually needed.
67307         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
67308         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
67309         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
67310         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67311         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
67312         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
67313         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
67314         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
67315         than worrying about sys/time.h.
67316         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67317         Don't bother worrying about TIME_WITH_SYS_TIME.
67318         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
67319         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
67320         * m4/sys_time_h.m4: New file.
67321         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
67322         Don't include sys/time.h.  Return from main rather than exiting.
67323         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
67324         all uses changed.
67325         * modules/gethrxtime (Depends-on): Add sys_time.
67326         * modules/gettime (Depends-on): Likewise.
67327         * modules/gettimeofday (Depends-on): Likewise.
67328         * modules/nanosleep (Depends-on): Likewise.
67329         * modules/settime (Depends-on): Likewise.
67330         * modules/tempname (Depends-on): Likewise.
67331         * modules/utimens (Depends-on): Likewise.
67332         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
67333         (Include): Change back to <sys/time.h>.
67334         (Maintainer): Add self.
67335         * modules/sys_time: New file.
67336         * modules/tempname (Depends-on): Add gettimeofday.
67337         * tests/test-gettimeofday.c: Include <sys/time.h>
67338         rather than gettimeofday.h.
67339
67340 2007-01-17  Bruno Haible  <bruno@clisp.org>
67341
67342         * gnulib-tool (func_get_license): Revert last patch. Instead, let
67343         the license default to GPL.
67344         (func_create_testdir): Don't complain if a module is LGPL and its
67345         tests module depends on GPLed modules.
67346
67347 2007-01-17  Bruno Haible  <bruno@clisp.org>
67348
67349         * lib/gettimeofday.c (gettimeofday): Add code for the case
67350         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
67351         maximum possible value for tv->tv_usec, rather than the minimum one.
67352
67353 2005-10-08  Martin Lambers  <marlam@marlam.de>
67354 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67355 2007-01-16  Bruno Haible  <bruno@clisp.org>
67356
67357         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
67358         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
67359         gl_FUNC_GETTIMEOFDAY.
67360         (Include): Add gettimeofday.h.
67361         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
67362         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
67363         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
67364         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
67365         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
67366         * lib/gettimeofday.h: New file.
67367         * lib/gettimeofday.c: Include <sys/timeb.h>.
67368         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
67369         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67370         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
67371         fall back on time().
67372
67373         * tests/test-gettimeofday.c: New file.
67374         * modules/gettimeofday-tests: New file.
67375
67376 2007-01-16  Eric Blake  <ebb9@byu.net>
67377
67378         * modules/fnmatch (Depends-on): Depend on wchar.
67379         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
67380         * m4/fnmatch.m4: Likewise.
67381         * modules/mbchar (Makefile.am): Assume <wchar.h>.
67382         * m4/mbchar.m4: Likewise.
67383         * modules/mbswidth (Depends-on): Depend on wchar.
67384         * lib/mbswidth.c: Assume <wchar.h>.
67385         * m4/mbswidth.m4: Likewise.
67386         * modules/quotearg (Depends-on): Depend on wchar.
67387         * lib/quotearg.c: Assume <wchar.h>.
67388         * m4/quotearg.m4: Likewise.
67389         * modules/regex (Depends-on): Depend on wchar.
67390         * lib/regex_internal.h: Assume <wchar.h>.
67391         * m4/regex.m4: Likewise.
67392         * modules/stdint (Depends-on): Depend on wchar.
67393         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
67394         * m4/stdint.m4: Likewise.
67395         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
67396         * modules/strftime (Depends-on): Depend on wchar.
67397         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
67398         * modules/strtol (Depends-on): Depend on wchar.
67399         * lib/strtol.c: Assume <wchar.h>.
67400         * modules/wcwidth (Depends-on): Depend on wchar.
67401         * lib/wcwidth.h: Assume <wchar.h>.
67402         * m4/wcwidth.m4: Likewise.
67403
67404 2007-01-16  Bruno Haible  <bruno@clisp.org>
67405
67406         * modules/csharpexec-script: New, created from...
67407         * modules/csharpexec: ... this.
67408
67409 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
67410
67411         * modules/javaexec-script: New, created from...
67412         * modules/javaexec: ... this.
67413
67414 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67415
67416         * modules/poll (Dependencies): Add sys_select.
67417
67418 2007-01-15  Jim Meyering  <jim@meyering.net>
67419
67420         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
67421         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
67422         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
67423         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
67424
67425 2007-01-15  Bruno Haible  <bruno@clisp.org>
67426
67427         * modules/striconveh: New file.
67428         * lib/striconveh.h: New file.
67429         * lib/striconveh.c: New file.
67430         * MODULES.html.sh (Internationalization functions): Add striconveh.
67431
67432         * modules/striconveh-tests: New file.
67433         * tests/test-striconveh.c: New file.
67434
67435 2007-01-15  Bruno Haible  <bruno@clisp.org>
67436
67437         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
67438         not from GNU libiconv or GNU libc.
67439
67440 2007-01-15  Bruno Haible  <bruno@clisp.org>
67441
67442         * doc/gnulib-intro.texi (Copyright): Explain the different license
67443         terms for module descriptions, autoconf macros, tests, documentation.
67444
67445 2007-01-14  Bruno Haible  <bruno@clisp.org>
67446
67447         * modules/striconv-tests: New file.
67448         * tests/test-striconv.c: New file.
67449
67450 2007-01-14  Bruno Haible  <bruno@clisp.org>
67451
67452         * modules/iconv-tests: New file.
67453         * tests/test-iconv.c: New file.
67454
67455 2007-01-14  Bruno Haible  <bruno@clisp.org>
67456
67457         * gnulib-tool (func_get_license): For test modules, use the license of
67458         the main module.
67459
67460 2007-01-14  Bruno Haible  <bruno@clisp.org>
67461
67462         * modules/iconv (Include): Clarify that <iconv.h> can only be included
67463         if iconv is found to exist.
67464
67465 2007-01-14  Bruno Haible  <bruno@clisp.org>
67466
67467         * modules/c-ctype-tests: New file.
67468         * tests/test-c-ctype.c: New file.
67469
67470 2007-01-14  Bruno Haible  <bruno@clisp.org>
67471
67472         * modules/binary-io-tests: New file.
67473         * tests/test-binary-io.sh: New file.
67474         * tests/test-binary-io.c: New file.
67475
67476 2007-01-14  Bruno Haible  <bruno@clisp.org>
67477
67478         * modules/array-oset-tests: New file.
67479         * tests/test-array_oset.c: New file.
67480
67481 2007-01-14  Bruno Haible  <bruno@clisp.org>
67482
67483         * modules/array-list-tests: New file.
67484         * tests/test-array_list.c: New file.
67485
67486 2007-01-14  Bruno Haible  <bruno@clisp.org>
67487
67488         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
67489         and make.
67490         Reported by Simon Josefsson in
67491         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
67492
67493 2007-01-14  Bruno Haible  <bruno@clisp.org>
67494
67495         * modules/allocsa-tests: New file.
67496         * tests/test-allocsa.c: New file.
67497
67498 2007-01-14  Bruno Haible  <bruno@clisp.org>
67499
67500         * modules/fchdir (Depends-on): Add absolute-header.
67501         * modules/unistd (Depends-on): Likewise.
67502
67503 2006-12-30  Bruno Haible  <bruno@clisp.org>
67504
67505         * modules/fchdir: New file.
67506         * modules/unistd (Files): Add lib/unistd_.h.
67507         (Makefile.am): Generate unistd.h from unistd_.h.
67508         * lib/fchdir.c: New file.
67509         * lib/dirent_.h: New file.
67510         * lib/unistd_.h: New file.
67511         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
67512         * m4/fchdir.m4: New file.
67513         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
67514         (gl_HEADER_UNISTD): Invoke it.
67515         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
67516         function.
67517         * lib/backupfile.c (opendir, closedir): Undefine.
67518         * lib/chown.c (open, close): Undefine.
67519         * lib/clean-temp.c (open, close): Undefine.
67520         * lib/copy-file.c (open, close): Undefine.
67521         * lib/execute.c (open, close): Undefine.
67522         * lib/fsusage.c (open, close): Undefine.
67523         * lib/gc-gnulib.c (open, close): Undefine.
67524         * lib/getcwd.c (opendir, closedir): Undefine.
67525         * lib/glob.c (opendir, closedir): Undefine.
67526         * lib/javacomp.c (open, close): Undefine.
67527         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
67528         * lib/openat-proc.c (open, close): Undefine.
67529         * lib/pagealign_alloc.c (open, close): Undefine.
67530         * lib/pipe.c (open, close): Undefine.
67531         * lib/progreloc.c (open, close): Undefine.
67532         * lib/savedir.c (opendir, closedir): Undefine.
67533         * lib/utime.c (open, close): Undefine.
67534         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
67535
67536 2007-01-10  Bruno Haible  <bruno@clisp.org>
67537
67538         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
67539
67540 2007-01-12  Eric Blake  <ebb9@byu.net>
67541
67542         Provide a robust <wchar.h>.  Further simplifications are now
67543         possible in other modules, but not included here.
67544         * modules/wchar: New module.
67545         * m4/wchar.m4: New file.
67546         * lib/wchar_.h: Likewise.
67547         * modules/mbchar (Depends-on): Depend on wchar, as the first use
67548         of the new module.
67549         * MODULES.html.sh (Extended multibyte and wide character utilities):
67550         New section.
67551
67552 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
67553
67554         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
67555         to a reasonable default for memory allocation.
67556         (xreadlink): Don't allocate a huge buffer, to work around a buggy
67557         file system that reports garbage st_size values for symlinks.
67558         Problem reported by Liyang Hu.
67559
67560 2007-01-11  Simon Josefsson  <simon@josefsson.org>
67561
67562         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
67563         Emacs .#* auto-save files).
67564
67565 2007-01-11  Bruno Haible  <bruno@clisp.org>
67566
67567         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
67568         directory.
67569
67570 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67571
67572         Use @...@ consistently in lib/wctype_.h.
67573         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
67574         on it being set to 1 or 0.
67575         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
67576         go back to AC_SUBSTing it.
67577         * modules/wctype (Makefile.am): Undo previous change.
67578
67579 2007-01-10  Eric Blake  <ebb9@byu.net>
67580
67581         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
67582         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
67583         * modules/wctype (Makefile.am): Likewise.
67584         Reported by Chris McGuire.
67585
67586 2007-01-10  Jim Meyering  <jim@meyering.net>
67587
67588         fts.c: a small readability/maintainability improvement
67589         * lib/fts.c (fts_read): Make this code slightly more readable and
67590         maintainable by hoisting the "sp->fts_cur = p" assignments to
67591         immediately follow the statements that set P.  Derived from
67592         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
67593
67594 2007-01-10  Eric Blake  <ebb9@byu.net>
67595
67596         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
67597         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
67598         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67599         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
67600         Reported by Chris McGuire.
67601
67602 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67603
67604         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
67605         in sed script.
67606
67607 2007-01-09  Bruno Haible  <bruno@clisp.org>
67608
67609         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
67610         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
67611         variables.
67612         (func_module): Use them.
67613
67614 2007-01-09  Bruno Haible  <bruno@clisp.org>
67615
67616         * modules/unistr/base: New file.
67617         * lib/unistr.h: New file.
67618
67619         * modules/unistr/u8-to-u16: New file.
67620         * lib/unistr/u8-to-u16.c: New file.
67621
67622         * modules/unistr/u8-to-u32: New file.
67623         * lib/unistr/u8-to-u32.c: New file.
67624
67625         * modules/unistr/u16-to-u8: New file.
67626         * lib/unistr/u16-to-u8.c: New file.
67627
67628         * modules/unistr/u16-to-u32: New file.
67629         * lib/unistr/u16-to-u32.c: New file.
67630
67631         * modules/unistr/u32-to-u8: New file.
67632         * lib/unistr/u32-to-u8.c: New file.
67633
67634         * modules/unistr/u32-to-u16: New file.
67635         * lib/unistr/u32-to-u16.c: New file.
67636
67637         * modules/unistr/u8-check: New file.
67638         * modules/unistr/u16-check: New file.
67639         * modules/unistr/u32-check: New file.
67640         * lib/unistr/u8-check.c: New file.
67641         * lib/unistr/u16-check.c: New file.
67642         * lib/unistr/u32-check.c: New file.
67643
67644         * modules/unistr/u8-chr: New file.
67645         * modules/unistr/u16-chr: New file.
67646         * modules/unistr/u32-chr: New file.
67647         * lib/unistr/u8-chr.c: New file.
67648         * lib/unistr/u16-chr.c: New file.
67649         * lib/unistr/u32-chr.c: New file.
67650
67651         * modules/unistr/u8-cmp: New file.
67652         * modules/unistr/u16-cmp: New file.
67653         * modules/unistr/u32-cmp: New file.
67654         * lib/unistr/u8-cmp.c: New file.
67655         * lib/unistr/u16-cmp.c: New file.
67656         * lib/unistr/u32-cmp.c: New file.
67657
67658         * modules/unistr/u8-cpy: New file.
67659         * modules/unistr/u16-cpy: New file.
67660         * modules/unistr/u32-cpy: New file.
67661         * lib/unistr/u8-cpy.c: New file.
67662         * lib/unistr/u16-cpy.c: New file.
67663         * lib/unistr/u32-cpy.c: New file.
67664         * lib/unistr/u-cpy.h: New file.
67665
67666         * modules/unistr/u8-cpy-alloc: New file.
67667         * modules/unistr/u16-cpy-alloc: New file.
67668         * modules/unistr/u32-cpy-alloc: New file.
67669         * lib/unistr/u8-cpy-alloc.c: New file.
67670         * lib/unistr/u16-cpy-alloc.c: New file.
67671         * lib/unistr/u32-cpy-alloc.c: New file.
67672         * lib/unistr/u-cpy-alloc.h: New file.
67673
67674         * modules/unistr/u8-endswith: New file.
67675         * modules/unistr/u16-endswith: New file.
67676         * modules/unistr/u32-endswith: New file.
67677         * lib/unistr/u8-endswith.c: New file.
67678         * lib/unistr/u16-endswith.c: New file.
67679         * lib/unistr/u32-endswith.c: New file.
67680         * lib/unistr/u-endswith.h: New file.
67681
67682         * modules/unistr/u8-mblen: New file.
67683         * modules/unistr/u16-mblen: New file.
67684         * modules/unistr/u32-mblen: New file.
67685         * lib/unistr/u8-mblen.c: New file.
67686         * lib/unistr/u16-mblen.c: New file.
67687         * lib/unistr/u32-mblen.c: New file.
67688
67689         * modules/unistr/u8-mbtouc: New file.
67690         * modules/unistr/u16-mbtouc: New file.
67691         * modules/unistr/u32-mbtouc: New file.
67692         * lib/unistr/u8-mbtouc.c: New file.
67693         * lib/unistr/u16-mbtouc.c: New file.
67694         * lib/unistr/u32-mbtouc.c: New file.
67695
67696         * modules/unistr/u8-mbtouc-safe: New file.
67697         * modules/unistr/u16-mbtouc-safe: New file.
67698         * modules/unistr/u32-mbtouc-safe: New file.
67699         * lib/unistr/u8-mbtouc-safe.c: New file.
67700         * lib/unistr/u16-mbtouc-safe.c: New file.
67701         * lib/unistr/u32-mbtouc-safe.c: New file.
67702
67703         * modules/unistr/u8-move: New file.
67704         * modules/unistr/u16-move: New file.
67705         * modules/unistr/u32-move: New file.
67706         * lib/unistr/u8-move.c: New file.
67707         * lib/unistr/u16-move.c: New file.
67708         * lib/unistr/u32-move.c: New file.
67709         * lib/unistr/u-move.h: New file.
67710
67711         * modules/unistr/u8-next: New file.
67712         * modules/unistr/u16-next: New file.
67713         * modules/unistr/u32-next: New file.
67714         * lib/unistr/u8-next.c: New file.
67715         * lib/unistr/u16-next.c: New file.
67716         * lib/unistr/u32-next.c: New file.
67717
67718         * modules/unistr/u8-prev: New file.
67719         * modules/unistr/u16-prev: New file.
67720         * modules/unistr/u32-prev: New file.
67721         * lib/unistr/u8-prev.c: New file.
67722         * lib/unistr/u16-prev.c: New file.
67723         * lib/unistr/u32-prev.c: New file.
67724
67725         * modules/unistr/u8-set: New file.
67726         * modules/unistr/u16-set: New file.
67727         * modules/unistr/u32-set: New file.
67728         * lib/unistr/u8-set.c: New file.
67729         * lib/unistr/u16-set.c: New file.
67730         * lib/unistr/u32-set.c: New file.
67731         * lib/unistr/u-set.h: New file.
67732
67733         * modules/unistr/u8-startswith: New file.
67734         * modules/unistr/u16-startswith: New file.
67735         * modules/unistr/u32-startswith: New file.
67736         * lib/unistr/u8-startswith.c: New file.
67737         * lib/unistr/u16-startswith.c: New file.
67738         * lib/unistr/u32-startswith.c: New file.
67739         * lib/unistr/u-startswith.h: New file.
67740
67741         * modules/unistr/u8-stpcpy: New file.
67742         * modules/unistr/u16-stpcpy: New file.
67743         * modules/unistr/u32-stpcpy: New file.
67744         * lib/unistr/u8-stpcpy.c: New file.
67745         * lib/unistr/u16-stpcpy.c: New file.
67746         * lib/unistr/u32-stpcpy.c: New file.
67747         * lib/unistr/u-stpcpy.h: New file.
67748
67749         * modules/unistr/u8-stpncpy: New file.
67750         * modules/unistr/u16-stpncpy: New file.
67751         * modules/unistr/u32-stpncpy: New file.
67752         * lib/unistr/u8-stpncpy.c: New file.
67753         * lib/unistr/u16-stpncpy.c: New file.
67754         * lib/unistr/u32-stpncpy.c: New file.
67755         * lib/unistr/u-stpncpy.h: New file.
67756
67757         * modules/unistr/u8-strcat: New file.
67758         * modules/unistr/u16-strcat: New file.
67759         * modules/unistr/u32-strcat: New file.
67760         * lib/unistr/u8-strcat.c: New file.
67761         * lib/unistr/u16-strcat.c: New file.
67762         * lib/unistr/u32-strcat.c: New file.
67763         * lib/unistr/u-strcat.h: New file.
67764
67765         * modules/unistr/u8-strchr: New file.
67766         * modules/unistr/u16-strchr: New file.
67767         * modules/unistr/u32-strchr: New file.
67768         * lib/unistr/u8-strchr.c: New file.
67769         * lib/unistr/u16-strchr.c: New file.
67770         * lib/unistr/u32-strchr.c: New file.
67771
67772         * modules/unistr/u8-strcmp: New file.
67773         * modules/unistr/u16-strcmp: New file.
67774         * modules/unistr/u32-strcmp: New file.
67775         * lib/unistr/u8-strcmp.c: New file.
67776         * lib/unistr/u16-strcmp.c: New file.
67777         * lib/unistr/u32-strcmp.c: New file.
67778
67779         * modules/unistr/u8-strcpy: New file.
67780         * modules/unistr/u16-strcpy: New file.
67781         * modules/unistr/u32-strcpy: New file.
67782         * lib/unistr/u8-strcpy.c: New file.
67783         * lib/unistr/u16-strcpy.c: New file.
67784         * lib/unistr/u32-strcpy.c: New file.
67785         * lib/unistr/u-strcpy.h: New file.
67786
67787         * modules/unistr/u8-strcspn: New file.
67788         * modules/unistr/u16-strcspn: New file.
67789         * modules/unistr/u32-strcspn: New file.
67790         * lib/unistr/u8-strcspn.c: New file.
67791         * lib/unistr/u16-strcspn.c: New file.
67792         * lib/unistr/u32-strcspn.c: New file.
67793         * lib/unistr/u-strcspn.h: New file.
67794
67795         * modules/unistr/u8-strdup: New file.
67796         * modules/unistr/u16-strdup: New file.
67797         * modules/unistr/u32-strdup: New file.
67798         * lib/unistr/u8-strdup.c: New file.
67799         * lib/unistr/u16-strdup.c: New file.
67800         * lib/unistr/u32-strdup.c: New file.
67801         * lib/unistr/u-strdup.h: New file.
67802
67803         * modules/unistr/u8-strlen: New file.
67804         * modules/unistr/u16-strlen: New file.
67805         * modules/unistr/u32-strlen: New file.
67806         * lib/unistr/u8-strlen.c: New file.
67807         * lib/unistr/u16-strlen.c: New file.
67808         * lib/unistr/u32-strlen.c: New file.
67809         * lib/unistr/u-strlen.h: New file.
67810
67811         * modules/unistr/u8-strmblen: New file.
67812         * modules/unistr/u16-strmblen: New file.
67813         * modules/unistr/u32-strmblen: New file.
67814         * lib/unistr/u8-strmblen.c: New file.
67815         * lib/unistr/u16-strmblen.c: New file.
67816         * lib/unistr/u32-strmblen.c: New file.
67817
67818         * modules/unistr/u8-strmbtouc: New file.
67819         * modules/unistr/u16-strmbtouc: New file.
67820         * modules/unistr/u32-strmbtouc: New file.
67821         * lib/unistr/u8-strmbtouc.c: New file.
67822         * lib/unistr/u16-strmbtouc.c: New file.
67823         * lib/unistr/u32-strmbtouc.c: New file.
67824
67825         * modules/unistr/u8-strncat: New file.
67826         * modules/unistr/u16-strncat: New file.
67827         * modules/unistr/u32-strncat: New file.
67828         * lib/unistr/u8-strncat.c: New file.
67829         * lib/unistr/u16-strncat.c: New file.
67830         * lib/unistr/u32-strncat.c: New file.
67831         * lib/unistr/u-strncat.h: New file.
67832
67833         * modules/unistr/u8-strncmp: New file.
67834         * modules/unistr/u16-strncmp: New file.
67835         * modules/unistr/u32-strncmp: New file.
67836         * lib/unistr/u8-strncmp.c: New file.
67837         * lib/unistr/u16-strncmp.c: New file.
67838         * lib/unistr/u32-strncmp.c: New file.
67839
67840         * modules/unistr/u8-strncpy: New file.
67841         * modules/unistr/u16-strncpy: New file.
67842         * modules/unistr/u32-strncpy: New file.
67843         * lib/unistr/u8-strncpy.c: New file.
67844         * lib/unistr/u16-strncpy.c: New file.
67845         * lib/unistr/u32-strncpy.c: New file.
67846         * lib/unistr/u-strncpy.h: New file.
67847
67848         * modules/unistr/u8-strnlen: New file.
67849         * modules/unistr/u16-strnlen: New file.
67850         * modules/unistr/u32-strnlen: New file.
67851         * lib/unistr/u8-strnlen.c: New file.
67852         * lib/unistr/u16-strnlen.c: New file.
67853         * lib/unistr/u32-strnlen.c: New file.
67854         * lib/unistr/u-strnlen.h: New file.
67855
67856         * modules/unistr/u8-strpbrk: New file.
67857         * modules/unistr/u16-strpbrk: New file.
67858         * modules/unistr/u32-strpbrk: New file.
67859         * lib/unistr/u8-strpbrk.c: New file.
67860         * lib/unistr/u16-strpbrk.c: New file.
67861         * lib/unistr/u32-strpbrk.c: New file.
67862         * lib/unistr/u-strpbrk.h: New file.
67863
67864         * modules/unistr/u8-strrchr: New file.
67865         * modules/unistr/u16-strrchr: New file.
67866         * modules/unistr/u32-strrchr: New file.
67867         * lib/unistr/u8-strrchr.c: New file.
67868         * lib/unistr/u16-strrchr.c: New file.
67869         * lib/unistr/u32-strrchr.c: New file.
67870
67871         * modules/unistr/u8-strspn: New file.
67872         * modules/unistr/u16-strspn: New file.
67873         * modules/unistr/u32-strspn: New file.
67874         * lib/unistr/u8-strspn.c: New file.
67875         * lib/unistr/u16-strspn.c: New file.
67876         * lib/unistr/u32-strspn.c: New file.
67877         * lib/unistr/u-strspn.h: New file.
67878
67879         * modules/unistr/u8-strstr: New file.
67880         * modules/unistr/u16-strstr: New file.
67881         * modules/unistr/u32-strstr: New file.
67882         * lib/unistr/u8-strstr.c: New file.
67883         * lib/unistr/u16-strstr.c: New file.
67884         * lib/unistr/u32-strstr.c: New file.
67885         * lib/unistr/u-strstr.h: New file.
67886
67887         * modules/unistr/u8-strtok: New file.
67888         * modules/unistr/u16-strtok: New file.
67889         * modules/unistr/u32-strtok: New file.
67890         * lib/unistr/u8-strtok.c: New file.
67891         * lib/unistr/u16-strtok.c: New file.
67892         * lib/unistr/u32-strtok.c: New file.
67893         * lib/unistr/u-strtok.h: New file.
67894
67895         * modules/unistr/u8-uctomb: New file.
67896         * modules/unistr/u16-uctomb: New file.
67897         * modules/unistr/u32-uctomb: New file.
67898         * lib/unistr/u8-uctomb.c: New file.
67899         * lib/unistr/u16-uctomb.c: New file.
67900         * lib/unistr/u32-uctomb.c: New file.
67901
67902         * MODULES.html.sh (Unicode string functions): Add the new modules.
67903
67904 2007-01-08  Bruno Haible  <bruno@clisp.org>
67905
67906         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
67907         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
67908         subdirectories.
67909
67910 2007-01-08  Karl Berry  <karl@gnu.org>
67911
67912         * doc/error.texi: mention that main() fns must set program_name
67913         when progname is used.
67914
67915 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
67916
67917         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
67918         WCTYPE_H is empty, for the benefit of builds from non-distclean
67919         directories.  Problem reported by Eric Blake in
67920         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
67921
67922 2007-01-08  Bruno Haible  <bruno@clisp.org>
67923
67924         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
67925         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
67926         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
67927         PROVIDE_CANONICALIZE_FILENAME_MODE.
67928         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
67929
67930 2007-01-08  Bruno Haible  <bruno@clisp.org>
67931
67932         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
67933         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
67934         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
67935         * lib/fts.c: Likewise.
67936         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
67937
67938 2006-12-25  Bruno Haible  <bruno@clisp.org>
67939
67940         * modules/utf8-ucs4-safe: New file.
67941         * lib/utf8-ucs4-safe.h: New file.
67942         * lib/unistr/utf8-ucs4-safe.c: New file.
67943
67944         * modules/utf16-ucs4-safe: New file.
67945         * lib/utf16-ucs4-safe.h: New file.
67946         * lib/unistr/utf16-ucs4-safe.c: New file.
67947
67948         * MODULES.html.sh (Unicode string functions): Add the new modules.
67949
67950 2007-01-08  Bruno Haible  <bruno@clisp.org>
67951
67952         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
67953         (Depends-on): Add unitypes.
67954         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67955         (u8_mbtouc_aux): Move out to separate file.
67956         (u8_mbtouc): Use ucs4_t, uint8_t types.
67957         * lib/unistr/utf8-ucs4.c: New file.
67958
67959         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
67960         (Depends-on): Add unitypes.
67961         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67962         (u16_mbtouc_aux): Move out to separate file.
67963         (u16_mbtouc): Use ucs4_t, uint16_t types.
67964         * lib/unistr/utf16-ucs4.c: New file.
67965
67966         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
67967         (Depends-on): Add unitypes.
67968         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
67969         (u8_uctomb_aux): Move out to separate file.
67970         (u8_uctomb): Use ucs4_t, uint8_t types.
67971         * lib/unistr/ucs4-utf8.c: New file.
67972
67973         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
67974         (Depends-on): Add unitypes.
67975         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
67976         (u16_uctomb_aux): Move out to separate file.
67977         (u16_uctomb): Use ucs4_t, uint16_t types.
67978         * lib/unistr/ucs4-utf16.c: New file.
67979
67980 2006-12-25  Bruno Haible  <bruno@clisp.org>
67981
67982         * modules/unitypes: New file.
67983         * lib/unitypes.h: New file.
67984         * MODULES.html.sh (func_all_modules): New section "Unicode string
67985         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
67986         this section. Add unitypes.
67987
67988 2007-01-08  Bruno Haible  <bruno@clisp.org>
67989
67990         Avoid variable names that conflict with those from libtool.
67991         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
67992         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
67993         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
67994         library_names_spec to acl_library_names_spec, hardcode_* to
67995         acl_hardcode_*.
67996         Reported by Ralf Wildenhues.
67997
67998 2007-01-08  Bruno Haible  <bruno@clisp.org>
67999
68000         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
68001         definition.
68002         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
68003         definition.
68004         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
68005         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
68006         definition.
68007         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
68008         definition.
68009         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
68010         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
68011         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
68012         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
68013         definition.
68014         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
68015         definition.
68016         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
68017         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
68018         GC_USE_<algorithm>.
68019         * lib/gc-libgcrypt.c: Likewise.
68020         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
68021         * modules/gc-arctwo (configure.ac): Likewise.
68022         * modules/gc-des (configure.ac): Likewise.
68023         * modules/gc-hmac-md5 (configure.ac): Likewise.
68024         * modules/gc-hmac-sha1 (configure.ac): Likewise.
68025         * modules/gc-md2 (configure.ac): Likewise.
68026         * modules/gc-md4 (configure.ac): Likewise.
68027         * modules/gc-md5 (configure.ac): Likewise.
68028         * modules/gc-random (configure.ac): Likewise.
68029         * modules/gc-rijndael (configure.ac): Likewise.
68030         * modules/gc-sha1 (configure.ac): Likewise.
68031
68032 2007-01-08  Bruno Haible  <bruno@clisp.org>
68033
68034         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
68035         macro definition.
68036         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
68037         definition.
68038         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
68039         definition.
68040         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
68041         * modules/fcntl-safer (configure.ac): Likewise.
68042         * modules/fopen-safer (configure.ac): Likewise.
68043         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
68044         GNULIB_FWRITEERROR macro definition.
68045
68046 2007-01-08  Bruno Haible  <bruno@clisp.org>
68047
68048         * m4/gnulib-common.m4: New file.
68049         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
68050         (func_get_filelist): Add m4/gnulib-common.m4.
68051
68052 2007-01-08  Bruno Haible  <bruno@clisp.org>
68053
68054         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
68055         command.
68056
68057 2007-01-08  Jim Meyering  <jim@meyering.net>
68058
68059         Use a more robust test for a "can't happen" condition.
68060         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
68061         narrowed the st_size value.  Presuming the "can't happen" condition
68062         is true, that narrowing could conceivably convert an invalid st_size
68063         value into a valid one.  Instead, use a change based on Matthew
68064         Woehlke's original patch.
68065
68066         Slight readability improvement: use an assert-like macro
68067         in place of literal "abort ()" uses.
68068         * lib/fts.c (fts_assert): Define.
68069         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
68070         Use this macro instead of a bare 'abort'.
68071
68072 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
68073
68074         Don't worry about using IRIX 5.3's wctype.h broken definitions;
68075         simply work around them.
68076         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
68077         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
68078         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
68079         declaring.
68080         Don't bother to define as macros, since the standard doesn't require it.
68081         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
68082         longer worry about IRIX 5.3.
68083         (HAVE_WCTYPE_CTMP_BUG): Remove.
68084
68085 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68086
68087         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
68088         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
68089         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68090         Problems reported by Georg Schwarz for IRIX 5.3.
68091
68092         * gnulib-tool (autoconf_minversion): Take the maximum version number
68093         found, not the minimum.  Problem reported by James Youngman.
68094
68095 2007-01-03  Karl Berry  <karl@gnu.org>
68096
68097         * doc/error.texi: new file, explaining interaction with progname.
68098         * doc/gnulib.texi: include it.  Update copyright.
68099
68100 2007-01-03  Simon Josefsson  <simon@josefsson.org>
68101
68102         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
68103         AC_CANONICAL_HOST, to improve autobuild outputs.
68104
68105 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
68106             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68107
68108         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
68109         sockets, server sockets, and other file descriptors.  Count errors
68110         to compute the return value.  Reorder the code a bit to be easier
68111         to follow.  Don't set event bits that were not requested (except
68112         POLLERR and POLLHUP).
68113
68114 2007-01-01  Bruno Haible  <bruno@clisp.org>
68115
68116         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
68117
68118 2007-01-03  Jim Meyering  <jim@meyering.net>
68119
68120         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
68121
68122 2007-01-02  Bruno Haible  <bruno@clisp.org>
68123
68124         * modules/settime (Include): Require timespec.h.
68125         * modules/nanosleep (Include): Likewise.
68126
68127 2007-01-01  Bruno Haible  <bruno@clisp.org>
68128
68129         * gnulib-tool (func_emit_copyright_notice): Bump year.
68130         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
68131
68132 2007-01-01  Bruno Haible  <bruno@clisp.org>
68133
68134         Improve support for OpenBSD.
68135         * build-aux/config.rpath (libname_spec): Export.
68136         (library_names_spec): New variable. Export.
68137         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
68138         library_names_spec from the config.rpath output. Locate shared library
68139         through the name pattern in library_names_spec.
68140
68141 2007-01-01  Eric Blake  <ebb9@byu.net>
68142
68143         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
68144
68145 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
68146
68147         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
68148         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
68149         assume the C locale, and avoid an "eval" that could cause trouble.
68150         Problem with SORT reported by Bob Proulx.
68151
68152         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
68153         Define.  Trivial patch from Henning Nielsen Lund, originally
68154         sent to bug-grep@gnu.org today.
68155
68156 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
68157
68158         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
68159         struct stat.  Problem reported by Henning Nielsen Lund.
68160         * lib/acl.c: Include acl.h first, to check interface.  Don't
68161         bother to include sys/types.h and sys/stat.h again.
68162
68163 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68164
68165         Import the following change from libc; problem reported by
68166         Sven Verdoolaege.
68167
68168         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
68169
68170         [BZ #1373]
68171         * lib/argp.h: Remove __NTH for __argp_usage inline function.
68172
68173 2006-12-28  Jim Meyering  <jim@meyering.net>
68174
68175         * build-aux/announce-gen: Do not assume that the package
68176         builds any of tar.gz, tar.bz2, and .xdelta files.
68177         Suggestion from Simon Josefsson.
68178
68179 2006-12-28  Simon Josefsson  <simon@josefsson.org>
68180
68181         * modules/announce-gen: New file.
68182
68183 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
68184
68185         * lib/mbchar.h: Just include <wctype.h>; the wctype module
68186         handles its gotchas now.
68187         * lib/mbswidth.c: Likewise.
68188         * lib/wcwidth.h: Likewise.
68189         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
68190         and iswcntrl; the wctype module does this stuff now.
68191         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68192         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68193         * modules/mbchar (Depends-on): Add wctype.
68194         * modules/mbswidth (Depends-on): Likewise.
68195         * modules/wcwidth (Depends-on): Likewise.
68196
68197 2006-12-27  Eric Blake  <ebb9@byu.net>
68198
68199         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
68200         module uses more than what <wctype.h> is required to provide.
68201
68202 2006-12-26  Eric Blake  <ebb9@byu.net>
68203
68204         * gnulib-tool (sed_extract_prog): Avoid space-tab.
68205
68206 2006-12-26  Eric Blake  <ebb9@byu.net>
68207
68208         * modules/absolute-header: New module.
68209         * modules/fcntl (Depends-on): Depend on it.
68210         * modules/inttypes (Depends-on): Likewise.
68211         * modules/stdint (Depends-on): Likewise.
68212         * modules/sys_stat (Depends-on): Likewise.
68213         * modules/wctype (Depends-on): Likewise.
68214         * MODULES.html.sh (Support for building libraries and
68215         executables): Document it.
68216
68217 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
68218
68219         * gnulib-tool (SED): Remove, undoing previous change.
68220         The problem was that it broke coreutils on Solaris, because
68221         "sed --posix" leaked into a makefile.
68222         (sed): New alias, if 'alias' and GNU sed.
68223
68224 2006-12-24  Jim Meyering  <jim@meyering.net>
68225
68226         Work around an fchownat bug in glibc-2.4:
68227         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
68228         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
68229         in spite of the -P option.
68230         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
68231         New macros.
68232         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
68233         * modules/openat (Files): Add lib/fchownat.c.
68234         * lib/openat.c (fchownat): Don't define here.  Move to...
68235         * lib/fchownat.c: ...this new file.
68236
68237 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68238
68239         Fix bug reported by Bruno Haible in
68240         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
68241         where quotearg.c didn't compile on Mac OS X 10.2 because it
68242         lacks <wchar.h> and wint_t.
68243         * lib/wctype_.h (__wctype_wint_t): New type.
68244         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
68245         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
68246         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
68247         Arg is now of type __wctype_wint_t, not wint_t.
68248         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
68249         substitute HAVE_WINT_T.
68250         * modules/wctype (Files): Add m4/wint_t.m4.
68251         (wctype.h): Substitute HAVE_WINT_T.
68252
68253 2006-12-23  Bruno Haible  <bruno@clisp.org>
68254
68255         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
68256
68257 2006-12-23  Bruno Haible  <bruno@clisp.org>
68258
68259         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
68260         S_ISLNK.
68261         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
68262         mingw.
68263
68264 2006-12-22  Bruno Haible  <bruno@clisp.org>
68265
68266         * lib/copy-file.c: Include acl.h.
68267         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
68268         Close the file descriptors only after being done with copy_acl.
68269         * modules/copy-file (Depends-on): Add acl.
68270
68271 2006-12-22  Bruno Haible  <bruno@clisp.org>
68272
68273         * gnulib-tool (SED): New variable.
68274         Use $SED instead of sed everywhere.
68275
68276 2006-12-22  Bruno Haible  <bruno@clisp.org>
68277
68278         * modules/no-c++: New file.
68279         * m4/no-c++.m4: New file.
68280         * MODULES.html.sh (Support for building libraries and executables):
68281         Add no-c++.
68282
68283 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
68284
68285         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68286         Include <limits.h>, and use its INT_MAX to rewrite the
68287         j loop so that it does not overflow 'int'.  Problem reported by
68288         Ralf Wildenhues in
68289         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
68290         Play it safe by shifting left by 1 rather than multiplying by 2,
68291         as GCC is less likely to optimize this away when the value
68292         is signed (when it assumes overflow leads to undefined behavior).
68293         Also, don't assume time_t uses two's complement.
68294
68295 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
68296
68297         * MODULES.html.sh: New module wctype.
68298         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
68299         * lib/fnmatch.c: Don't bother to include <wchar.h> before
68300         <wctype.h>, since the new wctype module should fix this.
68301         * lib/quotearg.c: Include <wctype.h> unconditionally, since
68302         the wctype module should arrange for it.
68303         * lib/regex_internal.h: Likewise.
68304         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
68305         since the wctype module should handle this now.
68306         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
68307         * modules/fnmatch (Depends-on): Add wctype.
68308         * modules/quotearg (Depends-on): Likewise.
68309         * modules/regex (Depends-on): Likewise.
68310
68311 2006-12-19  Bruno Haible  <bruno@clisp.org>
68312
68313         * lib/strdup.h [C++]: Wrap definitions in extern "C".
68314         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
68315
68316 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68317
68318         * modules/savewd (Depends-on): Fix dependency on fcntl.
68319
68320 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68321
68322         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
68323         conforms to C99, rather than relying on the user's environment
68324         setting of STDINT_H.
68325
68326 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68327         and Eric Blake  <ebb9@byu.net>
68328
68329         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
68330         This is more consistent with the other defines here.
68331         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
68332         Port to z/OS.  Problem reported by Paul Gilmartin.
68333         Change local vars to use gl_ prefix rather than ac_.
68334         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
68335         with other defines.
68336         * modules/double-slash-root: New module.
68337         * modules/dirname (Files): Remove m4/double-slash-root.m4.
68338         (Depends-on): Add double-slash-root.
68339         * MODULES.html.sh (File system functions): Mention new module.
68340
68341 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
68342
68343         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
68344         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
68345         This is for the benefit of gzip, which doesn't do i18n.
68346
68347 2006-12-12  Jim Meyering  <jim@meyering.net>
68348
68349         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
68350         Reported by Andreas Schwab <schwab@suse.de>.
68351
68352 2006-12-12  Bruno Haible  <bruno@clisp.org>
68353
68354         Merge these changes.
68355         2006-09-05  Bruno Haible  <bruno@clisp.org>
68356         * lib/iconvme.c (iconv_string): No need to save and restore errno when
68357         iconv_alloc succeeded.
68358         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
68359         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
68360         test for " && dest " at the end - dest is always != NULL there. Call
68361         iconv with 4xNULL arguments initially, to reset the state. Call iconv
68362         with 2xNULL arguments, also to flush the state storage. Handle the
68363         IRIX iconv behaviour. Realloc the final result, to throw away unused
68364         memory.
68365
68366 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
68367
68368         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
68369         and fchmodat unconditionally, since glibc 2.4 has them.
68370         Problem reported by Arkadiusz Miskiewicz.
68371
68372 2006-12-10  Bruno Haible  <bruno@clisp.org>
68373
68374         * gnulib-tool (func_import): Show the include files only for those
68375         modules that are copied and specified.
68376         Reported by Karl Berry.
68377
68378 2006-12-08  Jim Meyering  <jim@meyering.net>
68379
68380         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
68381         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
68382
68383         * build-aux/announce-gen: Add two new options, both optional:
68384         --bootstrap-tools=TOOL_LIST
68385               a comma-separated list of tools, e.g.,
68386               autoconf,automake,bison,gnulib
68387         --gnulib-snapshot-date=DATE
68388               if gnulib is in the bootstrap tool list,
68389               then report this as the snapshot date.
68390               If not specified, use the current date/time.
68391               If you specify a date here, be sure it's UTC.
68392
68393 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68394
68395         * tests/test-argp-2.sh: Fix test to match actual output.
68396         (func_compare): Fix sed script to be portable.
68397
68398 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
68399
68400         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
68401         workaround for this case.  It is not autoconfigured now; offhand
68402         it's hard to see how to autoconfigure it.
68403
68404 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
68405
68406         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
68407         a directory that is about to be chowned.  Such a directory's
68408         initial file permissions should permit the owner only and this
68409         should not be changed until after the chown, since the group and
68410         other bits would be incorrect if they granted permission before
68411         the chown.
68412
68413         Fix porting problem for iswctype reported by Georg Schwarz in:
68414         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
68415         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
68416         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
68417         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
68418         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68419
68420 2006-12-03  Jim Meyering  <jim@meyering.net>
68421
68422         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
68423         p->fts_statp may not yet be defined.
68424         (fts_read): Instead, set it in the caller, once p->fts_statp is
68425         sure to be defined, and corresponds to a top-level directory.
68426         This bug made du -x fail.  Here's the coreutils test case:
68427         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
68428         Reported by Mike Frysinger.
68429
68430 2006-12-01  Jim Meyering  <jim@meyering.net>
68431
68432         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
68433         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
68434         Reported by Simon Josefsson.
68435
68436 2006-11-30  Jim Meyering  <jim@meyering.net>
68437
68438         * m4/warning.m4: Use the all-permissive copyright notice
68439         recommended by RMS (rather than LGPL).
68440         * m4/vararrays.m4: Likewise.
68441         * m4/flexmember.m4: Likewise.
68442
68443 2006-11-29  Bruno Haible  <bruno@clisp.org>
68444
68445         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68446         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
68447         using +=.
68448         Reported by Simon Josefsson <simon@josefsson.org>.
68449
68450 2006-11-28  James Youngman <jay@gnu.org>
68451
68452         * README: Advise users that they might find the bug-gnulib@gnu.org
68453         and autotools-announce@gnu.org mailing lists useful.
68454
68455 2006-11-28  Bruno Haible  <bruno@clisp.org>
68456
68457         * m4/ptrdiff_max.m4: Remove file.
68458
68459 2006-11-21  Bruno Haible  <bruno@clisp.org>
68460
68461         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
68462         _AC_COMPUTE_INT.
68463         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68464         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
68465         _AC_COMPUTE_INT.
68466         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68467         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
68468         _AC_COMPUTE_INT.
68469         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68470
68471 2006-11-28  Jim Meyering  <jim@meyering.net>
68472
68473         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
68474         warning from "gcc -Wshadow" about shadowing the builtin.
68475
68476 2006-11-27  Bruno Haible  <bruno@clisp.org>
68477
68478         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
68479         _AC_COMPUTE_INT.
68480         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68481
68482 2006-11-27  Bruno Haible  <bruno@clisp.org>
68483             Paul Eggert  <eggert@cs.ucla.edu>
68484
68485         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
68486
68487 2006-11-26  Bruno Haible  <bruno@clisp.org>
68488
68489         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68490         noinst_LTLIBRARIES.
68491
68492 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68493             Bruno Haible  <bruno@clisp.org>
68494
68495         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
68496         if compiling with "gcc -ansi".
68497
68498 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68499
68500         Fix some incompatibilities with gcc -ansi -pedantic.
68501         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
68502         if compiling pedantically with GCC, unless it's C99 or later.
68503         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
68504         it mishandles gcc -ansi -pedantic as well.
68505         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
68506         if gcc -pedantic.
68507         * lib/regexec.c (check_node_accept_bytes): Don't use auto
68508         initializers for struct if -pedantic, unless it's C99 or later.
68509
68510 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
68511
68512         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
68513         Don't close an fd more than once. Identical atimes indicate
68514         success, not failure.
68515
68516 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
68517
68518         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
68519
68520 2006-11-23  Jim Meyering  <jim@meyering.net>
68521
68522         * build-aux/announce-gen: New file.  From coreutils.
68523
68524 2006-11-22  Jim Meyering  <jim@meyering.net>
68525
68526         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
68527         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
68528         (fts_read): Use a temporary to narrow the overused st_size member
68529         before using it in a switch statement.  Reported by Matthew Woehlke.
68530
68531         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
68532         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
68533
68534 2006-11-20  Bruno Haible  <bruno@clisp.org>
68535
68536         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
68537         changequote instead of pairs of brackets.
68538         Reported by Andreas Schwab <schwab@suse.de>.
68539
68540 2006-11-21  Jim Meyering  <jim@meyering.net>
68541
68542         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
68543         so as to remain compatible with older compilers.
68544         Patch from Michael Deutschmann.
68545
68546 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68547
68548         * MODULES.html.sh (File system functions): Add openat.
68549
68550         * lib/openat.h (rpl_fstatat): New macro, if
68551         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
68552         (fstatat): Define to rpl_fstatat under the same conditions,
68553         unless COMPILING_FSTATAT.
68554         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
68555         seems to have the bug.
68556         * lib/fstatat.c: New file.
68557         * modules/openat (Files): Add it.
68558
68559 2006-11-20  Bruno Haible  <bruno@clisp.org>
68560
68561         * Makefile: New file.
68562
68563 2006-11-20  Jim Meyering  <jim@meyering.net>
68564
68565         The beginnings of syntax-related checks for gnulib.
68566         * lib/Makefile: New file.
68567         * lib/t-idcache: New script.  Ensure that the two halves of
68568         idcache.c stay in sync.
68569
68570         * lib/idcache.c: Adjust comments in user- and group- portions to
68571         be more accurate, and to be consistent with one another.
68572
68573 2006-11-20  Jim Meyering  <jim@meyering.net>
68574
68575         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
68576         continue using the flexible array member (thus, this module performs
68577         half as many malloc calls), with the addition that...
68578         (getgroup, getuser): Consistently record a non-match via an empty
68579         "name" string, and map an empty string match to a NULL return value.
68580         * modules/idcache (Depends-on): Re-add flexmember.
68581
68582         * lib/idcache.c (getuser): Remove all uses of the register keyword.
68583         (getuidbyname, getgroup, getgidbyname): Likewise.
68584
68585         Use cleaner syntax: NULL rather than 0.
68586         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
68587
68588 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68589
68590         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
68591         It mishandled the case where the group was missing.
68592         Problem reported by Greg Schafer.
68593         * modules/idcache: Likewise.
68594
68595 2006-11-18  Jim Meyering  <jim@meyering.net>
68596
68597         * check-module (%exempt_header): Add exception for some
68598         conditionally-included headers.
68599
68600         * modules/i-ring (Depends-on): Add verify.
68601         (License): Change to LGPL.
68602
68603 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68604
68605         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
68606         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
68607         and inttostr.h.  Use snprintf rather than uinttostr, so that
68608         LGPLed code doesn't depend on GPLed.
68609
68610 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68611
68612         * modules/inline (License): Change from GPL to LGPL.
68613
68614 2006-11-17  Jim Meyering  <jim@meyering.net>
68615
68616         * modules/d-type (License): Switch to LGPL.
68617
68618 2006-11-15  Bruno Haible  <bruno@clisp.org>
68619
68620         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
68621
68622 2006-11-15  Eric Blake  <ebb9@byu.net>
68623
68624         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
68625         the module dependency.
68626
68627 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68628             Bruno Haible  <bruno@clisp.org>
68629
68630         * gnulib-tool (func_create_testdir): Add license consistency check.
68631
68632 2006-11-15  Eric Blake  <ebb9@byu.net>
68633
68634         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
68635         random "(cached)" in configure output.
68636
68637 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68638
68639         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
68640         test for conforming inttypes.h is both announced and cached.
68641
68642         * MODULES.html.sh (seen_modules, seen_files): New variables.
68643         (func_module): Rewrite to use a few less gnulib-tool and sed
68644         invocations.  Avoid a couple of quadratic algorithms for ...
68645         (missed_modules, missed_files): ... these, with ...
68646         (func_append, func_tmpdir): ... these new functions, from
68647         gnulib-tool.  Analogously, install traps for cleanup.
68648
68649         * tests/test-gc.c (main): Remove unused variables.
68650         * tests/test-read-file.c: Include stdlib.h, for 'free'.
68651
68652 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
68653
68654         * modules/inttostr (License): Change to LGPL.
68655
68656 2006-11-14  Eric Blake  <ebb9@byu.net>
68657
68658         * modules/tempname (License): Change to LGPL.
68659
68660 2006-11-14  Eric Blake  <ebb9@byu.net>
68661
68662         * doc/functions.texi (Function Portability): *printf functions on
68663         Cygwin now understand all POSIX size specifiers.
68664
68665 2006-11-14  Bruno Haible  <bruno@clisp.org>
68666
68667         * modules/c-ctype (License): Change to LGPL.
68668
68669 2006-11-12  Bruno Haible  <bruno@clisp.org>
68670
68671         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68672         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
68673         for GNOME libraries, for which the include files are installed in
68674         subdirectories of $prefix/include.
68675
68676 2006-11-12  Bruno Haible  <bruno@clisp.org>
68677
68678         * m4/lib-link.m4: Require at least autoconf-2.54.
68679         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
68680         name to underscores for the --with option.
68681
68682 2006-11-13  Bruno Haible  <bruno@clisp.org>
68683
68684         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
68685         the tests directory.
68686         Reported by Ralf Wildenhues.
68687
68688 2006-11-13  Bruno Haible  <bruno@clisp.org>
68689
68690         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
68691         (func_emit_initmacro_end): Undo the override here.
68692         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
68693         Works around the famous automake error in coreutils.
68694
68695 2006-11-13  Eric Blake  <ebb9@byu.net>
68696
68697         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
68698         element, not its node.
68699
68700 2006-11-12  Bruno Haible  <bruno@clisp.org>
68701
68702         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
68703         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
68704
68705 2006-11-12  Bruno Haible  <bruno@clisp.org>
68706
68707         * gnulib-tool: New option --local-symlink.
68708         (func_usage): Document it.
68709         (lsymbolic): New variable.
68710         (func_import, func_create_testdir): If --symlink was not specified,
68711         test whether --local-symlink was specified and the file comes from
68712         the local_gnulib_dir.
68713
68714 2006-11-12  Bruno Haible  <bruno@clisp.org>
68715
68716         * gnulib-tool (func_ln): New function.
68717         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
68718
68719 2006-11-12  Bruno Haible  <bruno@clisp.org>
68720
68721         Finish support for source files in subdirectories.
68722         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
68723         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
68724         AUTOMAKE_OPTIONS.
68725         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
68726
68727 2006-11-12  Bruno Haible  <bruno@clisp.org>
68728
68729         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68730         EXTRA_lib_SOURCES augmentation.
68731         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
68732
68733 2006-11-12  Jim Meyering  <jim@meyering.net>
68734
68735         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
68736         file descriptors.  This also averts a failure on systems with
68737         native openat support when a traversed directory lacks "x" access.
68738         * lib/fts_.h: Include "i-ring.h"
68739         (struct FTS) [fts_fd_ring]: New member.
68740         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
68741         (FCHDIR): Add parentheses.
68742         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
68743         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
68744         When descending, rather than simply closing the previous
68745         fts_cwd_fd value, push that file descriptor onto the ring.
68746         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
68747         (fts_open): Initialize the new fd_ring member.
68748         (fts_close): Clear the ring.
68749         (fts_safe_changedir): When possible, use our new fd_ring to skip
68750         the diropen and fstat and dev/ino comparison that would normally
68751         accompany a virtual `chdir ("..")'.
68752
68753         * modules/fts (Depends-on): Add i-ring.
68754         * modules/i-ring: New module.
68755         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
68756         * m4/i-ring.m4: New file.
68757
68758 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68759
68760         * gnulib-tool (func_create_testdir): Fix replacement of
68761         `build-aux' in configure.ac.  Run autotools in gltests
68762         subdirectory.
68763         (func_create_testdir, func_create_megatestdir, test): There is
68764         no need for '--force' in most autotool invocations in a new
68765         tree.  Actually fail the whole test if any of the tools, or the
68766         configure or make stages fail.
68767
68768         Sync from Automake.
68769         * build-aux/gnupload: Revert last change.  Add pointer to upload
68770         instructions of the GNU Maintenance Instructions.
68771         Suggestion by Karl Berry.
68772
68773 2006-11-10  Jim Meyering  <jim@meyering.net>
68774
68775         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
68776
68777 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68778
68779         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
68780         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
68781         (bind_textdomain_codeset) [! ENABLE_NLS]:
68782         Evaluate all the arguments.  That way, callers get compatible behavior
68783         if the arguments have side effects.  Also, it avoids some GCC
68784         diagnostics in some cases; Joel E. Denny reported problems when Bison
68785         was configured with --enable-gcc-warnigs.
68786
68787 2006-11-10  Jim Meyering  <jim@meyering.net>
68788
68789         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
68790         relevant options in CFLAGS (like -O, -fno-inline) are taken into
68791         account.
68792
68793 2006-11-10  Jim Meyering  <jim@meyering.net>
68794
68795         * modules/inline: New file/module.
68796         * modules/xalloc (Files): Remove m4/inline.m4.
68797         (Depends-on): Add inline, instead.
68798         * modules/oset: Likewise.
68799         * modules/list: Likewise.
68800
68801 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68802
68803         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
68804         Problem reported by Matthew Woehlke.
68805
68806 2006-11-09  Bruno Haible  <bruno@clisp.org>
68807
68808         * lib/tempname.c (gen_tempname): Remove variant that invokes
68809         __gen_tempname.
68810         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
68811         __gen_tempname.
68812
68813 2006-11-08  Bruno Haible  <bruno@clisp.org>
68814
68815         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
68816         to 'yes' instead of 'cross-compiling'.
68817
68818 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
68819
68820         * lib/quotearg.h (quotearg_free): New decl.
68821         * lib/quotearg.c (quotearg_free): New function.
68822         (slot0, nslots, slotvec0, slotvec):
68823         Now file-scope so that quotearg_free can get at them.
68824
68825 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68826
68827         Sync from Automake.
68828         * build-aux/gnupload: Add missing 'gnu' to example URL.
68829         Report by Karl Berry.
68830
68831 2006-11-08  Bruno Haible  <bruno@clisp.org>
68832
68833         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
68834         Suggested by Paul Eggert.
68835
68836 2006-11-08  Jim Meyering  <jim@meyering.net>
68837
68838         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
68839         It's already included if !_LIBC.
68840         (fts_safe_changedir): Add a comment.
68841
68842 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68843
68844         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
68845         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
68846         Matthew Woehlke.
68847
68848         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
68849         definitions up, to avoid colliding with change below.
68850         (static_inline) [HAVE_INLINE]: New macro.
68851         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
68852         Provide extern decls when !HAVE_INLINE.  Do not define unless
68853         static_inline is defined, either by us or by xmalloc.c.  Use
68854         static_inline rather than static inline.
68855         (XCALLOC): Optimize sizeof(T) = 1 case.
68856         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
68857
68858 2006-11-07  Bruno Haible  <bruno@clisp.org>
68859
68860         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
68861         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
68862         AC_C_INLINE.
68863         * modules/xalloc (Files): Add m4/inline.m4.
68864
68865 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68866
68867         * README: Fix typo.
68868         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
68869         (Miscellanous Notes): ...from this.
68870
68871 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68872
68873         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
68874         Mention that offsetof should be used instead of sizeof.
68875         From Bruno Haible.
68876
68877 2006-11-07  Bruno Haible  <bruno@clisp.org>
68878
68879         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
68880
68881 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68882
68883         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68884         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
68885         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68886         (gl_tree_add_before, gl_tree_add_after):
68887         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
68888         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
68889         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68890         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
68891         (gl_linked_add_after, gl_linked_add_at): Likewise.
68892         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
68893         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68894         (gl_tree_add_before, gl_tree_add_after): Likewise.
68895         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
68896         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
68897         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
68898
68899 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68900
68901         * lib/gl_oset.h: Use C comment style, not C++ comment style.
68902
68903 2006-11-06  Bruno Haible  <bruno@clisp.org>
68904
68905         * m4/inline.m4: New file.
68906         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
68907         * modules/list (Files): Add m4/inline.m4.
68908         * modules/oset (Files): Likewise.
68909
68910 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68911
68912         * lib/idcache.c: Include <stddef.h>, for offsetof.
68913         (struct userid.name): Change from char * to a flexible array member.
68914         All uses changed.
68915         * modules/idcache (Depends-on): Add flexmember.
68916
68917         * MODULES.html.sh (Core language properties): New module flexmember.
68918         * modules/flexmember, m4/flexmember.m4: New files.
68919
68920         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
68921         inline functions that are identical with the old xnmalloc_inline,
68922         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
68923         that we can avoid some unnecessary integer multiplications and
68924         divisions in the common case where the element size is known at
68925         compile time.
68926         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
68927         needed.
68928         (xnboundedmalloc): Remove.
68929         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
68930         arguments, for consistency with rest of this header.
68931         (xcharalloc): Rewrite using XNMALLOC.
68932         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
68933         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
68934         versions have been moved to lib/xalloc.h and renamed to be the
68935         non-*_inline versions.
68936         (xmalloc, xrealloc): Implement without reference to the xnmalloc
68937         and xnrealloc functions, since those functions are now inline and
68938         now call us.
68939         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
68940         renaming described above.
68941         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
68942         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
68943         captures the dependency in AC_C_INLINE.
68944
68945         New module canonicalize-lgpl, proposed by Charles Wilson in
68946         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
68947         with a few small changes afterwards.
68948         * MODULES.html.sh (File system functions): New module
68949         canonicalize-lgpl.
68950         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
68951         and canonicalize_file_name.
68952         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
68953         * modules/canonicalize-lgpl: New files.
68954
68955 2006-11-05  Bruno Haible  <bruno@clisp.org>
68956
68957         * gnulib-tool (func_import, func_create_testdir): Create directories
68958         also for files in subdirectories of lib/.
68959
68960 2006-11-05  Bruno Haible  <bruno@clisp.org>
68961
68962         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
68963         ANSI C compliant.
68964
68965 2006-11-03  Bruno Haible  <bruno@clisp.org>
68966
68967         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68968         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
68969         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
68970         (xnboundedmalloc): New inline function.
68971         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
68972         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
68973         xmalloc.
68974         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
68975         xmalloc.
68976         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
68977         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
68978         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
68979         xmalloc.
68980         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68981         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
68982         xmalloc.
68983         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
68984         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68985         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
68986         xmalloc.
68987         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68988         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
68989         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68990         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
68991         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
68992         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
68993         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
68994
68995 2006-11-03  Bruno Haible  <bruno@clisp.org>
68996
68997         * lib/c-ctype.h [C++]: Define functions without name mangling.
68998         * lib/fwriteerror.h [C++]: Likewise.
68999         * lib/gcd.h [C++]: Likewise.
69000         * lib/linebreak.h [C++]: Likewise.
69001
69002 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69003
69004         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
69005         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
69006         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
69007         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69008         Check for functions and headers just once.
69009         Check for declaration of canonicalize_file_name.
69010         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
69011
69012 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69013
69014         * gnulib-tool (func_import): Fix typo in actioncmd.
69015
69016 2006-11-02  Bruno Haible  <bruno@clisp.org>
69017
69018         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
69019         newline sequence in the Makefile.am snippet as a space, like "make"
69020         does.
69021         Reported by Roger Persson <perrog@gmail.com>.
69022
69023 2006-11-01  Bruno Haible  <bruno@clisp.org>
69024
69025         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
69026         already declared in <string.h>.
69027         * lib/strcase.h (strncasecmp): Don't declare it if yes.
69028
69029 2006-11-01  Bruno Haible  <bruno@clisp.org>
69030
69031         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
69032         * lib/strcase.h: Include <string.h>.
69033         (strcasecmp): Define to rpl_strcasecmp here.
69034
69035 2006-11-01  Bruno Haible  <bruno@clisp.org>
69036
69037         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
69038
69039 2006-11-01  Eric Blake  <ebb9@byu.net>
69040
69041         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
69042
69043         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
69044
69045 2006-10-29  Bruno Haible  <bruno@clisp.org>
69046
69047         Make it compile in C++ mode.
69048         * lib/full-write.c (full_rw): Add a cast.
69049
69050 2006-11-01  Bruno Haible  <bruno@clisp.org>
69051
69052         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
69053         be POSIX compliant.
69054         Reported by Roger Persson <perrog@gmail.com>.
69055
69056 2006-11-01  Eric Blake  <ebb9@byu.net>
69057
69058         * lib/getopt_.h: Fix comments.
69059
69060 2006-10-31  Eric Blake  <ebb9@byu.net>
69061
69062         * modules/tmpdir (Depends-on): Add sys_stat.
69063         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
69064         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
69065         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
69066         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
69067         tempname.
69068
69069 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
69070
69071         Avoid some C++ diagnostics reported by Bruno Haible.
69072         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
69073         xmalloc.
69074         (quotearg_alloc): Use xcharalloc rather than xmalloc.
69075         (struct slotvec): Move to top level.
69076         (quotearg_n_options): Rewrite to avoid xmalloc.
69077         * lib/xalloc.h (xcharalloc): New function.
69078         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
69079         [defined __cplusplus]: Add function template that provides result
69080         type propagation.  This part of the change is from Bruno Haible.
69081
69082 2006-10-29  Bruno Haible  <bruno@clisp.org>
69083
69084         Make it compile in C++ mode.
69085         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
69086         * lib/strnlen1.c (strnlen1): Cast memchr result.
69087         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
69088         * lib/clean-temp.c (string_equals, string_hash): Add casts.
69089         (create_temp_dir): Rename local variable 'template'.
69090         (compile_csharp_using_sscli): Add cast.
69091         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
69092         * lib/findprog.c (find_in_path): Likewise.
69093         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
69094         * lib/wait-process.c (register_slave_subprocess): Likewise.
69095
69096 2006-10-22  Bruno Haible  <bruno@clisp.org>
69097
69098         * modules/tsearch: New file.
69099         * lib/tsearch.h: New file.
69100         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
69101         * m4/tsearch.m4: New file.
69102         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
69103
69104 2006-10-29  Eric Blake  <ebb9@byu.net>
69105
69106         * lib/arcfour.c: Assume config.h.
69107         * lib/arctwo.c: Likewise.
69108         * lib/base64.c: Likewise.
69109         * lib/check-version.c: Likewise.
69110         * lib/crc.c: Likewise.
69111         * lib/des.c: Likewise.
69112         * lib/gc-gnulib.c: Likewise.
69113         * lib/gc-libgcrypt.c: Likewise.
69114         * lib/gc-pbkdf2-sha1.c: Likewise.
69115         * lib/getaddrinfo.c: Likewise.
69116         * lib/getdelim.c: Likewise.
69117         * lib/getline.c: Likewise.
69118         * lib/hmac-md5.c: Likewise.
69119         * lib/hmac-sha1.c: Likewise.
69120         * lib/iconvme.c: Likewise.
69121         * lib/md2.c: Likewise.
69122         * lib/md4.c: Likewise.
69123         * lib/memxor.c: Likewise.
69124         * lib/read-file.c: Likewise.
69125         * lib/readline.c: Likewise.
69126         * lib/rijndael-alg-fst.c: Likewise.
69127         * lib/rijndael-api-fst.c: Likewise.
69128         * lib/xgetdomainname.c: Likewise.
69129
69130 2006-10-28  Eric Blake  <ebb9@byu.net>
69131
69132         * lib/xstrndup.c: Assume config.h.
69133
69134 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69135
69136         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
69137         stat-macros.h is now for our own macros, whereas stat_h is for
69138         macros in the <sys/stat.h> name space.
69139         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
69140         (STAT_MACROS_H): Remove.
69141         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
69142         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
69143         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
69144         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
69145         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
69146         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
69147         Move these macros to ...
69148         * lib/stat_.h: here.  Don't include stat-macros.h.
69149         * lib/canonicalize.c: Don't include stat-macros.h.
69150         * lib/chown.c: Likewise.
69151         * lib/euidaccess.c: Likewise.
69152         * lib/file-type.c: Likewise.
69153         * lib/filemode.c: Likewise.
69154         * lib/glob.c: Likewise.
69155         * lib/isapipe.c: Likewise.
69156         * lib/lchown.c: Likewise.
69157         * lib/lstat.c: Likewise.
69158         * lib/mkdir-p.c: Likewise.
69159         * lib/rmdir.c: Likewise.
69160         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
69161         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
69162         unless mkdir isn't declared, to speed up 'configure'.
69163         Always create sys/stat.h, since it's unlikely any real sys/stat.h
69164         would define all the S_* symbols.
69165         * modules/canonicalize (Depends-on):
69166         Depend on sys_stat, not stat-macros.
69167         * modules/chown: Likewise.
69168         * modules/euidaccess: Likewise.
69169         * modules/filemode: Likewise.
69170         * modules/file-type: Likewise.
69171         * modules/glob: Likewise.
69172         * modules/isapipe: Likewise.
69173         * modules/lchown: Likewise.
69174         * modules/lstat: Likewise.
69175         * modules/mkancesdirs: Likewise.
69176         * modules/rmdir: Likewise.
69177         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
69178         * modules/modechange: Likewise.
69179         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
69180         (configure.ac): Remove gl_STAT_MACROS.
69181         * modules/sys_stat (Depends-on): Remove stat-macros.
69182
69183 2006-10-27  Bruno Haible  <bruno@clisp.org>
69184
69185         * m4/signed.m4: Remove file.
69186         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
69187         invocation.
69188         * modules/vasnprintf (Files): Remove m4/signed.m4.
69189
69190 2006-10-27  Bruno Haible  <bruno@clisp.org>
69191
69192         Update to GNU gettext 0.16.
69193         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
69194         m4/inttypes-h.m4, m4/signed.m4.
69195         * m4/gettext.m4: Update to GNU gettext 0.16.
69196         * m4/intl.m4: New file, from GNU gettext.
69197         * m4/intldir.m4: New file, from GNU gettext.
69198         * config/srclist.txt: Update
69199
69200 2006-10-27  Eric Blake  <ebb9@byu.net>
69201
69202         * MODULES.html.sh: Document tempname.
69203         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
69204         dependencies.
69205         (Files): Move lib/tempname.c...
69206         * modules/tempname: ...to this new module.
69207         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
69208         (gl_PREREQ_TEMPNAME): Move...
69209         * m4/tempname.m4: ...to this new file.
69210         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
69211         * modules/sys_stat (Depends-on): Add stat-macros.
69212         * lib/stat_.h (includes): Pick up stat macros.
69213         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
69214         if stat macros are broken.
69215         * lib/tempname.c (includes): No need to include "stat-macros.h".
69216         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
69217         (direxists, __path_search) [!_LIBC]: Don't compile these in
69218         gnulib; the tmpdir module covers that.
69219         * lib/tempname.h: New file.
69220
69221 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
69222
69223         * COPYING: Explain how gnulib-tool converts licence headers.
69224         Almost all wording by Eric Blake.
69225
69226 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
69227
69228         * lib/mbchar.h (is_basic_table): Make read-only.
69229         * lib/mbchar.c (is_basic_table): Likewise.
69230         Reported by John Darrington.
69231
69232 2006-10-25  Bruno Haible  <bruno@clisp.org>
69233
69234         * lib/progname.h (set_program_name): Undefine before defining.
69235
69236 2006-10-25  Bruno Haible  <bruno@clisp.org>
69237
69238         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
69239         false for non-gcc C++ compilers.
69240         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
69241
69242 2006-10-24  Bruno Haible  <bruno@clisp.org>
69243
69244         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
69245         iconv implementations like Irix iconv.
69246
69247 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69248
69249         * modules/vararrays: New file.
69250         * m4/vararrays.m4: New file, taken from diffutils.
69251         * MODULES.html.sh: New module vararrays.
69252
69253 2006-10-24  Karl Berry  <karl@gnu.org>
69254
69255         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
69256         Don't call GNU Unix.
69257
69258 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69259
69260         * users.txt: Add Libtool.
69261
69262         Sync from Libtool:
69263
69264         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69265
69266         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
69267         to gnulib's policy of including config.h unconditionally.
69268
69269 2006-10-24  Bruno Haible  <bruno@clisp.org>
69270
69271         * modules/wcwidth (Files): Add m4/wint_t.m4.
69272         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
69273         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
69274
69275 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69276
69277         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
69278         to pacify GCC with some -W flags enabled.  Problem reported by
69279         Bruno Haible.
69280
69281 2006-10-24  Jim Meyering  <jim@meyering.net>
69282
69283         * MODULES.html.sh: Remove uinttostr.  It's not a module.
69284         Reported by Karl Berry.
69285
69286 2006-10-23  Bruno Haible  <bruno@clisp.org>
69287
69288         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
69289
69290 2006-10-24  Bruno Haible  <bruno@clisp.org>
69291
69292         * lib/gl_list.h: Use C comment style, not C++ comment style.
69293
69294 2006-10-23  Eric Blake  <ebb9@byu.net>
69295
69296         * lib/getaddrinfo.c (includes): Add missing include.
69297
69298 2006-10-23  Bruno Haible  <bruno@clisp.org>
69299             Paul Eggert  <eggert@cs.ucla.edu>
69300
69301         Ability to rename obstack_free.
69302         * lib/obstack.h (__obstack_free): New macro. Declare instead of
69303         obstack_free.
69304         (obstack_free): Invoke the __obstack_free macro.
69305         * lib/obstack.c (obstack_free): Use __obstack_free macro.
69306
69307 2006-10-23  Bruno Haible  <bruno@clisp.org>
69308             Paul Eggert  <eggert@cs.ucla.edu>
69309
69310         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
69311         __argc, __argv from the declaration. (They are defined as macros on
69312         mingw.)
69313
69314 2006-10-22  Bruno Haible  <bruno@clisp.org>
69315
69316         * doc/gnulib-intro.texi: New file.
69317         * doc/gnulib.texi: Include it.
69318
69319 2006-10-21  Bruno Haible  <bruno@clisp.org>
69320
69321         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
69322         "Introduction", "Miscellanous Notes", "Particular Modules".
69323
69324 2006-10-21  Bruno Haible  <bruno@clisp.org>
69325
69326         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69327         Change mostlyclean-local rule to avoid sh syntax error from bash
69328         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
69329
69330 2006-10-23  Jim Meyering  <jim@meyering.net>
69331
69332         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
69333         in place of snprintf.
69334
69335         * modules/inttostr (Files): Add lib/uinttostr.c.
69336         * lib/uinttostr.c (inttostr): New file/function.
69337         * lib/inttostr.h (uinttostr): Declare.
69338         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
69339         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69340         Add uinttostr.
69341         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
69342
69343 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69344
69345         * lib/canonicalize.c (ELOOP): Define if not already defined.
69346         Problem reported by Bruno Haible in
69347         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
69348
69349 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69350
69351         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
69352         Problem reported by Perry Smith and Ville Laurikari.
69353
69354         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
69355         uses.
69356
69357 2006-10-19  Bruno Haible  <bruno@clisp.org>
69358
69359         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
69360         for mingw.
69361
69362 2006-10-19  Bruno Haible  <bruno@clisp.org>
69363
69364         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
69365         Needed for mingw.
69366
69367 2006-10-19  Bruno Haible  <bruno@clisp.org>
69368
69369         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
69370
69371 2006-10-19  Bruno Haible  <bruno@clisp.org>
69372
69373         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
69374         it.
69375
69376 2006-10-19  Bruno Haible  <bruno@clisp.org>
69377
69378         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
69379         invocation.
69380
69381 2006-10-19  Bruno Haible  <bruno@clisp.org>
69382
69383         * gnulib-tool (func_create_testdir): Don't include ftruncate and
69384         mountlist by default.
69385
69386 2006-10-16  Bruno Haible  <bruno@clisp.org>
69387
69388         * lib/c-strstr.c: Include c-strstr.h.
69389
69390 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69391
69392         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
69393         in a slash.
69394
69395 2006-10-18  Bruno Haible  <bruno@clisp.org>
69396
69397         * lib/lock.h [C++]: Wrap definitions in extern "C".
69398
69399 2006-10-18  Bruno Haible  <bruno@clisp.org>
69400
69401         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
69402         gl_LIBOBJS list.
69403
69404 2006-10-18  Bruno Haible  <bruno@clisp.org>
69405
69406         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
69407
69408 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
69409
69410         * lib/xstrtol.h: Include gettext.h.
69411         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
69412         Problem reported by Eric Blake.
69413         * modules/xstrtol (Depends-on): Add gettext-h.
69414
69415 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
69416
69417         * lib/strftime.c (advance): New macro.
69418         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
69419         incomplete type, so you can't add 0 to it.  Problem and patch
69420         reported by Eelco Dolstra for dietlibc.
69421
69422 2006-10-18  Jim Meyering  <jim@meyering.net>
69423
69424         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
69425         type for a local, and rename it: s/up/user_proc/.
69426
69427 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
69428
69429         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
69430         READ_UTMP_USER_PROCESS.
69431         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
69432
69433 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69434
69435         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
69436         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
69437
69438 2006-10-17  Eric Blake  <ebb9@byu.net>
69439
69440         * lib/sigprocmask.c (sigprocmask): Fix typo.
69441
69442         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
69443
69444         * modules/clean-temp (Makefile.am): Don't add to make output...
69445         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
69446         config.h.
69447
69448 2006-10-17  Bruno Haible  <bruno@clisp.org>
69449
69450         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
69451         differently if DEFAULT_TEXT_DOMAIN is set.
69452
69453 2006-10-16  Bruno Haible  <bruno@clisp.org>
69454
69455         * lib/clean-temp.c: Include fwriteerror.h.
69456
69457 2006-10-16  Bruno Haible  <bruno@clisp.org>
69458
69459         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
69460
69461 2006-10-16  Bruno Haible  <bruno@clisp.org>
69462
69463         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
69464         * lib/sigprocmask.h: Include <sys/types.h>.
69465         (sigset_t): Use the system's definition if present.
69466
69467 2006-10-17  Eric Blake  <ebb9@byu.net>
69468
69469         * lib/xvasprintf.c (includes): Assume config.h.
69470         * lib/xasprintf.c (includes): Likewise.
69471
69472 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
69473
69474         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
69475         at least as wide as intmax_t.
69476
69477 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
69478
69479         (Imported from Automake.)
69480         * build-aux/gnupload: Update to version 1.1 of directive file.
69481
69482 2006-10-16  Eric Blake  <ebb9@byu.net>
69483
69484         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
69485         match Automake 1.10a.
69486
69487 2006-10-14  Bruno Haible  <bruno@clisp.org>
69488
69489         * modules/sigprocmask: New file.
69490         * lib/sigprocmask.h: New file.
69491         * lib/sigprocmask.c: New file.
69492         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
69493         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
69494         request sigprocmask.o.
69495         (gl_PREREQ_SIGPROCMASK): New macro.
69496         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
69497         (Depends-on): Add sigprocmask.
69498         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
69499         gt_SIGNALBLOCKING. Test for 'raise' only once.
69500         * lib/fatal-signal.c: Include sigprocmask.h.
69501         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
69502         unblock_fatal_signals): Define always.
69503         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69504         sigprocmask.
69505
69506 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69507
69508         Sync from Automake.
69509         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
69510         which incorrectly sets the mode of an existing destination
69511         directory.  In some cases the unpatched install-sh could do the
69512         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
69513         system.  We hope this is rare in practice, but it's clearly worth
69514         fixing.  Problem reported by Alex Unleashed in
69515         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
69516         Also, don't bother to check for -m bugs unless we're using -m;
69517         suggested by Stepan Kasal.
69518
69519 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69520
69521         Sync from Automake.
69522         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
69523         `-c' flag, so they appear at the same position as in %FASTDEP%
69524         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
69525         which ignores unknown options only after the first non-option.
69526         Bug report against M4 by Nelson H. F. Beebe.
69527
69528 2006-10-13  Jim Meyering  <jim@meyering.net>
69529
69530         Fix a bug in yesterday's change.
69531         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
69532         p->fts_statp->st_dev would be used uninitialized.
69533         Ensures that we always call fts_stat on the very first entry.
69534         Miklos Szeredi reported that find -xdev stopped working.
69535
69536 2006-10-12  Bruno Haible  <bruno@clisp.org>
69537
69538         * gnulib-tool (func_get_automake_snippet): Append an automatically
69539         computed EXTRA_DIST augmentation.
69540         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
69541         * modules/alloca-opt (Makefile.am): Likewise.
69542         * modules/allocsa (Makefile.am): Likewise.
69543         * modules/arcfour (Makefile.am): Likewise.
69544         * modules/arctwo (Makefile.am): Likewise.
69545         * modules/argmatch (Makefile.am): Likewise.
69546         * modules/argz (Makefile.am): Likewise.
69547         * modules/atexit (Makefile.am): Likewise.
69548         * modules/backupfile (Makefile.am): Likewise.
69549         * modules/byteswap (Makefile.am): Likewise.
69550         * modules/c-strtod (Makefile.am): Likewise.
69551         * modules/c-strtold (Makefile.am): Likewise.
69552         * modules/calloc (Makefile.am): Likewise.
69553         * modules/canon-host (Makefile.am): Likewise.
69554         * modules/canonicalize (Makefile.am): Likewise.
69555         * modules/chdir-long (Makefile.am): Likewise.
69556         * modules/chdir-safer (Makefile.am): Likewise.
69557         * modules/check-version (Makefile.am): Likewise.
69558         * modules/chown (Makefile.am): Likewise.
69559         * modules/cloexec (Makefile.am): Likewise.
69560         * modules/close-stream (Makefile.am): Likewise.
69561         * modules/closeout (Makefile.am): Likewise.
69562         * modules/crc (Makefile.am): Likewise.
69563         * modules/csharpexec (Makefile.am): Likewise.
69564         * modules/cycle-check (Makefile.am): Likewise.
69565         * modules/des (Makefile.am): Likewise.
69566         * modules/dev-ino (Makefile.am): Likewise.
69567         * modules/dirfd (Makefile.am): Likewise.
69568         * modules/dirname (Makefile.am): Likewise.
69569         * modules/dup2 (Makefile.am): Likewise.
69570         * modules/eealloc (Makefile.am): Likewise.
69571         * modules/error (Makefile.am): Likewise.
69572         * modules/euidaccess (Makefile.am): Likewise.
69573         * modules/exclude (Makefile.am): Likewise.
69574         * modules/exitfail (Makefile.am): Likewise.
69575         * modules/fcntl-safer (Makefile.am): Likewise.
69576         * modules/fcntl (Makefile.am): Likewise.
69577         * modules/file-type (Makefile.am): Likewise.
69578         * modules/fileblocks (Makefile.am): Likewise.
69579         * modules/filemode (Makefile.am): Likewise.
69580         * modules/filenamecat (Makefile.am): Likewise.
69581         * modules/fnmatch (Makefile.am): Likewise.
69582         * modules/fopen-safer (Makefile.am): Likewise.
69583         * modules/fpending (Makefile.am): Likewise.
69584         * modules/fprintftime (Makefile.am): Likewise.
69585         * modules/free (Makefile.am): Likewise.
69586         * modules/fsusage (Makefile.am): Likewise.
69587         * modules/ftruncate (Makefile.am): Likewise.
69588         * modules/fts (Makefile.am): Likewise.
69589         * modules/gc-arcfour (Makefile.am): Likewise.
69590         * modules/gc-des (Makefile.am): Likewise.
69591         * modules/gc-hmac-md5 (Makefile.am): Likewise.
69592         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
69593         * modules/gc-md4 (Makefile.am): Likewise.
69594         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69595         * modules/gc-sha1 (Makefile.am): Likewise.
69596         * modules/gc (Makefile.am): Likewise.
69597         * modules/getaddrinfo (Makefile.am): Likewise.
69598         * modules/getcwd (Makefile.am): Likewise.
69599         * modules/getdelim (Makefile.am): Likewise.
69600         * modules/getdomainname (Makefile.am): Likewise.
69601         * modules/getgroups (Makefile.am): Likewise.
69602         * modules/gethostname (Makefile.am): Likewise.
69603         * modules/gethrxtime (Makefile.am): Likewise.
69604         * modules/getline (Makefile.am): Likewise.
69605         * modules/getloadavg (Makefile.am): Likewise.
69606         * modules/getlogin_r (Makefile.am): Likewise.
69607         * modules/getndelim2 (Makefile.am): Likewise.
69608         * modules/getopt (Makefile.am): Likewise.
69609         * modules/getpagesize (Makefile.am): Likewise.
69610         * modules/getpass-gnu (Makefile.am): Likewise.
69611         * modules/getpass (Makefile.am): Likewise.
69612         * modules/getsubopt (Makefile.am): Likewise.
69613         * modules/gettime (Makefile.am): Likewise.
69614         * modules/gettimeofday (Makefile.am): Likewise.
69615         * modules/getugroups (Makefile.am): Likewise.
69616         * modules/getusershell (Makefile.am): Likewise.
69617         * modules/glob (Makefile.am): Likewise.
69618         * modules/group-member (Makefile.am): Likewise.
69619         * modules/hard-locale (Makefile.am): Likewise.
69620         * modules/hash (Makefile.am): Likewise.
69621         * modules/hmac-md5 (Makefile.am): Likewise.
69622         * modules/hmac-sha1 (Makefile.am): Likewise.
69623         * modules/human (Makefile.am): Likewise.
69624         * modules/idcache (Makefile.am): Likewise.
69625         * modules/imaxabs (Makefile.am): Likewise.
69626         * modules/imaxdiv (Makefile.am): Likewise.
69627         * modules/inet_ntop (Makefile.am): Likewise.
69628         * modules/inet_pton (Makefile.am): Likewise.
69629         * modules/intprops (Makefile.am): Likewise.
69630         * modules/inttostr (Makefile.am): Likewise.
69631         * modules/inttypes (Makefile.am): Likewise.
69632         * modules/isapipe (Makefile.am): Likewise.
69633         * modules/javaversion (Makefile.am): Likewise.
69634         * modules/lchmod (Makefile.am): Likewise.
69635         * modules/lchown (Makefile.am): Likewise.
69636         * modules/localcharset (Makefile.am): Likewise.
69637         * modules/long-options (Makefile.am): Likewise.
69638         * modules/lstat (Makefile.am): Likewise.
69639         * modules/malloc (Makefile.am): Likewise.
69640         * modules/mathl (Makefile.am): Likewise.
69641         * modules/mbchar (Makefile.am): Likewise.
69642         * modules/md2 (Makefile.am): Likewise.
69643         * modules/md4 (Makefile.am): Likewise.
69644         * modules/md5 (Makefile.am): Likewise.
69645         * modules/memcasecmp (Makefile.am): Likewise.
69646         * modules/memchr (Makefile.am): Likewise.
69647         * modules/memcmp (Makefile.am): Likewise.
69648         * modules/memcoll (Makefile.am): Likewise.
69649         * modules/memcpy (Makefile.am): Likewise.
69650         * modules/memmem (Makefile.am): Likewise.
69651         * modules/memmove (Makefile.am): Likewise.
69652         * modules/mempcpy (Makefile.am): Likewise.
69653         * modules/memrchr (Makefile.am): Likewise.
69654         * modules/memset (Makefile.am): Likewise.
69655         * modules/memxor (Makefile.am): Likewise.
69656         * modules/mkancesdirs (Makefile.am): Likewise.
69657         * modules/mkdir-p (Makefile.am): Likewise.
69658         * modules/mkdir (Makefile.am): Likewise.
69659         * modules/mkdtemp (Makefile.am): Likewise.
69660         * modules/mkstemp (Makefile.am): Likewise.
69661         * modules/mktime (Makefile.am): Likewise.
69662         * modules/modechange (Makefile.am): Likewise.
69663         * modules/mountlist (Makefile.am): Likewise.
69664         * modules/nanosleep (Makefile.am): Likewise.
69665         * modules/obstack (Makefile.am): Likewise.
69666         * modules/openat (Makefile.am): Likewise.
69667         * modules/pagealign_alloc (Makefile.am): Likewise.
69668         * modules/pathmax (Makefile.am): Likewise.
69669         * modules/physmem (Makefile.am): Likewise.
69670         * modules/poll (Makefile.am): Likewise.
69671         * modules/posixtm (Makefile.am): Likewise.
69672         * modules/posixver (Makefile.am): Likewise.
69673         * modules/putenv (Makefile.am): Likewise.
69674         * modules/quote (Makefile.am): Likewise.
69675         * modules/quotearg (Makefile.am): Likewise.
69676         * modules/raise (Makefile.am): Likewise.
69677         * modules/read-file (Makefile.am): Likewise.
69678         * modules/readline (Makefile.am): Likewise.
69679         * modules/readlink (Makefile.am): Likewise.
69680         * modules/readtokens (Makefile.am): Likewise.
69681         * modules/readutmp (Makefile.am): Likewise.
69682         * modules/realloc (Makefile.am): Likewise.
69683         * modules/regex (Makefile.am): Likewise.
69684         * modules/rename-dest-slash (Makefile.am): Likewise.
69685         * modules/rename (Makefile.am): Likewise.
69686         * modules/rijndael (Makefile.am): Likewise.
69687         * modules/rmdir (Makefile.am): Likewise.
69688         * modules/rpmatch (Makefile.am): Likewise.
69689         * modules/safe-read (Makefile.am): Likewise.
69690         * modules/safe-write (Makefile.am): Likewise.
69691         * modules/same-inode (Makefile.am): Likewise.
69692         * modules/same (Makefile.am): Likewise.
69693         * modules/save-cwd (Makefile.am): Likewise.
69694         * modules/savedir (Makefile.am): Likewise.
69695         * modules/setenv (Makefile.am): Likewise.
69696         * modules/settime (Makefile.am): Likewise.
69697         * modules/sha1 (Makefile.am): Likewise.
69698         * modules/sig2str (Makefile.am): Likewise.
69699         * modules/snprintf (Makefile.am): Likewise.
69700         * modules/stat-macros (Makefile.am): Likewise.
69701         * modules/stat-time (Makefile.am): Likewise.
69702         * modules/stdbool (Makefile.am): Likewise.
69703         * modules/stdint (Makefile.am): Likewise.
69704         * modules/stdlib-safer (Makefile.am): Likewise.
69705         * modules/stpcpy (Makefile.am): Likewise.
69706         * modules/stpncpy (Makefile.am): Likewise.
69707         * modules/strcase (Makefile.am): Likewise.
69708         * modules/strcasestr (Makefile.am): Likewise.
69709         * modules/strchrnul (Makefile.am): Likewise.
69710         * modules/strcspn (Makefile.am): Likewise.
69711         * modules/strdup (Makefile.am): Likewise.
69712         * modules/strerror (Makefile.am): Likewise.
69713         * modules/strftime (Makefile.am): Likewise.
69714         * modules/strndup (Makefile.am): Likewise.
69715         * modules/strnlen (Makefile.am): Likewise.
69716         * modules/strpbrk (Makefile.am): Likewise.
69717         * modules/strsep (Makefile.am): Likewise.
69718         * modules/strstr (Makefile.am): Likewise.
69719         * modules/strtod (Makefile.am): Likewise.
69720         * modules/strtoimax (Makefile.am): Likewise.
69721         * modules/strtok_r (Makefile.am): Likewise.
69722         * modules/strtol (Makefile.am): Likewise.
69723         * modules/strtoll (Makefile.am): Likewise.
69724         * modules/strtoul (Makefile.am): Likewise.
69725         * modules/strtoull (Makefile.am): Likewise.
69726         * modules/strtoumax (Makefile.am): Likewise.
69727         * modules/strverscmp (Makefile.am): Likewise.
69728         * modules/sys_socket (Makefile.am): Likewise.
69729         * modules/sys_stat (Makefile.am): Likewise.
69730         * modules/sysexits (Makefile.am): Likewise.
69731         * modules/time_r (Makefile.am): Likewise.
69732         * modules/timegm (Makefile.am): Likewise.
69733         * modules/timespec (Makefile.am): Likewise.
69734         * modules/tmpfile-safer (Makefile.am): Likewise.
69735         * modules/trim (Makefile.am): Likewise.
69736         * modules/unistd-safer (Makefile.am): Likewise.
69737         * modules/unlinkdir (Makefile.am): Likewise.
69738         * modules/unlocked-io (Makefile.am): Likewise.
69739         * modules/userspec (Makefile.am): Likewise.
69740         * modules/utime (Makefile.am): Likewise.
69741         * modules/utimecmp (Makefile.am): Likewise.
69742         * modules/utimens (Makefile.am): Likewise.
69743         * modules/vasnprintf (Makefile.am): Likewise.
69744         * modules/vasprintf (Makefile.am): Likewise.
69745         * modules/vsnprintf (Makefile.am): Likewise.
69746         * modules/xalloc (Makefile.am): Likewise.
69747         * modules/xgetcwd (Makefile.am): Likewise.
69748         * modules/xnanosleep (Makefile.am): Likewise.
69749         * modules/xreadlink (Makefile.am): Likewise.
69750         * modules/xstrtod (Makefile.am): Likewise.
69751         * modules/xstrtol (Makefile.am): Likewise.
69752         * modules/xstrtold (Makefile.am): Likewise.
69753         * modules/yesno (Makefile.am): Likewise.
69754         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
69755
69756 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69757
69758         * modules/error (Makefile.am): Distribute files through
69759         EXTRA_DIST, not lib_SOURCES.
69760
69761 2006-10-12  Eric Blake  <ebb9@byu.net>
69762
69763         * modules/error (Makefile.am): Distribute files in /lib.
69764         * modules/obstack (Makefile.am): Likewise.
69765
69766 2006-10-12  Bruno Haible  <bruno@clisp.org>
69767
69768         * modules/acl (Makefile.am): Distribute all files in lib/ through
69769         EXTRA_DIST.
69770         * modules/arcfour (Makefile.am): Likewise.
69771         * modules/arctwo (Makefile.am): Likewise.
69772         * modules/argmatch (Makefile.am): Likewise.
69773         * modules/argz (Makefile.am): Likewise.
69774         * modules/atexit (Makefile.am): Likewise.
69775         * modules/backupfile (Makefile.am): Likewise.
69776         * modules/c-strtod (Makefile.am): Likewise.
69777         * modules/c-strtold (Makefile.am): Likewise.
69778         * modules/calloc (Makefile.am): Likewise.
69779         * modules/canon-host (Makefile.am): Likewise.
69780         * modules/canonicalize (Makefile.am): Likewise.
69781         * modules/chdir-long (Makefile.am): Likewise.
69782         * modules/chdir-safer (Makefile.am): Likewise.
69783         * modules/check-version (Makefile.am): Likewise.
69784         * modules/chown (Makefile.am): Likewise.
69785         * modules/cloexec (Makefile.am): Likewise.
69786         * modules/close-stream (Makefile.am): Likewise.
69787         * modules/closeout (Makefile.am): Likewise.
69788         * modules/crc (Makefile.am): Likewise.
69789         * modules/cycle-check (Makefile.am): Likewise.
69790         * modules/des (Makefile.am): Likewise.
69791         * modules/dirfd (Makefile.am): Likewise.
69792         * modules/dirname (Makefile.am): Likewise.
69793         * modules/dup2 (Makefile.am): Likewise.
69794         * modules/euidaccess (Makefile.am): Likewise.
69795         * modules/exclude (Makefile.am): Likewise.
69796         * modules/exitfail (Makefile.am): Likewise.
69797         * modules/fcntl-safer (Makefile.am): Likewise.
69798         * modules/file-type (Makefile.am): Likewise.
69799         * modules/fileblocks (Makefile.am): Likewise.
69800         * modules/filemode (Makefile.am): Likewise.
69801         * modules/filenamecat (Makefile.am): Likewise.
69802         * modules/fnmatch (Makefile.am): Likewise.
69803         * modules/fopen-safer (Makefile.am): Likewise.
69804         * modules/fpending (Makefile.am): Likewise.
69805         * modules/fprintftime (Makefile.am): Likewise.
69806         * modules/free (Makefile.am): Likewise.
69807         * modules/fsusage (Makefile.am): Likewise.
69808         * modules/ftruncate (Makefile.am): Likewise.
69809         * modules/fts (Makefile.am): Likewise.
69810         * modules/gc (Makefile.am): Likewise.
69811         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69812         * modules/getaddrinfo (Makefile.am): Likewise.
69813         * modules/getcwd (Makefile.am): Likewise.
69814         * modules/getdelim (Makefile.am): Likewise.
69815         * modules/getdomainname (Makefile.am): Likewise.
69816         * modules/getgroups (Makefile.am): Likewise.
69817         * modules/gethostname (Makefile.am): Likewise.
69818         * modules/gethrxtime (Makefile.am): Likewise.
69819         * modules/getline (Makefile.am): Likewise.
69820         * modules/getloadavg (Makefile.am): Likewise.
69821         * modules/getlogin_r (Makefile.am): Likewise.
69822         * modules/getopt (Makefile.am): Likewise.
69823         * modules/getpass (Makefile.am): Likewise.
69824         * modules/getpass-gnu (Makefile.am): Likewise.
69825         * modules/getsubopt (Makefile.am): Likewise.
69826         * modules/gettime (Makefile.am): Likewise.
69827         * modules/gettimeofday (Makefile.am): Likewise.
69828         * modules/getugroups (Makefile.am): Likewise.
69829         * modules/getusershell (Makefile.am): Likewise.
69830         * modules/glob (Makefile.am): Likewise.
69831         * modules/group-member (Makefile.am): Likewise.
69832         * modules/hard-locale (Makefile.am): Likewise.
69833         * modules/hash (Makefile.am): Likewise.
69834         * modules/hmac-md5 (Makefile.am): Likewise.
69835         * modules/hmac-sha1 (Makefile.am): Likewise.
69836         * modules/human (Makefile.am): Likewise.
69837         * modules/idcache (Makefile.am): Likewise.
69838         * modules/imaxabs (Makefile.am): Likewise.
69839         * modules/imaxdiv (Makefile.am): Likewise.
69840         * modules/inet_ntop (Makefile.am): Likewise.
69841         * modules/inet_pton (Makefile.am): Likewise.
69842         * modules/inttostr (Makefile.am): Likewise.
69843         * modules/isapipe (Makefile.am): Likewise.
69844         * modules/lchown (Makefile.am): Likewise.
69845         * modules/long-options (Makefile.am): Likewise.
69846         * modules/lstat (Makefile.am): Likewise.
69847         * modules/malloc (Makefile.am): Likewise.
69848         * modules/mathl (Makefile.am): Likewise.
69849         * modules/mbchar (Makefile.am): Likewise.
69850         * modules/md2 (Makefile.am): Likewise.
69851         * modules/md4 (Makefile.am): Likewise.
69852         * modules/md5 (Makefile.am): Likewise.
69853         * modules/memcasecmp (Makefile.am): Likewise.
69854         * modules/memchr (Makefile.am): Likewise.
69855         * modules/memcmp (Makefile.am): Likewise.
69856         * modules/memcoll (Makefile.am): Likewise.
69857         * modules/memcpy (Makefile.am): Likewise.
69858         * modules/memmem (Makefile.am): Likewise.
69859         * modules/memmove (Makefile.am): Likewise.
69860         * modules/mempcpy (Makefile.am): Likewise.
69861         * modules/memrchr (Makefile.am): Likewise.
69862         * modules/memset (Makefile.am): Likewise.
69863         * modules/memxor (Makefile.am): Likewise.
69864         * modules/mkancesdirs (Makefile.am): Likewise.
69865         * modules/mkdir (Makefile.am): Likewise.
69866         * modules/mkdir-p (Makefile.am): Likewise.
69867         * modules/mkdtemp (Makefile.am): Likewise.
69868         * modules/mkstemp (Makefile.am): Likewise.
69869         * modules/mktime (Makefile.am): Likewise.
69870         * modules/modechange (Makefile.am): Likewise.
69871         * modules/mountlist (Makefile.am): Likewise.
69872         * modules/nanosleep (Makefile.am): Likewise.
69873         * modules/openat (Makefile.am): Likewise.
69874         * modules/pagealign_alloc (Makefile.am): Likewise.
69875         * modules/physmem (Makefile.am): Likewise.
69876         * modules/poll (Makefile.am): Likewise.
69877         * modules/posixtm (Makefile.am): Likewise.
69878         * modules/posixver (Makefile.am): Likewise.
69879         * modules/putenv (Makefile.am): Likewise.
69880         * modules/quote (Makefile.am): Likewise.
69881         * modules/quotearg (Makefile.am): Likewise.
69882         * modules/raise (Makefile.am): Likewise.
69883         * modules/read-file (Makefile.am): Likewise.
69884         * modules/readline (Makefile.am): Likewise.
69885         * modules/readlink (Makefile.am): Likewise.
69886         * modules/readtokens (Makefile.am): Likewise.
69887         * modules/readutmp (Makefile.am): Likewise.
69888         * modules/realloc (Makefile.am): Likewise.
69889         * modules/regex (Makefile.am): Likewise.
69890         * modules/rename (Makefile.am): Likewise.
69891         * modules/rename-dest-slash (Makefile.am): Likewise.
69892         * modules/rijndael (Makefile.am): Likewise.
69893         * modules/rmdir (Makefile.am): Likewise.
69894         * modules/rpmatch (Makefile.am): Likewise.
69895         * modules/safe-read (Makefile.am): Likewise.
69896         * modules/safe-write (Makefile.am): Likewise.
69897         * modules/same (Makefile.am): Likewise.
69898         * modules/save-cwd (Makefile.am): Likewise.
69899         * modules/savedir (Makefile.am): Likewise.
69900         * modules/setenv (Makefile.am): Likewise.
69901         * modules/settime (Makefile.am): Likewise.
69902         * modules/sha1 (Makefile.am): Likewise.
69903         * modules/sig2str (Makefile.am): Likewise.
69904         * modules/snprintf (Makefile.am): Likewise.
69905         * modules/stdlib-safer (Makefile.am): Likewise.
69906         * modules/stpcpy (Makefile.am): Likewise.
69907         * modules/stpncpy (Makefile.am): Likewise.
69908         * modules/strcase (Makefile.am): Likewise.
69909         * modules/strcasestr (Makefile.am): Likewise.
69910         * modules/strchrnul (Makefile.am): Likewise.
69911         * modules/strcspn (Makefile.am): Likewise.
69912         * modules/strdup (Makefile.am): Likewise.
69913         * modules/strerror (Makefile.am): Likewise.
69914         * modules/strftime (Makefile.am): Likewise.
69915         * modules/strndup (Makefile.am): Likewise.
69916         * modules/strnlen (Makefile.am): Likewise.
69917         * modules/strpbrk (Makefile.am): Likewise.
69918         * modules/strsep (Makefile.am): Likewise.
69919         * modules/strstr (Makefile.am): Likewise.
69920         * modules/strtod (Makefile.am): Likewise.
69921         * modules/strtoimax (Makefile.am): Likewise.
69922         * modules/strtok_r (Makefile.am): Likewise.
69923         * modules/strtol (Makefile.am): Likewise.
69924         * modules/strtoll (Makefile.am): Likewise.
69925         * modules/strtoul (Makefile.am): Likewise.
69926         * modules/strtoull (Makefile.am): Likewise.
69927         * modules/strtoumax (Makefile.am): Likewise.
69928         * modules/strverscmp (Makefile.am): Likewise.
69929         * modules/time_r (Makefile.am): Likewise.
69930         * modules/timegm (Makefile.am): Likewise.
69931         * modules/tmpfile-safer (Makefile.am): Likewise.
69932         * modules/unistd-safer (Makefile.am): Likewise.
69933         * modules/unlinkdir (Makefile.am): Likewise.
69934         * modules/userspec (Makefile.am): Likewise.
69935         * modules/utime (Makefile.am): Likewise.
69936         * modules/utimecmp (Makefile.am): Likewise.
69937         * modules/utimens (Makefile.am): Likewise.
69938         * modules/vasnprintf (Makefile.am): Likewise.
69939         * modules/vasprintf (Makefile.am): Likewise.
69940         * modules/vsnprintf (Makefile.am): Likewise.
69941         * modules/xalloc (Makefile.am): Likewise.
69942         * modules/xgetcwd (Makefile.am): Likewise.
69943         * modules/xnanosleep (Makefile.am): Likewise.
69944         * modules/xreadlink (Makefile.am): Likewise.
69945         * modules/xstrtod (Makefile.am): Likewise.
69946         * modules/xstrtol (Makefile.am): Likewise.
69947         * modules/xstrtold (Makefile.am): Likewise.
69948         * modules/yesno (Makefile.am): Likewise.
69949
69950 2006-10-12  Jim Meyering  <jim@meyering.net>
69951
69952         * m4/getloadavg.m4: Revert the change below.
69953
69954         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
69955         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
69956         fail with a symlink, which is what coreutils' ./bootstrap now
69957         creates by default.
69958
69959 2006-10-12  Bruno Haible  <bruno@clisp.org>
69960
69961         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
69962         mingw.
69963         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
69964         MSVC and mingw explicitly.
69965
69966 2006-10-11  Simon Josefsson  <jas@extundo.com>
69967             Bruno Haible  <bruno@clisp.org>
69968
69969         Add support for multiple gnulib-tool invocations in the scope of a
69970         single configure.ac file.
69971         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
69972         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
69973         with the same contents as the _LIBADD variable.
69974         (func_emit_initmacro_start, func_emit_initmacro_end,
69975         func_emit_initmacro_done): New functions.
69976         (func_import, func_create_testdir): Invoke them. Allow the identifiers
69977         gl_LIBOBJS and gl_LTLIBOBJS.
69978
69979 2006-10-11  Bruno Haible  <bruno@clisp.org>
69980
69981         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
69982         (func_create_testdir): Don't create po/Makefile.am, don't invoke
69983         autoreconf. Instead, invoke autopoint explicitly but move back the
69984         *.m4 files from gnulib.
69985
69986 2006-10-11  Bruno Haible  <bruno@clisp.org>
69987
69988         * gnulib-tool (func_usage): Make module names after --create-testdir
69989         optional.
69990         (func_create_testdir): If no module was specified, use nearly all
69991         modules.
69992
69993 2006-10-12  Jim Meyering  <jim@meyering.net>
69994
69995         Big performance improvement for fts-based tools that use FTS_NOSTAT.
69996         Avoid spurious inode-mismatch problems on non-POSIX file systems.
69997         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
69998         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
69999         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
70000         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
70001         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
70002         (fts_set_stat_required): New function.
70003         (fts_open): Defer the calls to fts_stat, if possible or requested.
70004         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
70005         into fts_stat itself.
70006         (fts_read): Perform any required (deferred) fts_stat call.
70007         (fts_build): Likewise, for the directory we're about to open and read.
70008         In the readdir loop, carefully decide whether each entry will require
70009         an eventual call to fts_stat, using dirent.d_type info if available.
70010         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
70011         a command line argument into this function.  Update all callers.
70012         Map a return value of FTS_DOT to FTS_D for a command line argument.
70013         * modules/fts (Depends-on): Add d-type.  Alphabetize.
70014         Thanks to Miklos Szeredi for his tenacity and for the initial
70015         bug report about "find" failing on a FUSE-based file system.
70016
70017         * lib/fts.c (fts_open): Use consistent indentation.
70018
70019 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70020
70021         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
70022         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
70023         reported by Jim Meyering.  All uses of cache variables renamed
70024         to match Autoconf's.
70025         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
70026         the other one.
70027
70028         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
70029         Fix misspelling in diagnostic.
70030
70031 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70032
70033         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
70034         defined.  Problem reported by Matthew Woehlke.
70035
70036         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
70037         Add support for Tandem NonStop R series.
70038         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
70039         Use new macro.
70040
70041         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
70042         (has_trailing_slash): Omit size arg; all callers changed.
70043         Omit 'inline', since it doesn't help performance and we'd
70044         need to configure it.
70045         Don't count //, ///, etc. as having a trailing slash.
70046         As a side effect, this removes a C99ism reported by Matthew Woehlke.
70047         (rpl_rename_dest_slash): On failure, use rename's errno rather
70048         than (in some cases) an incorrect or junk errno.
70049         Simplify code by removing need to compute length; this does
70050         cause it to make two passes instead of one over the file name,
70051         but it's worth it.
70052
70053         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
70054         change, since Autoconf's version may no longer be appropriate now
70055         that we are using CVS Autoconf's version.  Add support for Tandem.
70056
70057 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70058             Bruno Haible  <bruno@clisp.org>
70059
70060         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
70061         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
70062         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
70063         gl_AC_TYPE_LONG_LONG.
70064
70065         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
70066         instead of HAVE_LONG_LONG.
70067         * lib/printf-args.c (printf_fetchargs): Likewise.
70068         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
70069         * lib/vasnprintf.c (VASNPRINTF): Likewise.
70070         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
70071         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
70072         gl_AC_TYPE_LONG_LONG.
70073
70074 2006-10-11  Bruno Haible  <bruno@clisp.org>
70075
70076         * m4/longlong.m4: Add comments.
70077         * m4/ulonglong.m4: Likewise.
70078
70079 2006-10-10  Bruno Haible  <bruno@clisp.org>
70080
70081         Make it possible to #define stpcpy, strdup to aliases.
70082         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
70083         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
70084
70085 2006-10-10  Bruno Haible  <bruno@clisp.org>
70086
70087         Make it possible to #define gcd to an alias.
70088         * lib/gcd.c: Include config.h.
70089
70090 2006-10-10  Bruno Haible  <bruno@clisp.org>
70091
70092         Make it possible to #define c_isascii to an alias.
70093         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
70094         defined. Undefine the macros before defining them, to avoid gcc
70095         warnings.
70096         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
70097         define NO_C_CTYPE_MACROS early.
70098
70099 2006-10-10  Bruno Haible  <bruno@clisp.org>
70100
70101         Make it possible to #define set_program_name to an alias.
70102         * lib/progname.c: Don't undefine set_program_name; instead, undefine
70103         ENABLE_RELOCATABLE early.
70104
70105 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70106
70107         Port to Tandem NSK OSS, which has 64-bit signed int but at most
70108         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
70109         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
70110         More generally, don't assume that 64-bit signed int is available
70111         if unsigned int is, and vice versa.
70112         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
70113         unsigned symbols, not on their signed counterparts.
70114         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
70115         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
70116         (UINT64_C, UINTMAX_C):
70117         Likewise.
70118         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
70119         unsigned counterparts.
70120         (Have_long_long, Unsigned): New macros.
70121         (Int): Renamed from INT.
70122         (strtoimax): Use the new macros.
70123         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
70124         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
70125         * modules/inttypes (inttypes.h): Substitute
70126         HAVE_UNSIGNED_LONG_LONG_INT.
70127         * modules/stdint (stdint.h): Likewise.
70128         (Files): Add m4/ulonglong.m4.
70129
70130 2006-10-10  Bruno Haible  <bruno@clisp.org>
70131
70132         Fix a gcc -Wshadow warning.
70133         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
70134         to 'bucket'.
70135         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
70136         gl_linked_indexof_from_to): Likewise.
70137         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
70138         Likewise.
70139         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
70140         Likewise.
70141         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
70142         Reported by Eric Blake.
70143
70144 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
70145
70146         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
70147         for NetBSD.  Problem reported by Bruno Haible.
70148
70149 2006-10-09  Jim Meyering  <jim@meyering.net>
70150
70151         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
70152         Patch from Bruno Haible.
70153
70154 2006-10-09  Jim Meyering  <jim@meyering.net>
70155
70156         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
70157         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
70158         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
70159
70160 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70161
70162         Don't include <config.h> twice; this doesn't work in some cases,
70163         e.g., when config.h has "#define intmax_t long long int" and
70164         we include <config.h>, <inttypes.h>, <config.h> in that order.
70165         Problem reported by Matthew Woehlke in:
70166         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
70167         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
70168         * lib/fts-cycle.c: Don't include config.h.
70169         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
70170         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
70171         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
70172         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
70173         inttypes.h.
70174         * lib/xstrtoumax.c: Likewise.
70175         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
70176         __strtol and the like, so that this module is more like its siblings.
70177         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
70178         Remove; no longer needed now that we assume gnulib inttypes.h.
70179
70180 2006-10-08  Bruno Haible  <bruno@clisp.org>
70181
70182         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
70183         option.
70184
70185 2006-10-07  Jim Meyering  <jim@meyering.net>
70186
70187         * modules/inttypes (inttypes.h): Revert what seems to have been
70188         an inadvertent part of today's change: use "|", not "/" in the
70189         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
70190
70191 2006-10-07  Bruno Haible  <bruno@clisp.org>
70192
70193         * modules/sublist: New file.
70194
70195 2006-10-07  Bruno Haible  <bruno@clisp.org>
70196
70197         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
70198         * modules/argz (argz.h): Likewise.
70199         * modules/arpa_inet (arpa/inet.h): Likewise.
70200         * modules/byteswap (byteswap.h): Likewise.
70201         * modules/configmake (configmake.h): Likewise.
70202         * modules/fcntl (fcntl.h): Likewise.
70203         * modules/fnmatch (fnmatch.h): Likewise.
70204         * modules/getopt (getopt.h): Likewise.
70205         * modules/glob (glob.h): Likewise.
70206         * modules/inttypes (inttypes.h): Likewise.
70207         * modules/netinet_in (netinet/in.h): Likewise.
70208         * modules/poll (poll.h): Likewise.
70209         * modules/stdbool (stdbool.h): Likewise.
70210         * modules/stdint (stdint.h): Likewise.
70211         * modules/sys_select (sys/select.h): Likewise.
70212         * modules/sys_socket (sys/socket.h): Likewise.
70213         * modules/sys_stat (sys/stat.h): Likewise.
70214         * modules/sysexits (sysexits.h): Likewise.
70215         * modules/unistd (unistd.h): Likewise.
70216         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70217         Add a "DO NOT EDIT" comment to the generated file.
70218         (func_import): Likewise for gnulib-comp.m4.
70219
70220 2006-10-07  Bruno Haible  <bruno@clisp.org>
70221
70222         * lib/gl_sublist.h: New file.
70223         * lib/gl_sublist.c: New file.
70224
70225 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70226
70227         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
70228         name (relative to the original working directory) and the file
70229         name component (relative to the temporary working directory).  All
70230         callers changed.
70231         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
70232         * lib/mkdir-p.c (make_dir_parents): Likewise.
70233         * lib/mkdir-p.h (make_dir_parents): Likewise.
70234
70235 2006-10-06  Eric Blake  <ebb9@byu.net>
70236
70237         Define several macros for use by the clean-temp module.
70238         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
70239         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
70240         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
70241
70242         * lib/clean-temp.h (close_stream_temp): New declaration.
70243         * lib/clean-temp.c (includes): Pull in headers according to what
70244         other modules are in use.
70245         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
70246
70247 2006-10-06  Bruno Haible  <bruno@clisp.org>
70248
70249         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
70250         instead of fopen, fwriteerror.
70251
70252 2006-10-06  Bruno Haible  <bruno@clisp.org>
70253
70254         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
70255         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
70256         int.
70257         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
70258         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
70259         Return an error indicator.
70260         Suggested by Eric Blake.
70261
70262 2006-10-06  Bruno Haible  <bruno@clisp.org>
70263
70264         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
70265         Reported by Eric Blake.
70266
70267 2006-10-06  Bruno Haible  <bruno@clisp.org>
70268
70269         * modules/closeout (Description): Mention stderr too.
70270
70271 2006-10-06  Bruno Haible  <bruno@clisp.org>
70272         and Paul Eggert  <eggert@cs.ucla.edu>
70273
70274         * lib/closeout.c (close_stdout): Also close stderr.
70275         * lib/closeout.h: Update comment.
70276
70277 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70278
70279         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
70280         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
70281         * lib/dirchownmod.c: Include lchown.h.
70282         * lib/lchown.c: Don't include files that lchown.h now includes.
70283         Don't declare chown, since lchown.h now does that.
70284         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
70285         (lchown): Define to rpl_chown if lchown is declared but
70286         does not exist.  Declare using a prototype if lchown is not
70287         declared.  Add a copyright notice.
70288         * lib/mkstemp.h: Include <unistd.h>.
70289         * lib/openat.c: Include lchown.h.
70290
70291         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
70292         we now test for that separately.
70293         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
70294         rather than O_NOFOLLOW, when testing whether it's possible to
70295         avoid a race condition reliably.
70296         * lib/savewd.c (savewd_chdir): Likewise.
70297
70298         Remove macros that are no longer needed now that stdint.h is
70299         reliable.
70300         * lib/fsusage.c (UINTMAX_MAX): Remove.
70301         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
70302         * lib/utimecmp.c (SIZE_MAX): Remove.
70303
70304         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
70305
70306         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
70307         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
70308         O_NOATIME works.
70309
70310 2006-10-05  Bruno Haible  <bruno@clisp.org>
70311
70312         * lib/gl_list.h (gl_sortedlist_search_from_to,
70313         gl_sortedlist_indexof_from_to): New declarations.
70314         (gl_list_implementation): New fields sortedlist_search_from_to,
70315         sortedlist_indexof_from_to.
70316         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
70317         inline functions.
70318         * lib/gl_list.c (gl_sortedlist_search_from_to,
70319         gl_sortedlist_indexof_from_to): New functions.
70320         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
70321         function.
70322         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
70323         (gl_array_sortedlist_search_from_to): New function.
70324         (gl_array_list_implementation): Update.
70325         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
70326         function.
70327         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
70328         (gl_carray_sortedlist_search_from_to): New function.
70329         (gl_carray_list_implementation): Update.
70330         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
70331         gl_linked_sortedlist_indexof_from_to): New functions.
70332         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70333         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70334         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
70335         gl_tree_sortedlist_indexof_from_to): New functions.
70336         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70337         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70338         Update.
70339         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70340         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
70341         Update.
70342
70343 2006-10-05  Bruno Haible  <bruno@clisp.org>
70344
70345         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
70346         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
70347         (struct gl_list_implementation): Add fields search_from_to,
70348         indexof_from_to. Remove fields search, indexof.
70349         (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_list.c (gl_list_search): Use the search_from_to method.
70354         (gl_list_search_from, gl_list_search_from_to): New functions.
70355         (gl_list_indexof): Use the indexof_from_to method.
70356         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70357         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
70358         gl_array_indexof. Add start_index, end_index arguments.
70359         (gl_array_search_from_to): Renamed from gl_array_search. Add
70360         start_index, end_index arguments.
70361         (gl_array_remove, gl_array_list_implementation): Update.
70362         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
70363         gl_carray_indexof. Add start_index, end_index arguments.
70364         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
70365         start_index, end_index arguments.
70366         (gl_carray_remove, gl_carray_list_implementation): Update.
70367         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
70368         gl_linked_search. Add start_index, end_index arguments.
70369         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
70370         start_index, end_index arguments.
70371         (gl_linked_remove): Update.
70372         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70373         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70374         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
70375         field to 'size_t'.
70376         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
70377         gl_tree_search. Add start_index, end_index arguments.
70378         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70379         start_index, end_index arguments.
70380         (gl_tree_remove): Update.
70381         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70382         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70383         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
70384         function.
70385         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
70386         gl_tree_search. Add start_index, end_index arguments.
70387         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70388         start_index, end_index arguments.
70389         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70390         Update.
70391         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
70392
70393 2006-10-05  Bruno Haible  <bruno@clisp.org>
70394
70395         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
70396
70397         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
70398         fwriteerror_temp): New declarations.
70399         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
70400         (descriptors): New variable.
70401         (cleanup): First, close the descriptors.
70402         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
70403         fclose_temp, fwriteerror_temp): New functions.
70404
70405 2006-10-04  Jim Meyering  <jim@meyering.net>
70406
70407         * lib/fts.c (fts_open): Tiny comment change.
70408
70409 2006-10-04  Bruno Haible  <bruno@clisp.org>
70410
70411         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
70412         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
70413         gl_LOCK_BODY.
70414         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
70415         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
70416         gl_LOCK_EARLY_BODY.
70417         (gl_LOCK): Require gl_LOCK_BODY.
70418
70419 2006-10-04  Bruno Haible  <bruno@clisp.org>
70420
70421         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
70422         (gl_oset_search_atleast): New declaration.
70423         (struct gl_oset_implementation): Add field 'search_atleast'.
70424         (gl_oset_search_atleast): New inline function.
70425         * lib/gl_oset.c (gl_oset_search_atleast): New function.
70426         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
70427         (gl_array_oset_implementation): Update.
70428         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
70429         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
70430         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
70431
70432 2006-10-04  Bruno Haible  <bruno@clisp.org>
70433
70434         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
70435
70436 2006-10-03  Bruno Haible  <bruno@clisp.org>
70437
70438         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
70439         from gl_avltreehash_list_implementation.
70440
70441 2006-10-03  Bruno Haible  <bruno@clisp.org>
70442
70443         * lib/gl_oset.c (gl_oset_add): Fix return type.
70444
70445 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
70446
70447         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
70448
70449 2006-10-02  Eric Blake  <ebb9@byu.net>
70450
70451         * modules/strnlen (Depends-on): Add extensions.
70452
70453 2006-10-02  Eric Blake  <ebb9@byu.net>
70454
70455         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
70456         definition in 2.60+.
70457
70458 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
70459
70460         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
70461         checks.
70462
70463 2006-10-02  Bruno Haible  <bruno@clisp.org>
70464
70465         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
70466         to the AUTOMAKE_OPTIONS.
70467         Reported by Jim Meyering.
70468
70469 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70470
70471         Work around bug in Solaris 10 /proc file system:
70472         /proc/self/fd/NNN/.. isn't the parent directory of
70473         the directory whose file descriptor is NNN.  This needs to
70474         be worked around at run time, not compile time, since a
70475         program might be built on Solaris 8, where things work, and
70476         run on Solaris 10.
70477         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
70478         to use the following interface instead:
70479         (OPENAT_BUFFER_SIZE): New macro.
70480         (openat_proc_name): New function.
70481         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
70482         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
70483         Likewise.
70484         * lib/openat-proc.c: New file.
70485         * modules/openat (Files): Add lib/openat-proc.c.
70486         (Depends-on): Add same-inode, stdbool.
70487         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
70488
70489 2006-09-29  Bruno Haible  <bruno@clisp.org>
70490
70491         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
70492         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
70493         argument. Set stdout_closed before testing for ferror, not after.
70494         (fwriteerror, fwriteerror_no_ebadf): New functions.
70495
70496 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70497
70498         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
70499
70500 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
70501
70502         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
70503         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
70504
70505 2006-09-28  Jim Meyering  <jim@meyering.net>
70506
70507         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
70508         Include <unistd.h>.
70509
70510 2006-09-28  Bruno Haible  <bruno@clisp.org>
70511
70512         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
70513         * modules/linkedhash-list (Depends-on): Likewise.
70514         * modules/rbtreehash-list (Depends-on): Likewise.
70515
70516 2006-09-28  Bruno Haible  <bruno@clisp.org>
70517
70518         * lib/strndup.h: Simplify the redefinition of strndup.
70519         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
70520         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
70521
70522 2006-09-28  Bruno Haible  <bruno@clisp.org>
70523
70524         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
70525         * lib/gl_linkedhash_list.c: Likewise.
70526         * lib/gl_rbtreehash_list.c: Likewise.
70527
70528 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70529
70530         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
70531         getaddrinfo.
70532
70533         * lib/__fpending.h: Don't include <stdio_ext.h> unless
70534         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
70535         it causes <stdio_ext.h> to cause a compile-time error.
70536         Problem reported by Nelson H. F. Beebe.
70537         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
70538         of HAVE_DECL___PENDING.
70539
70540         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
70541         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
70542         declaration.
70543
70544 2006-09-27  Jim Meyering  <jim@meyering.net>
70545
70546         This file could end up with a definition for a function
70547         named __strndup, rather than rpl_strndup on a system with
70548         incomplete weak_alias support.
70549         * lib/strndup.c (strndup): Rename from __strndup.
70550         Remove #defines that used to map __strndup to strndup.
70551         Don't use K&R prototypes.
70552         Remove LIBC-related code, since this file is not sync'd with glibc.
70553         * lib/strndup.h: Revamp, accordingly.
70554         * m4/strndup.m4: Modernize.
70555
70556 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70557
70558         * modules/savewd (Depends-on): Add 'raise'.
70559         * lib/savewd.c: Include <signal.h>, for 'raise'.
70560
70561 2006-09-26  Jim Meyering  <jim@meyering.net>
70562
70563         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
70564         when we detect Darwin 8.7.0's acl_get_file bug.
70565         Rearrange to perform the new (below) run-test while $LIBS
70566         contains any acl-related library.  Set USE_ACL at the end.
70567         (gl_ACL_GET_FILE): New function.
70568
70569 2006-09-26  Eric Blake  <ebb9@byu.net>
70570
70571         * lib/verror.c: Include <config.h> unconditionally.
70572
70573 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
70574
70575         * modules/clock-time (Maintainer): Add self.
70576         * modules/getlogin_r (Depends-on): Add extensions.
70577
70578 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70579
70580         * modules/clock-time: New module.
70581         * modules/nanosleep (Depends-on): Add clock-time.
70582         * modules/gethrxtime (Depends-on): Likewise.
70583         * modules/gettime (Depends-on): Likewise.
70584         * modules/settime (Depends-on): Likewise.
70585
70586         * modules/fts-lgpl: Depend on openat.
70587         * modules/mkancesdirs: Depend on savewd.
70588         * modules/mkdir-p: Likewise.
70589
70590 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70591
70592         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
70593
70594         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
70595         `gl_have_arbitrary_file_name_length_limit' to
70596         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
70597         actually works between configure runs.
70598
70599 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70600             Bruno Haible  <bruno@clisp.org>
70601
70602         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
70603
70604 2006-09-25  Jim Meyering  <jim@meyering.net>
70605
70606         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
70607         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
70608
70609 2006-09-25  Eric Blake  <ebb9@byu.net>
70610
70611         * gnulib-tool (func_import, func_create_testdir): Fix typos in
70612         exec's in 2006-09-18 patch when shuffling fds.
70613
70614 2006-09-25  Bruno Haible  <bruno@clisp.org>
70615
70616         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
70617         Reported by Jim Meyering.
70618
70619 2006-09-24  Jim Meyering  <jim@meyering.net>
70620
70621         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
70622         compare a pointer against a literal "0".  That caused failures with
70623         at least HP-UX's hpcc.
70624
70625 2006-09-22  Simon Josefsson  <jas@extundo.com>
70626
70627         * modules/gc-sha1:
70628         * modules/gc-md4:
70629         * modules/gc-hmac-sha1:
70630         * modules/gc-hmac-md5:
70631         * modules/gc-des:
70632         * modules/gc-arcfour: Distribute more files.
70633
70634 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70635
70636         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
70637         (gl_linked_iterator_from_to): Initialize struct completely.
70638         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
70639         (gl_tree_iterator_from_to): Likewise
70640         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
70641         * lib/gl_array_list.c [lint] (gl_array_iterator)
70642         (gl_array_iterator_from_to): Likewise.
70643         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
70644         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
70645         (gl_carray_iterator_from_to): Likewise.
70646
70647         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
70648         * lib/md4.c (md4_process_block): Remove unused variable.
70649         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
70650         parentheses for clarity.
70651
70652 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70653
70654         * modules/bison-i18n (Depends-on): Add gettext.
70655
70656 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70657
70658         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
70659         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
70660         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
70661         also add missing comma that caused broken test.
70662         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
70663         stdlib.h, for `abort'.
70664         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
70665         variables.
70666         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
70667         include unistd.h if present, for `rmdir'.
70668         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
70669         variables.
70670         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
70671         in the process include standard headers for prototypes.
70672         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
70673         gets declared on GNU/Linux.
70674         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
70675         unistd.h, for `rmdir'.
70676         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
70677
70678         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
70679         always true.
70680         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
70681
70682         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
70683
70684 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70685
70686         * gnulib-tool (func_version): Create output all at once.  This
70687         may help avoid triggering unnecessary SIGPIPEs, and at any
70688         rate it doesn't hurt.
70689
70690 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70691             Bruno Haible  <bruno@clisp.org>
70692
70693         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
70694         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70695         * m4/signed.m4 (bh_C_SIGNED): Likewise.
70696
70697         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
70698         (gl_FUNC_VASPRINTF): Invoke it.
70699
70700 2006-09-22  Bruno Haible  <bruno@clisp.org>
70701
70702         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
70703         getloadavg.c as first argument.
70704
70705 2006-09-22  Bruno Haible  <bruno@clisp.org>
70706
70707         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
70708         at the beginning of the gl_INIT macro.
70709         * modules/getloadavg (configure.ac): Pass $gl_source_base to
70710         gl_GETLOADAVG.
70711
70712 2006-09-22  Bruno Haible  <bruno@clisp.org>
70713
70714         * gnulib-tool (func_create_megatestdir): Don't include the config-h
70715         module.
70716         Suggested by Ralf Wildenhues.
70717
70718 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70719
70720         Import this patch from libc:
70721
70722         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
70723
70724         * lib/regex_internal.c (re_string_reconstruct): Handle
70725         offset < pstr->valid_raw_len && pstr->offsets_needed case.
70726         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
70727         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
70728         re_string_context_at.
70729
70730         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
70731         now requires it.
70732         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
70733         gl_REGEX now does it for us.
70734         (gl_REGEX): Add test taken from
70735         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
70736
70737         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
70738         Check that large offsets work.  Modernize Autoconf usages.
70739         Prefer "yes" to mean a good thing rather than a bad.
70740         Don't put "#define mkstemp" in config.h, as this might interfere
70741         with standard system headers that "#define mkstemp mkstemp64".
70742
70743         * modules/mkstemp (Depends-on): Add extensions, so that
70744         mkstemp is visible on some platforms.
70745         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
70746         (Include): Change to "mkstemp.h" from <stdlib.h>.
70747         (Files): Add mkstemp.h.
70748
70749         * lib/mkstemp.h: New file, since some standard headers
70750         #define mkstemp.
70751         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
70752         Include "mkstemp.h".
70753         Make the _LIBC code resemble glibc original more,
70754         e.g., use K&R style.
70755         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
70756         (mkstemp): Remove, since mkstemp.h does this for us.
70757         * lib/stdlib--.h: Include mkstemp.h.
70758
70759         Import this patch from libc:
70760
70761         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70762
70763         * lib/tempname.c (__gen_tempname): Change attempts_min
70764         into a macro.  Use preprocessor to decide how to initialize
70765         attempts [Coverity CID 67].
70766
70767 2006-09-20  Bruno Haible  <bruno@clisp.org>
70768
70769         * lib/mkdtemp.c: Import from libc.
70770         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70771                 * sysdeps/posix/tempname.c (__gen_tempname): Change
70772                 attempts_min into a macro.  Use preprocessor to decide how to
70773                 initialize attempts [Coverity CID 67].
70774         2001-11-27  Paul Eggert  <eggert@twinsun.com>
70775                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
70776                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
70777
70778 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70779
70780         * gnulib-tool (func_exit): New function, to allow to pass the
70781         exit status portably through the trap.  Use everywhere.
70782         (--help, --version): Signal a write error.
70783         (trap): catch SIGPIPE, for write errors.
70784         Exit at the end of the trap, with the correct exit status.
70785
70786 2006-09-19  Karl Berry  <karl@gnu.org>
70787
70788         * doc/gnulib.texi: note about the license texinfo files.
70789
70790 2006-09-19  Eric Blake  <ebb9@byu.net>
70791
70792         * gnulib-tool: Avoid space-tab.
70793
70794 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70795
70796         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
70797         that prevented coreutils 6.1 from building.  Problem reported
70798         by Petter Reinholdtsen.
70799
70800 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70801
70802         * gnulib-tool (avoidlist): Fix typo that broke options like
70803         --avoid=lock that are used by coreutils bootstrap.
70804
70805 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
70806
70807         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
70808         more systematically.
70809
70810 2006-09-18  Jim Meyering  <jim@meyering.net>
70811
70812         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
70813
70814 2006-09-18  Bruno Haible  <bruno@clisp.org>
70815
70816         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
70817
70818 2006-09-18  Bruno Haible  <bruno@clisp.org>
70819
70820         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
70821         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
70822         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
70823         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
70824         * m4/gettext.m4: Require autoconf >= 2.52.
70825         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
70826         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
70827         of gl_cv_header_inttypes_h.
70828
70829 2006-09-18  Bruno Haible  <bruno@clisp.org>
70830
70831         * lib/javaversion.c: Include configmake.h.
70832
70833 2006-09-18  Bruno Haible  <bruno@clisp.org>
70834
70835         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
70836         avoid that the while loops be executed in a subshell.
70837
70838 2006-09-18  Bruno Haible  <bruno@clisp.org>
70839
70840         * MODULES.html.sh (func_module): Break long lines.
70841         Suggested by Bruce Korb <bkorb@gnu.org>.
70842
70843 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70844
70845         Speed up by a factor of 1.12.
70846         * gnulib-tool (nl): New variable.
70847         (func_import): Rewrite include directive extraction to only read each
70848         directive once.
70849
70850 2006-09-17  Bruno Haible  <bruno@clisp.org>
70851
70852         * modules/javaversion (Makefile.am): Remove DEFS setting.
70853         (Depends-on): Add configmake, for PKGDATADIR definition.
70854
70855 2006-09-17  Bruno Haible  <bruno@clisp.org>
70856
70857         * gnulib-tool (func_create_testdir): Rewrite all files at once.
70858
70859 2006-09-17  Bruno Haible  <bruno@clisp.org>
70860
70861         * gnulib-tool (func_append): New function, stolen from libtool.m4.
70862         (func_modules_transitive_closure, func_modules_add_dummy,
70863         func_modules_to_filelist, func_import, func_create_testdir,
70864         func_create_megatestdir, ...): Use it wherever possible.
70865         Suggested by Ralf Wildenhues.
70866
70867 2006-09-16  Karl Berry  <karl@gnu.org>
70868
70869         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
70870         to avoid sectioning errors.
70871         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
70872         [ifinfo]: blank line after @center-ed titles.
70873         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
70874         Spell FSF address consistently with others.
70875         (These changes approved by rms.)
70876
70877 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70878
70879         Speed up by a factor of 1.61.
70880         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
70881         already checked module names again.
70882
70883 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70884
70885         Speed up by a factor of 1.13.
70886         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
70887         for new_files, and the input to func_add_or_update.
70888
70889 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70890
70891         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
70892         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
70893
70894 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70895
70896         * modules/mkancesdirs (Depends-on): Add fcntl.
70897         * modules/savewd: New file.
70898         * MODULES.html.sh (File system functions): Add savewd.
70899
70900         * modules/configmake (Makefile.am): Add support for the
70901         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
70902
70903 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70904
70905         * m4/savewd.m4: New file.
70906
70907 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70908
70909         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
70910         (dirchownmod): New arg FD.  All callers changed.
70911         Use FD rather than opening the directory ourself, as opening is
70912         now the caller's responsibility.
70913         * lib/dirchownmod.h: Likewise.
70914         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
70915         hosts that require <sys/types.h> before <sys/stat.h>.  Include
70916         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
70917         (test_dir): Remove.
70918         (mkancesdirs): Return length of prefix of FILE that has already
70919         been made, or -2 if there is a child doing the work.  Redo
70920         algorithm so that it is O(N) rather than O(N**2).  Optimize away
70921         ".", and treat ".." specially since it might stray back into
70922         already-created areas.  Use a subprocess if necessary.  New arg
70923         WD; all users changed.  MAKE_DIR function should now return 1
70924         if it creates a directory that is not readable.  Return -2 if
70925         a child process is spun off.
70926         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
70927         Adjust signature to match code.
70928         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
70929         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
70930         all users changed.
70931         * lib/savewd.c, lib/savewd.h: New files.
70932
70933 2006-09-15  Jim Meyering  <jim@meyering.net>
70934
70935         * modules/rename-dest-slash: New module.
70936         * MODULES.html.sh (posix_compat): Add it here.
70937
70938         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
70939
70940 2006-09-15  Jim Meyering  <jim@meyering.net>
70941
70942         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
70943         file.
70944
70945         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
70946
70947 2006-09-15  Jim Meyering  <jim@meyering.net>
70948
70949         * lib/rename-dest-slash.c (has_trailing_slash): Use
70950         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
70951         (rpl_rename_dest_slash): Perform the cheaper trailing slash
70952         test before testing whether SRC is a directory.
70953         Suggestions from Bruno Haible.
70954
70955         Avoid a warning about an unused variable.
70956         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
70957         into the #ifdef block where it's used.
70958
70959         * lib/rename-dest-slash.c: New file.
70960
70961 2006-09-14  Bruno Haible  <bruno@clisp.org>
70962
70963         * lib/allocsa.c: Include <config.h> unconditionally.
70964         * lib/asnprintf.c: Likewise.
70965         * lib/asprintf.c: Likewise.
70966         * lib/c-strcasecmp.c: Likewise.
70967         * lib/c-strcasestr.c: Likewise.
70968         * lib/c-strncasecmp.c: Likewise.
70969         * lib/c-strstr.c: Likewise.
70970         * lib/classpath.c: Likewise.
70971         * lib/clean-temp.c: Likewise.
70972         * lib/concatpath.c: Likewise.
70973         * lib/copy-file.c: Likewise.
70974         * lib/csharpcomp.c: Likewise.
70975         * lib/csharpexec.c: Likewise.
70976         * lib/execute.c: Likewise.
70977         * lib/fatal-signal.c: Likewise.
70978         * lib/findprog.c: Likewise.
70979         * lib/fwriteerror.c: Likewise.
70980         * lib/gl_array_list.c: Likewise.
70981         * lib/gl_array_oset.c: Likewise.
70982         * lib/gl_avltree_list.c: Likewise.
70983         * lib/gl_avltree_oset.c: Likewise.
70984         * lib/gl_avltreehash_list.c: Likewise.
70985         * lib/gl_carray_list.c: Likewise.
70986         * lib/gl_linked_list.c: Likewise.
70987         * lib/gl_linkedhash_list.c: Likewise.
70988         * lib/gl_list.c: Likewise.
70989         * lib/gl_oset.c: Likewise.
70990         * lib/gl_rbtree_list.c: Likewise.
70991         * lib/gl_rbtree_oset.c: Likewise.
70992         * lib/gl_rbtreehash_list.c: Likewise.
70993         * lib/imaxabs.c: Likewise.
70994         * lib/imaxdiv.c: Likewise.
70995         * lib/javacomp.c: Likewise.
70996         * lib/javaexec.c: Likewise.
70997         * lib/javaversion.c: Likewise.
70998         * lib/linebreak.c: Likewise.
70999         * lib/localcharset.c: Likewise.
71000         * lib/lock.c: Likewise.
71001         * lib/mbchar.c: Likewise.
71002         * lib/mbswidth.c: Likewise.
71003         * lib/mkdtemp.c: Likewise.
71004         * lib/pipe.c: Likewise.
71005         * lib/printf-args.c: Likewise.
71006         * lib/printf-parse.c: Likewise.
71007         * lib/progname.c: Likewise.
71008         * lib/progreloc.c: Likewise.
71009         * lib/readlink.c: Likewise.
71010         * lib/sh-quote.c: Likewise.
71011         * lib/stpcpy.c: Likewise.
71012         * lib/stpncpy.c: Likewise.
71013         * lib/strcasecmp.c: Likewise.
71014         * lib/strcasestr.c: Likewise.
71015         * lib/strcspn.c: Likewise.
71016         * lib/striconv.c: Likewise.
71017         * lib/strncasecmp.c: Likewise.
71018         * lib/strnlen1.c: Likewise.
71019         * lib/strstr.c: Likewise.
71020         * lib/strtok_r.c: Likewise.
71021         * lib/tls.c: Likewise.
71022         * lib/tmpdir.c: Likewise.
71023         * lib/unicodeio.c: Likewise.
71024         * lib/unsetenv.c: Likewise.
71025         * lib/vasnprintf.c: Likewise.
71026         * lib/vasprintf.c: Likewise.
71027         * lib/wait-process.c: Likewise.
71028         * lib/xallocsa.c: Likewise.
71029         * lib/xsetenv.c: Likewise.
71030         * lib/xstriconv.c: Likewise.
71031
71032 2006-09-13  Simon Josefsson  <jas@extundo.com>
71033
71034         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
71035         that internally, suggested by Ralf Wildenhues
71036         <Ralf.Wildenhues@gmx.de>.
71037
71038 2006-09-13  Simon Josefsson  <jas@extundo.com>
71039
71040         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
71041         @LIBOBJS@.
71042         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71043
71044 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71045
71046         * lib/_fpending.c: Include <config.h> unconditionally, since we no
71047         longer worry about uses that don't define HAVE_CONFIG_H.
71048         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
71049         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
71050         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
71051         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
71052         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
71053         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
71054         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
71055         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
71056         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
71057         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
71058         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
71059         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
71060         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
71061         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
71062         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
71063         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
71064         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
71065         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
71066         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
71067         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
71068         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
71069         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
71070         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
71071         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
71072         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
71073         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
71074         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
71075         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
71076         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
71077         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
71078         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
71079         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
71080         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
71081         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
71082         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
71083         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
71084         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
71085         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
71086         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
71087         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
71088         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
71089         Likewise.
71090
71091 2006-09-13  Eric Blake  <ebb9@byu.net>
71092
71093         * lib/getopt.c: Fix typo in last commit.
71094
71095 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
71096
71097         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
71098         dgettext.
71099
71100 2006-09-12  Jim Meyering  <jim@meyering.net>
71101
71102         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
71103         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
71104         Reported by Nelson H. F. Beebe.
71105
71106 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71107
71108         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
71109         program_invocation_name and program_invocation_short_name are
71110         initialized.
71111         * lib/argp-namefrob.h: Move declarations of program_invocation_name
71112         and program_invocation_short_name to argp.h, so they are visible
71113         to user programs.
71114         * lib/argp.h: Likewise
71115
71116 2006-09-10  Bruno Haible  <bruno@clisp.org>
71117
71118         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71119         m4/inttypes_h.m4, m4/uintmax_t.m4.
71120
71121 2006-09-10  Bruno Haible  <bruno@clisp.org>
71122
71123         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
71124         gl_AC_TYPE_UINTMAX_T.
71125
71126 2006-09-10  Bruno Haible  <bruno@clisp.org>
71127
71128         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
71129
71130 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71131
71132         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
71133         convention.  Text proposed by Bruno Haible.
71134         (struct argp_option): Document the use of N_() wrappers.
71135
71136         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
71137         '\v', and translate the two parts separately, instead of feeding
71138         the whole string to gettext.  This allows to exclude
71139         '\v' from the strings visible to the translator by writing doc
71140         strings as N_("..") "\v" N_("..").
71141
71142 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
71143
71144         * config/srclist.txt: Undo latest change; the bug was fixed.
71145
71146 2006-09-09  Bruno Haible  <bruno@clisp.org>
71147
71148         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
71149         assignments if building a library without libtool.
71150         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
71151         in func_emit_lib_Makefile_am.
71152         (func_import): When building a static library libfoo.a, arrange to
71153         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
71154         (func_create_testdir): Likewise.
71155         * modules/gc (configure.ac, Makefile.am): If building statically,
71156         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
71157         * modules/iconvme (configure.ac, Makefile.am): Likewise.
71158         * modules/striconv (configure.ac, Makefile.am): Likewise.
71159         Based on a suggestion by Ralf Wildenhues.
71160
71161 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71162
71163         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71164         Check for unistd.h too, since Autoconf doesn't assume POSIX.
71165         Also:
71166
71167         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71168         Add year_2050_test to catch glibc bug 2821
71169         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71170
71171         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71172         Prefer #ifdef to #if.
71173
71174         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
71175         Return from 'main' instead of calling 'exit'.
71176
71177 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71178
71179         * lib/mktime.c (guess_time_tm): Fix bug where mktime
71180         returned the maximum time_t value rather than (time_t) -1.
71181         Problem originally reported by William Bardwell
71182         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71183
71184         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71185         Moved to here ...
71186         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71187         ... from here.
71188
71189 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71190
71191         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
71192         2821 is fixed.
71193
71194 2006-09-08  Jim Meyering  <jim@meyering.net>
71195
71196         Don't make generated files read-only.  That would bother too many
71197         people.  However, do retain the ability to work when targets are
71198         read-only: remove the destination and temporary files before writing
71199         them (when generated via sed or echo), or by using the -f option for
71200         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
71201         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71202         * modules/byteswap, modules/configmake, modules/fcntl:
71203         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71204         * modules/localcharset, modules/netinet_in, modules/poll:
71205         * modules/stdbool, modules/stdint, modules/sys_select:
71206         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71207
71208 2006-09-08  Jim Meyering  <jim@meyering.net>
71209
71210         Avoid new build failure on FreeBSD 6.0.
71211         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
71212         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
71213         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
71214
71215 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71216
71217         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
71218
71219 2006-09-07  Jim Meyering  <jim@meyering.net>
71220
71221         Fix global typo in last change: use chmod u-w, not chmod u-x.
71222         Spotted by Paul Eggert and Bruce Korb.
71223         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71224         * modules/byteswap, modules/configmake, modules/fcntl:
71225         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71226         * modules/localcharset, modules/netinet_in, modules/poll:
71227         * modules/stdbool, modules/stdint, modules/sys_select:
71228         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71229
71230 2006-09-06  Jim Meyering  <jim@meyering.net>
71231
71232         Make generated files be read-only.
71233         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
71234         Ensure that each generated file is now read-only.
71235         * modules/argz: Likewise.
71236         * modules/arpa_inet: Likewise.
71237         * modules/byteswap: Likewise.
71238         * modules/configmake: Likewise.
71239         * modules/fcntl: Likewise.
71240         * modules/fnmatch: Likewise.
71241         * modules/getopt: Likewise.
71242         * modules/glob: Likewise.
71243         * modules/inttypes: Likewise.
71244         * modules/netinet_in: Likewise.
71245         * modules/poll: Likewise.
71246         * modules/stdbool: Likewise.
71247         * modules/stdint: Likewise.
71248         * modules/sys_select: Likewise.
71249         * modules/sys_socket: Likewise.
71250         * modules/sys_stat: Likewise.
71251         * modules/sysexits: Likewise.
71252         * modules/localcharset: Same as above, but continue using temporary
71253         file named "t-$@" (why different?) rather than the "$@-t" used
71254         everywhere else.
71255
71256         * modules/sysexits (Makefile.am): Replace literal occurrences
71257         of "sysexit.h" more readable, and more consistent, "$@".
71258
71259 2006-09-06  Bruno Haible  <bruno@clisp.org>
71260
71261         * modules/striconv: New file.
71262         * modules/xstriconv: New file.
71263         * MODULES.html.sh (Internationalization functions): Add striconv,
71264         xstriconv.
71265
71266 2006-09-06  Bruno Haible  <bruno@clisp.org>
71267
71268         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
71269         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
71270         not using libtool correctly.
71271
71272 2006-09-06  Bruno Haible  <bruno@clisp.org>
71273
71274         * lib/striconv.h: New file.
71275         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
71276         iconvstring.c.
71277         * lib/xstriconv.h: New file.
71278         * lib/xstriconv.c: New file.
71279
71280 2006-09-06  Bruno Haible  <bruno@clisp.org>
71281
71282         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71283         lib_..._LDFLAGS.
71284
71285 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71286
71287         * lib/argz_.h: Sync from Libtool.
71288
71289         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
71290                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71291
71292         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
71293
71294 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71295
71296         * modules/trim: New file.
71297
71298 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71299
71300         * lib/trim.h: New file.
71301         * lib/trim.c: New file.
71302
71303 2006-09-05  Bruno Haible  <bruno@clisp.org>
71304
71305         * MODULES.html.sh (String handling): Add trim.
71306
71307 2006-09-04  Karl Berry  <karl@gnu.org>
71308
71309         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
71310         until next release.
71311
71312 2006-09-03  Bruno Haible  <bruno@clisp.org>
71313
71314         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
71315         correctly.
71316
71317 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71318
71319         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
71320         not gl_GETLOADAVG.  Omit unneeded semicolons.
71321         Problems reported by Ralf Wildenhues in
71322         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71323         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
71324         at the end, which is the usual gnulib style.
71325
71326         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
71327         of doing all the work ourselves.
71328         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
71329         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
71330
71331 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71332
71333         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
71334         Problem reported by Ralf Wildenhues in
71335         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71336
71337         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
71338         HAVE_STRUCT_STATFS_F_FSTYPENAME.
71339
71340 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71341
71342         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
71343         yesterday's patch by changing test -n to test -z.
71344
71345 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71346
71347         * modules/getloadavg (Files): Add m4/getloadavg.m4.
71348         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
71349         the former is now obsolescent.
71350
71351         * modules/chdir-long (Depends-on): Add fcntl.
71352
71353 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71354
71355         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
71356         obsolescent, and programs should use gnulib instead.
71357         * m4/getloadavg.m4: New file, with contents taken from Autoconf
71358         but with prefixes changed.
71359
71360 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71361
71362         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
71363         or stdbool.h, because they might not exist while configuring.
71364
71365         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
71366         Don't include unistd.h or limits.h; not needed, since chdir-long.h
71367         does that for us.
71368         (O_DIRECTORY): Remove.
71369
71370 2006-08-31  Eric Blake  <ebb9@byu.net>
71371
71372         * gnulib-tool: Don't let emacs change spaces to TAB.
71373
71374 2006-08-31  Bruno Haible  <bruno@clisp.org>
71375
71376         * gnulib-tool: When calling func_import more than once, do it in a
71377         subshell.
71378         Reported by Eric Blake <ebb9@byu.net>.
71379
71380 2006-08-31  Bruno Haible  <bruno@clisp.org>
71381
71382         * gnulib-tool (nl): Remove variable.
71383         (sed_transform_lib_file): Use more robust test for config-h module.
71384         (func_import): Fix typo in 2006-08-25 patch.
71385
71386 2006-08-31  Bruno Haible  <bruno@clisp.org>
71387
71388         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
71389         specified, augment Makefile.am variables instead of assigning them.
71390
71391 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71392
71393         Work around a bug in both the Linux and SunOS 64-bit kernels:
71394         nanosleep mishandles sleeps for longer than 2**31 seconds.
71395         Problem reported by Frank v Waveren in
71396         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71397         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
71398         Check for nanosleep bug.
71399         (LIB_NANOSLEEP): Append clock_gettime library if needed.
71400
71401 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71402
71403         Work around a bug in both the Linux and SunOS 64-bit kernels:
71404         nanosleep mishandles sleeps for longer than 2**31 seconds.
71405         Problem reported by Frank v Waveren in
71406         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71407         * lib/nanosleep.c (BILLION): New constant.
71408         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
71409         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
71410         implementation.
71411
71412 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71413
71414         * modules/nanosleep (Depends-on): Add gettime.
71415
71416 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71417         and Simon Josefsson  <jas@extundo.com>
71418         and Oskar Liljeblad  <oskar@osk.mine.nu>
71419
71420         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
71421         * gnulib-tool (func_import): New license type 'unmodifiable license
71422         text'.
71423         * modules/fdl: Use it.  Longer description.
71424         * module/gpl, module/lgpl: New files.
71425
71426 2006-08-30  Jim Meyering  <jim@meyering.net>
71427
71428         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
71429         shadowing the parameter.
71430
71431 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71432
71433         Sync from Libtool:
71434
71435         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71436
71437         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
71438         sharing with gnulib.  Report by Eric Blake.
71439
71440 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71441
71442         * modules/isapipe: New file.
71443         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
71444
71445 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71446
71447         * modules/configmake (Makefile.am): Add a comment, and omit
71448         the CONFIGMAKE_ prefix from generated macro names.  Suggested
71449         by Bruno Haible.
71450
71451 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71452
71453         * m4/isapipe.m4: New file.
71454
71455 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71456
71457         * lib/isapipe.c, lib/isapipe.h: New files.
71458
71459 2006-08-29  Jim Meyering  <jim@meyering.net>
71460
71461         * modules/configmake (Makefile.am): Make configmake.h depend on
71462         Makefile.  Otherwise, a stale configmake.h could hang around.
71463
71464 2006-08-29  Eric Blake  <ebb9@byu.net>
71465
71466         * lib/error.c (error_at_line, print_errno_message): Match libc, after
71467         resolution of upstream bug 3044.
71468
71469 2006-08-29  Bruno Haible  <bruno@clisp.org>
71470
71471         * modules/localcharset (Depends-on): Add configmake.
71472         (Makefile.am): Remove setting of LIBDIR through DEFS.
71473
71474 2006-08-29  Bruno Haible  <bruno@clisp.org>
71475
71476         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
71477         defined.
71478
71479 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71480
71481         * modules/fcntl: New file.
71482         * modules/chdir-safer (Depends-on): Add fcntl.
71483         * modules/fts: Likewise.
71484         * modules/mkdir-p: Likewise.
71485
71486         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
71487         This undoes the most recent change, since we're now addressing the
71488         problem in a different way.
71489
71490         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
71491         into output, since the output might be called Makefile.am even
71492         if $makefile_name is something different.
71493         (func_import): Use $makefile_am rather than
71494         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
71495         empty.
71496
71497         * modules/inttypes (Files): Add m4/inttypes-h.m4.
71498
71499 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71500
71501         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
71502         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
71503         recent change to stdint.m4, since we're now addressing the problem in a
71504         different way.
71505
71506 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71507
71508         * m4/fcntl_h.m4: New file.
71509
71510 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71511
71512         * lib/fcntl_.h: New file.
71513         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
71514         the fcntl module.
71515         * lib/dirchownmod.c: Likewise.
71516         * lib/fts.c: Likewise.
71517
71518         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
71519         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
71520         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
71521         just before including <inttypes.h>, to avoid circular inclusion.
71522
71523 2006-08-28  Jim Meyering  <jim@meyering.net>
71524
71525         * doc/visibility.texi: Actually read and correct the grammar of the
71526         sentence affected by yesterday's change.
71527
71528 2006-08-28  Eric Blake  <ebb9@byu.net>
71529
71530         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
71531         needs wrapper.
71532
71533 2006-08-28  Eric Blake  <ebb9@byu.net>
71534
71535         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
71536
71537 2006-08-28  Eric Blake  <ebb9@byu.net>
71538
71539         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
71540
71541 2006-08-28  Bruno Haible  <bruno@clisp.org>
71542
71543         * modules/c-strstr: New file, from GNU gettext.
71544         * MODULES.html.sh (String handling): Add c-strstr.
71545
71546 2006-08-28  Bruno Haible  <bruno@clisp.org>
71547
71548         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
71549         macros.
71550         Reported by Eric Blake.
71551
71552 2006-08-28  Bruno Haible  <bruno@clisp.org>
71553
71554         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
71555         (VASNPRINTF): Return a string of length > INT_MAX without failing.
71556         * lib/vasprintf.c: Include errno.h, limits.h.
71557         (EOVERFLOW): New fallback definition.
71558         (vasprintf): Test here whether the string length is > INT_MAX.
71559         * lib/vsnprintf.c: Include errno.h, limits.h.
71560         (EOVERFLOW): New fallback definition.
71561         (vsnprintf): Fix bug when generated string was too long for the buffer.
71562         Test here whether the string length is > INT_MAX.
71563
71564 2006-08-28  Bruno Haible  <bruno@clisp.org>
71565
71566         * lib/inttypes_.h (SCNX*): Remove definitions.
71567         Reported by Eric Blake.
71568
71569 2006-08-28  Bruno Haible  <bruno@clisp.org>
71570
71571         * lib/c-strstr.h: New file, from GNU gettext.
71572         * lib/c-strstr.c: New file, from GNU gettext.
71573
71574 2006-08-28  Bruno Haible  <bruno@clisp.org>
71575
71576         * gnulib-tool: Reorder some statements.
71577
71578 2006-08-28  Bruno Haible  <bruno@clisp.org>
71579
71580         * gnulib-tool: New option --makefile-name.
71581         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
71582         $makefile_name.
71583         (func_import): Write $makefile_name to the cache file, and read it from
71584         there unless explicitly specified. Use $makefile_name as file name
71585         instead of Makefile.am. Adjust the recommendations accordingly.
71586
71587 2006-08-28  Bruno Haible  <bruno@clisp.org>
71588
71589         * gnulib-tool (func_verify_module): Check against misapplying patch.
71590
71591 2006-08-28  Bruno Haible  <bruno@clisp.org>
71592
71593         * gnulib-tool (func_relativize, func_relconcat): New functions.
71594         Give an error if --local-dir is given with --update.
71595         Remove trailing slashes from $local_gnulib_dir.
71596         (func_import): Store the relativized $local_gnulib_dir in
71597         gnulib-cache.m4, and read it from there if not specified explicitly.
71598
71599 2006-08-28  Bruno Haible  <bruno@clisp.org>
71600
71601         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
71602         is the current directory. Respect also $local_gnulib_dir.
71603
71604 2006-08-28  Bruno Haible  <bruno@clisp.org>
71605             Simon Josefsson  <jas@extundo.com>
71606
71607         BeOS portability.
71608         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
71609
71610 2006-08-27  Jim Meyering  <jim@meyering.net>
71611
71612         * doc/visibility.texi: Remove duplicate word: "pointer".
71613
71614 2006-08-26  Bruno Haible  <bruno@clisp.org>
71615
71616         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
71617         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
71618         (Makefile.am): Create inttypes.h from inttypes_.h.
71619         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
71620
71621         * modules/imaxabs: New file.
71622
71623         * modules/imaxdiv: New file.
71624
71625 2006-08-26  Bruno Haible  <bruno@clisp.org>
71626
71627         * m4/inttypes.m4: New file.
71628         * m4/_inttypes_h.m4: Remove file.
71629         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
71630         PRI_MACROS_BROKEN.
71631         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
71632
71633         * m4/imaxabs.m4: New file.
71634
71635         * m4/imaxdiv.m4: New file.
71636
71637 2006-08-26  Bruno Haible  <bruno@clisp.org>
71638
71639         * lib/inttypes_.h: New file.
71640         * lib/inttypes.h: Remove file.
71641         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
71642
71643         * lib/imaxabs.c: New file.
71644
71645         * lib/imaxdiv.c: New file.
71646
71647 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71648
71649         New config-h module, so that "make" output needn't be cluttered
71650         by -DHAVE_CONFIG_H.
71651         * MODULES.html.sh (Support for building libraries and executables):
71652         Add config-h.
71653         * modules/config-h: New file.
71654         * gnulib-tool (nl, sed_transform_lib_file): New vars.
71655         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
71656         the config-h module is used.
71657
71658         New configmake module, so that "make" output needn't be cluttered
71659         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
71660         * MODULES.html.sh (Support for building libraries and executables):
71661         Add configmake.
71662         * modules/configmake: New file.
71663
71664 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71665
71666         * m4/config-h.m4: New file.
71667
71668 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71669
71670         * config/srclist.txt: Add elisp-comp.
71671
71672 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71673
71674         * MODULES.html.sh (Support for building libraries and executables):
71675         Add elisp-comp.
71676         * build-aux/elisp-comp: New file.
71677         * modules/elisp-comp: New file.
71678
71679 2006-08-24  Bruno Haible  <bruno@clisp.org>
71680
71681         * gnulib-tool (func_create_testdir): Use non-default values of
71682         sourcebase and m4base.
71683
71684 2006-08-24  Bruno Haible  <bruno@clisp.org>
71685
71686         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
71687         HTML structure.
71688
71689 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71690
71691         * modules/openat (Depends-on): Add lchown.
71692
71693 2006-08-23  Bruno Haible  <bruno@clisp.org>
71694
71695         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
71696         of gl_LOCK_EARLY instead of gl_LOCK.
71697
71698 2006-08-23  Bruno Haible  <bruno@clisp.org>
71699
71700         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
71701         on OSF/1 to no.
71702         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
71703
71704 2006-08-23  Bruno Haible  <bruno@clisp.org>
71705
71706         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
71707         as unusable.
71708
71709         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
71710         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
71711         (gl_LOCK): New macro.
71712
71713 2006-08-22  Simon Josefsson  <jas@extundo.com>
71714
71715         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
71716         to md5 module.
71717
71718 2006-08-22  Simon Josefsson  <jas@extundo.com>
71719
71720         * MODULES.html.sh: Add "Support for maintaining and release
71721         projects".
71722
71723         * build-aux/gnupload: New file, from coreutils.
71724
71725 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71726
71727         Avoid the need for AC_LIBSOURCES in m4 macros.
71728         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
71729         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
71730         * modules/check-version (EXTRA_DIST): Add check-version.h.
71731         * modules/crc (EXTRA_DIST): Add crc.h.
71732         * modules/des (EXTRA_DIST): Add des.h.
71733         * modules/gc (EXTRA_DIST): Add gc.h.
71734         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
71735         * modules/getline (EXTRA_DIST): Add getline.h.
71736         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
71737         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
71738         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
71739         * modules/md2 (EXTRA_DIST): Add md2.h.
71740         * modules/md4 (EXTRA_DIST): Add md4.h.
71741         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
71742         * modules/read-file (EXTRA_DIST): Add read-file.h.
71743         * modules/readline (EXTRA_DIST): Add readline.h.
71744         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
71745         rijndael-api-fst.h.
71746
71747 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71748
71749         * m4/rijndael.m4 (gl_ARCFOUR):
71750         * m4/arctwo.m4 (gl_ARCTWO):
71751         * m4/check-version.m4 (gl_CHECK_VERSION):
71752         * m4/crc.m4 (gl_CRC):
71753         * m4/des.m4 (gl_DES):
71754         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
71755         * m4/gc.m4 (gl_GC):
71756         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
71757         * m4/getline.m4 (gl_FUNC_GETLINE):
71758         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
71759         * m4/hmac-md5.m4 (gl_HMAC_MD5):
71760         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
71761         * m4/md2.m4 (gl_MD2):
71762         * m4/md4.m4 (gl_MD4):
71763         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
71764         * m4/read-file.m4 (gl_FUNC_READ_FILE):
71765         * m4/readline.m4 (gl_FUNC_READLINE):
71766         * m4/rijndael.m4 (gl_RIJNDAEL):
71767         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71768         to get the necessary .h files and whatnot.
71769
71770 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71771
71772         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
71773         gnulib rather than the other way around.
71774         * config/srclistvars.sh (COREUTILS): Remove.
71775
71776 2006-08-22  Jim Meyering  <jim@meyering.net>
71777
71778         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
71779
71780         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
71781
71782 2006-08-22  Eric Blake  <ebb9@byu.net>
71783
71784         * modules/regexprops-generic: New file.
71785         * MODULES.html.sh (Support for building documentation): List it.
71786
71787 2006-08-22  Eric Blake  <ebb9@byu.net>
71788
71789         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
71790         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71791         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
71792         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
71793
71794 2006-08-22  Bruno Haible  <bruno@clisp.org>
71795
71796         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
71797         and lib_LTLIBRARIES like the other lib_* variables.
71798
71799 2006-08-22  Bruno Haible  <bruno@clisp.org>
71800
71801         * build-aux/x-to-1.in: New file, from GNU gettext.
71802
71803 2006-08-22  Bruno Haible  <bruno@clisp.org>
71804
71805         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
71806         <utmpx.h> exists.
71807
71808 2006-08-22  Bruno Haible  <bruno@clisp.org>
71809
71810         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
71811         <utmpx.h> exists.
71812
71813 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71814
71815         BeOS portability.
71816         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
71817         exist.
71818         Problem reported by Bruno Haible.
71819
71820 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71821
71822         Avoid the need for AC_LIBSOURCES in m4 macros.
71823         * modules/acl (EXTRA_DIST): Add acl.h.
71824         * modules/argmatch (Files): Add m4/argmatch.m4.
71825         (configure.ac): Add gl_ARGMATCH.
71826         (EXTRA_DIST): Renamed from lib_SOURCES, for
71827         consistency with the other modules.  Remove argmatch.c.
71828         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
71829         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
71830         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
71831         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
71832         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
71833         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
71834         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
71835         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
71836         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
71837         * modules/closeout (EXTRA_DIST): Add closeout.h.
71838         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
71839         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
71840         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
71841         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
71842         dirname.h; remove basename.c and stripslash.c.
71843         * modules/exclude (EXTRA_DIST): Add exclude.h.
71844         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
71845         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
71846         * modules/file-type (EXTRA_DIST): Add file-type.h.
71847         * modules/filemode (EXTRA_DIST): Add filemode.h.
71848         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
71849         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71850         * modules/fpending (EXTRA_DIST): Add __fpending.h.
71851         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
71852         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
71853         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
71854         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
71855         * modules/getdate (EXTRA_DIST): Add getdate.c.
71856         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
71857         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
71858         * modules/getpass (EXTRA_DIST): Add getpass.h.
71859         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
71860         * modules/group-member (EXTRA_DIST): Add group-member.h.
71861         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
71862         * modules/hash (EXTRA_DIST): Add hash.h.
71863         * modules/human (EXTRA_DIST): Add human.h.
71864         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
71865         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
71866         * modules/lchown (EXTRA_DIST): Add lchown.h.
71867         * modules/long-options (EXTRA_DIST): Add long-options.h.
71868         * modules/lstat (EXTRA_DIST): Add lstat.h.
71869         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
71870         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
71871         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
71872         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
71873         * modules/memxor (EXTRA_DIST): Add memxor.h.
71874         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
71875         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
71876         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
71877         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
71878         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
71879         * modules/physmem (EXTRA_DIST): Add physmem.h.
71880         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
71881         * modules/posixver (EXTRA_DIST): Add posixver.h.
71882         * modules/quote (EXTRA_DIST): Add quote.h.
71883         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
71884         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
71885         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
71886         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
71887         regex_internal.h regexec.c.
71888         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
71889         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
71890         * modules/same (EXTRA_DIST): Add same.h.
71891         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
71892         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
71893         * modules/savedir (EXTRA_DIST): Add savedir.h.
71894         * modules/sha1 (EXTRA_DIST): Add sha1.h.
71895         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
71896         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
71897         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
71898         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
71899         * modules/strdup (EXTRA_DIST): Add strdup.h.
71900         * modules/strftime (EXTRA_DIST): Add strftime.h.
71901         * modules/strndup (EXTRA_DIST): Add strndup.h.
71902         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
71903         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
71904         * modules/time_r (EXTRA_DIST): Add time_r.h.
71905         * modules/timespec (EXTRA_DIST): Add timespec.h.
71906         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71907         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
71908         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
71909         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
71910         * modules/userspec (EXTRA_DIST): Add userspec.h.
71911         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
71912         * modules/utimens (EXTRA_DIST): Add utimens.h.
71913         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
71914         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
71915         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
71916         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
71917         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
71918         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
71919         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
71920         * modules/yesno (EXTRA_DIST): Add yesno.h.
71921
71922 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71923
71924         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
71925
71926         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
71927         * m4/dev-ino.m4, same-inode.m4: Remove.
71928
71929         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
71930         * m4/acl.m4 (AC_FUNC_ACL):
71931         * m4/backupfile.m4 (gl_BACKUPFILE):
71932         * m4/c-strtod.m4 (gl_C99_STRTOLD):
71933         * m4/canon-host.m4 (gl_CANON_HOST):
71934         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71935         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
71936         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
71937         * m4/cloexec.m4 (gl_CLOEXEC):
71938         * m4/close-stream.m4 (gl_CLOSE_STREAM):
71939         * m4/closeout.m4 (gl_CLOSEOUT):
71940         * m4/dirfd.m4 (gl_FUNC_DIRFD):
71941         * m4/dirname.m4 (gl_DIRNAME):
71942         * m4/exclude.m4 (gl_EXCLUDE):
71943         * m4/exitfail.m4 (gl_EXITFAIL):
71944         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
71945         * m4/file-type.m4 (gl_FILE_TYPE):
71946         * m4/filemode.m4 (gl_FILEMODE):
71947         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
71948         * m4/fpending.m4 (gl_FUNC_FPENDING):
71949         * m4/fprintftime.m4 (gl_FPRINTFTIME):
71950         * m4/fts.m4 (gl_FUNC_FTS):
71951         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
71952         * m4/getdate.m4 (gl_GETDATE):
71953         * m4/gethrxtime.m4 (gl_GETHRXTIME):
71954         * m4/getpagesize.m4 (gl_GETPAGESIZE):
71955         * m4/getpass.m4 (gl_FUNC_GETPASS):
71956         * m4/gettime.m4 (gl_GETTIME):
71957         * m4/getugroups.m4 (gl_GETUGROUPS):
71958         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
71959         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
71960         * m4/hard-locale.m4 (gl_HARD_LOCALE):
71961         * m4/hash.m4 (gl_HASH):
71962         * m4/idcache.m4 (gl_IDCACHE):
71963         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
71964         * m4/lchown.m4 (gl_FUNC_LCHOWN):
71965         * m4/long-options.m4 (gl_LONG_OPTIONS):
71966         * m4/lstat.m4 (gl_FUNC_LSTAT):
71967         * m4/md5.m4 (gl_MD5):
71968         * m4/memcasecmp.m4 (gl_MEMCASECMP):
71969         * m4/memcoll.m4 (gl_MEMCOLL):
71970         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
71971         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
71972         * m4/memxor.m4 (gl_MEMXOR):
71973         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
71974         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
71975         * m4/modechange.m4 (gl_MODECHANGE):
71976         * m4/mountlist.m4 (gl_MOUNTLIST):
71977         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71978         * m4/openat.m4 (gl_FUNC_OPENAT):
71979         * m4/pathmax.m4 (gl_PATHMAX):
71980         * m4/physmem.m4 (gl_PHYSMEM):
71981         * m4/posixtm.m4 (gl_POSIXTM):
71982         * m4/posixver.m4 (gl_POSIXVER):
71983         * m4/quote.m4 (gl_QUOTE):
71984         * m4/quotearg.m4 (gl_QUOTEARG):
71985         * m4/readtokens.m4 (gl_READTOKENS):
71986         * m4/readutmp.m4 (gl_READUTMP):
71987         * m4/regex.m4 (gl_REGEX):
71988         * m4/safe-read.m4 (gl_SAFE_READ):
71989         * m4/safe-write.m4 (gl_SAFE_WRITE):
71990         * m4/same.m4 (gl_SAME):
71991         * m4/save-cwd.m4 (gl_SAVE_CWD):
71992         * m4/savedir.m4 (gl_SAVEDIR):
71993         * m4/settime.m4 (gl_SETTIME):
71994         * m4/sha1.m4 (gl_SHA1):
71995         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
71996         * m4/stat-macros.m4 (gl_STAT_MACROS):
71997         * m4/stat-time.m4 (gl_STAT_TIME):
71998         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
71999         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
72000         * m4/strdup.m4 (gl_FUNC_STRDUP):
72001         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
72002         * m4/strndup.m4 (gl_FUNC_STRNDUP):
72003         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
72004         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
72005         * m4/time_r.m4 (gl_TIME_R):
72006         * m4/timespec.m4 (gl_TIMESPEC):
72007         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
72008         * m4/unlinkdir.m4 (gl_UNLINKDIR):
72009         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
72010         * m4/userspec.m4 (gl_USERSPEC):
72011         * m4/utimecmp.m4 (gl_UTIMECMP):
72012         * m4/utimens.m4 (gl_UTIMENS):
72013         * m4/xalloc.m4 (gl_XALLOC):
72014         * m4/xgetcwd.m4 (gl_XGETCWD):
72015         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
72016         * m4/xreadlink.m4 (gl_XREADLINK):
72017         * m4/xstrtod.m4 (gl_XSTRTOD):
72018         * m4/yesno.m4 (gl_YESNO):
72019         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72020         to get the necessary .h files and whatnot.
72021
72022 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
72023             Bruno Haible  <bruno@clisp.org>
72024
72025         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
72026         /bin/sh understanding of '!' conditional negation.
72027
72028 2006-08-21  Jim Meyering  <jim@meyering.net>
72029
72030         * modules/openat (Depends-on): Really alphabetize.
72031
72032         * modules/acl (Depends-on): Add error and quote.
72033
72034         * check-module (find_included_lib_files): Add at-func.c to the
72035         ok-to-include-more-than-once white list.
72036
72037         * modules/openat (Depends-on): Add lstat.  Alphabetize.
72038
72039 2006-08-21  Bruno Haible  <bruno@clisp.org>
72040
72041         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72042         Emit a pkgdata_DATA variable only if some snippets add contents to it.
72043         Reported by Martin Lambers <marlam@marlam.de>.
72044
72045 2006-08-21  Bruno Haible  <bruno@clisp.org>
72046
72047         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
72048         specify an installation location, don't emit a noinst_LIBRARIES or
72049         noinst_LTLIBRARIES assignment.
72050
72051 2006-08-21  Bruno Haible  <bruno@clisp.org>
72052
72053         BeOS portability.
72054         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
72055         BeOS has mbrtowc() but no <wctype.h>.
72056
72057 2006-08-21  Bruno Haible  <bruno@clisp.org>
72058
72059         BeOS portability.
72060         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
72061         exist.
72062
72063 2006-08-21  Bruno Haible  <bruno@clisp.org>
72064
72065         BeOS portability.
72066         * lib/mbchar.h: Include <wctype.h> only if it exists.
72067
72068 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72069
72070         Remove files that are no longer needed by their respective modules.
72071         * m4/obstack.m4: Remove.
72072         * m4/strerror_r.m4: Remove.
72073         * m4/uint32_t.m4: Remove.
72074         * m4/uintptr_t.m4: Remove.
72075         * m4/ullong_max.m4: Remove.
72076         * m4/xstrtoimax.m4: Remove.
72077         * m4/xstrtoumax.m4: Remove.
72078
72079         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
72080         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
72081         dependencies now capture this.
72082
72083         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
72084         Do not use AC_LIBSOURCES, since gnulib modules now do this.
72085         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
72086         * m4/human.m4 (gl_HUMAN): Likewise.
72087         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
72088         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
72089
72090         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
72091
72092         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
72093         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
72094         stdint.
72095         * m4/human.m4 (gl_HUMAN): Likewise.
72096         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
72097         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
72098         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72099         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72100         * m4/xstrtol (gl_XSTRTOL): Likewise.
72101
72102         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
72103         AC_TYPE_LONG_LONG_INT.
72104         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72105         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
72106         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
72107         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72108
72109         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
72110         on stdbool.
72111
72112         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
72113         (gl_PREREQ_XSTRTOUL): Remove.
72114
72115         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
72116
72117         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
72118         mode.
72119
72120 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72121
72122         Add and change modules to make it easier for coreutils to use
72123         gnulib-tool.
72124         * modules/backupfile (Files): Remove m4/d-ino.m4.
72125         (Depends-on): Add d-ino.
72126         * modules/cycle-check (Depends-on): Add stdint.
72127         (lib_SOURCES): Add cycle-check.h.
72128         * modules/d-ino: New module.
72129         * modules/d-type: New module.
72130         * modules/error (Files): Remove m4/strerror_r.m4.
72131         * modules/filemode (Files): Add m4/st_dm_mode.m4.
72132         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72133         m4/inttypes_h.m4, m4/uintmax_t.m4.
72134         (Depends-on): Add stdint.
72135         (lib_SOURCES): Add fsusage.h.
72136         * modules/getcwd (Files): Remove d-ino.m4.
72137         (Depends-on): Add d-ino.
72138         * modules/getndelim2 (Depends-on): Add stdint.
72139         * modules/glob (Files): Remove m4/d-type.m4.
72140         (Depends-on): Add d-type.
72141         * modules/host-os: New module.
72142         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
72143         m4/inttypes_h.m4, m4/uintmax_t.m4.
72144         * Depends-on: Add stdint.
72145         (lib_SOURCES): Add human.h.
72146         * modules/inttostr (Files): Remove m4/intmax_t.m4,
72147         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
72148         m4/uintmax_t.m4, m4/ulonglong.m4.
72149         (Depends-on): Add stdint.
72150         (EXTRA_DIST): Add inttostr.h.
72151         * modules/lchmod: New module.
72152         * modules/link-follow: New module.
72153         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
72154         (Depends-on): Add lchmod.
72155         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
72156         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
72157         (Depends-on): Add stdint.
72158         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
72159         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
72160         (Depends-on): Add stdint.
72161         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
72162         * modules/perl: New module.
72163         * modules/regex (Depends-on): Add stdint.
72164         * modules/rmdir-errno: New module.
72165         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72166         m4/intmax_t.m4.
72167         (Depends-on): Add stdint.
72168         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72169         m4/uintmax_t.m4.
72170         (Depends-on): Add stdint.
72171         * modules/unlink-busy: New module.
72172         * modules/utimecmp (Depends-on): Add stdint.
72173         * modules/uptime: New module.
72174         * modules/winsz-ioctl: New module.
72175         * modules/winsz-termios: New module.
72176         * modules/xnanosleep (Depends-on): Add nanosleep.
72177         * modules/ullong_max: Remove.
72178         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
72179         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
72180         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
72181         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
72182         (Depends-on): Add inttypes.
72183         (lib_SOURCES): Add xstrtol.h.
72184         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
72185         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
72186         * MODULES.html.sh: Move 'assert' into the assert section.
72187         Move 'dummy' into the linking section.
72188         Remove ullong_max.
72189         Add section for compatibility checks for POSIX:2001 functions,
72190         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
72191         winsz-ioctl, and winsz-termios into it.
72192         Add lchmod.
72193         Add top-level Misc section and put host-os, perl, and uptime
72194         into it.
72195
72196 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72197
72198         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
72199         now assume the stdint module.  Do not include inttypes.h.
72200         * lib/fsusage.h: Likewise.
72201         * lib/getndelim2.c: Likewise.
72202         * lib/human.h: Likewise.
72203         * lib/inttostr.h: Likewise.
72204         * lib/obstack.c: Likewise.
72205         * lib/regex_internal.h: Likewise.
72206         * lib/tempname.c: Likewise.
72207         * lib/utimecmp.c: Likewise.
72208         * lib/xstrtol.h: Likewise.
72209
72210         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
72211
72212         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
72213         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
72214         * lib/xtime.h: Likewise.
72215
72216 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72217
72218         * modules/openat (Files): Add lib/fchmodat.c.
72219         Fixes problem reported by Jay Youngman.
72220
72221 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72222
72223         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
72224         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
72225
72226 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
72227             Bruno Haible  <bruno@clisp.org>
72228
72229         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
72230         and is a script that invokes bison. Tighten the code. Add comments.
72231
72232 2006-08-18  Jim Meyering  <jim@meyering.net>
72233
72234         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
72235         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
72236         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
72237         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
72238
72239 2006-08-18  Bruno Haible  <bruno@clisp.org>
72240
72241         * modules/bison-i18n: New file.
72242         * MODULES.html.sh (Internationalization functions): Add it.
72243
72244 2006-08-18  Bruno Haible  <bruno@clisp.org>
72245
72246         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
72247         sys/statvfs.h. When getmntinfo was found, check its declaration and
72248         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
72249
72250 2006-08-18  Bruno Haible  <bruno@clisp.org>
72251
72252         * m4/bison-i18n.m4: New file, from bison.
72253
72254 2006-08-18  Bruno Haible  <bruno@clisp.org>
72255
72256         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
72257         (ME_DUMMY): Treat "kernfs" as a dummy.
72258         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
72259
72260 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72261
72262         Update from coreutils.
72263
72264         2006-08-15  Jim Meyering  <jim@meyering.net>
72265
72266         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
72267
72268         2006-01-17  Jim Meyering  <jim@meyering.net>
72269
72270         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
72271
72272         2006-01-11  Jim Meyering  <jim@meyering.net>
72273
72274         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
72275         Check for the lchmod function.
72276
72277 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         Update from coreutils.
72280
72281         * lib/__fpending.h: Add copyright notice.
72282         * lib/fprintftime.h: Likewise.
72283         * lib/savedir.c: Use (C) in copyright notice.
72284         * lib/savedir.h: Likewise.
72285
72286         2006-08-15  Jim Meyering  <jim@meyering.net>
72287
72288         * lib/at-func.c: New file, with the logic of all emulated at-functions.
72289         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
72290         in support of the EXPECTED_ERRNO macro.
72291         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
72292         definitions.  Instead, define the appropriate symbols and include
72293         "at-func.c".
72294         * lib/mkdirat.c (mkdirat): Likewise.
72295         * lib/fchmodat.c (fchmodat): Likewise.
72296         (ENOSYS): Remove definition.
72297         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
72298         it.  Don't include "unistd--.h" -- it wasn't ever used.
72299
72300         2006-01-17  Jim Meyering  <jim@meyering.net>
72301
72302         Rewrite fts.c not to change the current working directory,
72303         by using openat, fstatat, fdopendir, etc..
72304
72305         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
72306         (HAVE_OPENAT_SUPPORT): Define.
72307         [_LIBC] (fchdir): Don't undef or define; no longer used.
72308         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
72309         Now, this `function' always succeeds, and consumes its file descriptor
72310         parameter -- so callers must not close such FDs.  Update callers.
72311         (diropen_fd, opendirat, cwd_advance_fd): New functions.
72312         (diropen): Add parameter, SP.  Adjust all callers.
72313         Implement using diropen_fd, rather than open.
72314         (fts_open): Initialize new member, fts_cwd_fd.
72315         Remove fts_rft-setting code.
72316         (fts_close): Close fts_cwd_fd, if necessary.
72317         (__opendir2): Define in terms of opendir or opendirat,
72318         depending on whether the FST_NOCHDIR flag is set.
72319         (fts_build): Since fts_safe_changedir consumes its FD, and since
72320         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
72321         and close the dup'd file descriptor upon failure.
72322         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
72323         (fts_safe_changedir): Tweak semantics to reflect that this function
72324         now calls cwd_advance_fd and hence consumes its FD argument.
72325         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
72326         [struct FTS] (fts_rft): Remove now-unused member.
72327         [struct FTS] (fts_cycle.state): Improve comment.
72328
72329         * lib/openat.c (openat_needs_fchdir): New function.
72330         * lib/openat.h (openat_needs_fchdir): Declare it.
72331
72332 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72333
72334         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
72335         Problem and fix reported by Pádraig Brady in
72336         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
72337
72338 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72339
72340         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
72341
72342 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72343
72344         * lib/memcoll.c (memcoll): Optimize for the common case where the
72345         arguments are bytewise equal.
72346
72347 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72348
72349         * doc/regexprops-generic.texi: Add a copyright notice.
72350
72351 2006-08-15  Bruno Haible  <bruno@clisp.org>
72352
72353         * modules/tmpdir (License): Change to LGPL.
72354
72355 2006-08-15  Bruno Haible  <bruno@clisp.org>
72356
72357         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
72358         module.
72359
72360 2006-08-14  Simon Josefsson  <jas@extundo.com>
72361
72362         * config/srclist.txt: Add gnupload.
72363
72364 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72365
72366         Change copyright notice from LGPL 2 to GPL 2, since that's the
72367         standard form used in the gnulib repository.
72368         * tests/test-lock.c: Likewise.
72369         * tests/test-stdint.c: Likewise.
72370         * tests/test-tls.c: Likewise.
72371
72372         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
72373         prelude-manager.  User shorter URLs for GNU projects, without '?'.
72374         Add copyright notice.
72375
72376         * check-module: Add copyright notice.  Output a copyright
72377         notice if "--version" is specified.
72378         * modules/COPYING: New file.
72379         * tests/test-getaddrinfo.c: Add copyright notice.
72380         * tests/test-verify.c: Likewise.
72381
72382 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72383
72384         Change copyright notice from LGPL 2 to GPL 2, since that's the
72385         standard form used in the gnulib repository.
72386         * lib/lock.c: LGPL -> GPL.
72387         * lib/lock.h: Likewise.
72388         * lib/strnlen1.c: Likewise.
72389         * lib/strnlen1.h: Likewise.
72390         * lib/tls.c: Likewise.
72391         * lib/tls.h: Likewise.
72392         * lib/tmpdir.c: Likewise.
72393
72394         * lib/TODO: Remove; this belongs only in coreutils.
72395
72396 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72397
72398         Add copyright notices to long-enough files that lack them, since
72399         otherwise the files aren't clearly free.  Use the same notice that
72400         getdate.texi already uses.
72401         * doc/alloca-opt.texi: Add copyright notice.
72402         * doc/alloca.texi: Likewise.
72403         * doc/ctime.texi: Likewise.
72404         * doc/functions.texi: Likewise.
72405         * doc/gcd.texi: Likewise.
72406         * doc/gnulib-tool.texi: Likewise.
72407         * doc/inet_ntoa.texi: Likewise.
72408         * doc/visibility.texi: Likewise.
72409
72410         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
72411         * doc/quote.texi: Add copyright notice.
72412
72413         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
72414         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
72415         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
72416         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
72417         is now obsolete, and give a pointer to the Sun list.
72418         Add copyright notice.
72419
72420 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72421
72422         * config/srclistvars.sh: Add copyright notice.
72423
72424 2006-08-14  Eric Blake  <ebb9@byu.net>
72425
72426         Import the following change from libc:
72427
72428         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
72429
72430         Upstream bug 2997.
72431         * lib/misc/error.c: Add space between program name and message if file
72432         name is missing.
72433
72434 2006-08-12  Karl Berry  <karl@gnu.org>
72435
72436         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
72437         remove, these originate in gnulib now.
72438
72439 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72440
72441         * doc/Makefile (standards.info standards.html standards.dvi):
72442         Also depend on make-stds.texi.
72443
72444 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72445
72446         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
72447         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
72448
72449         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
72450         in wchar_t.  Problem reported by Eric Blake.
72451
72452         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
72453         LEN is smaller than SIZE.  Suggested by Bruno Haible.
72454         Also, help the compiler to keep LEN in a register.
72455
72456 2006-08-11  Eric Blake  <ebb9@byu.net>
72457
72458         * users.txt: Sort.  Add tar.
72459
72460 2006-08-11  Bruno Haible  <bruno@clisp.org>
72461
72462         * users.txt: New file.
72463
72464 2006-08-11  Bruno Haible  <bruno@clisp.org>
72465
72466         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
72467         before <wchar.h>. Needed for OSF/1 and BSD/OS.
72468
72469 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72470
72471         * modules/snprintf (Depends-on): Remove minmax.
72472         (Maintainer): Add self and Bruno.
72473
72474 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72475
72476         * lib/.cppi-disable: Add snprintf.h, socket_.h.
72477         * lib/snprintf.c: Include <errno.h> and <limits.h>.
72478         (EOVERFLOW): Define if the system does not.
72479         Do not include "minmax.h"; it wasn't used.
72480         (snprintf): Don't assume size_t promotes to an unsigned type.
72481         Fix bug when generated string was too long for the buffer: the
72482         buffer's contents are supposed to be the initial prefix of the
72483         output.  Don't assume vasnprintf returns EOVERFLOW if the size
72484         exceeds INT_MAX; do the check ourselves.
72485
72486         Import the following changes from libc:
72487
72488         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
72489
72490         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
72491         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
72492         set wc to the byte which couldn't be converted.
72493         (re_string_reconstruct): Don't clear valid_raw_len before calling
72494         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
72495         tip_context using re_string_context_at.
72496
72497         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
72498
72499         * lib/posix/regex.h: g++ still cannot handled [restrict].
72500
72501         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
72502
72503         * lib/posix/regex.h: Remove special handling for VMS.
72504
72505 2006-08-10  Jim Meyering  <jim@meyering.net>
72506
72507         * modules/same-inode: New module.
72508         * modules/dev-ino: New module.
72509         * modules/cycle-check: Depend on these modules, rather than simply
72510         including their .h files.
72511         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
72512         required via m4/cycle-check.m4.
72513         * modules/same: Depend on new same-inode module, rather than
72514         including same-inode.h.
72515         * modules/chdir-safer: New file.
72516
72517         * modules/chown (Depends-on): Add stat-macros.
72518
72519 2006-08-10  Jim Meyering  <jim@meyering.net>
72520
72521         * m4/cycle-check.m4: New file.
72522         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
72523         * m4/dev-ino.m4, m4/same-inode.m4: New files.
72524
72525 2006-08-10  Eric Blake  <ebb9@byu.net>
72526
72527         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
72528         in from original proposal.
72529
72530 2006-08-10  Eric Blake  <ebb9@byu.net>
72531         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72532
72533         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
72534         namespace.
72535
72536 2006-08-10  Bruno Haible  <bruno@clisp.org>
72537
72538         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
72539         as well.
72540
72541 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72542
72543         Sync from coreutils.
72544
72545         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
72546
72547         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
72548         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
72549
72550 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72551
72552         * modules/restrict: Remove; no longer needed now that we assume
72553         Autoconf 2.59 or later.
72554         * MODULES.html.sh: Remove 'restrict'.
72555         * modules/argp (Depends-on): Remove 'restrict'.
72556         * modules/base64 (Depends-on): Likewise.
72557         * modules/gc (Depends-on): Likewise.
72558         * modules/getaddrinfo (Depends-on): Likewise.
72559         * modules/glob (Depends-on): Likewise.
72560         * modules/inet_ntop (Depends-on): Likewise.
72561         * modules/inet_pton (Depends-on): Likewise.
72562         * modules/memxor (Depends-on): Likewise.
72563         * modules/regex (Depends-on): Likewise.
72564         * modules/strtok_r (Depends-on): Likewise.
72565         * modules/time_r (Depends-on): Likewise.
72566
72567 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72568
72569         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
72570         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
72571         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72572         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
72573         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
72574         * m4/memxor.m4 (gl_MEMXOR): Likewise.
72575         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
72576         gl_C_RESTRICT replaced by AC_C_RESTRICT.
72577
72578         Merge from coreutils.
72579         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
72580         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
72581         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72582         * m4/time_r.m4 (gl_TIME_R): Likewise.
72583
72584 2006-08-09  Karl Berry  <karl@gnu.org>
72585
72586         * config/srclist.txt: no more gettext-tools, per Bruno.
72587
72588 2006-08-08  Eric Blake  <ebb9@byu.net>
72589
72590         * modules/verror: New module.
72591         * MODULES.html.sh: Document it.
72592
72593 2006-08-08  Eric Blake  <ebb9@byu.net>
72594
72595         * lib/verror.h, lib/verror.c: New files.
72596
72597 2006-08-08  Eric Blake  <ebb9@byu.net>
72598
72599         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
72600         verror_at_line output complies with GNU Coding Standards even when
72601         file is NULL.
72602
72603 2006-08-07  Bruno Haible  <bruno@clisp.org>
72604
72605         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
72606         versions of AIX.
72607         Reported by Ralf Wildenhues.
72608
72609 2006-08-07  Bruno Haible  <bruno@clisp.org>
72610
72611         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
72612         in an AC_DEFUN. Needed so that the autoconf snippets can use
72613         AC_REQUIRE.
72614
72615 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72616
72617         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72618         Initialize pkgdata_DATA.
72619         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
72620         overriding it.
72621
72622 2006-08-06  Eric Blake  <ebb9@byu.net>
72623
72624         * lib/error.h: Fold in some upstream changes from glibc.
72625         * lib/error.c: Likewise.
72626
72627 2006-08-04  Bruno Haible  <bruno@clisp.org>
72628
72629         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72630         Make the mostlyclean-local rule depend on mostlyclean-generic.
72631         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
72632
72633 2006-07-31  Bruno Haible  <bruno@clisp.org>
72634
72635         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
72636         <stdlib.h>, <string.h>.
72637
72638 2006-07-30  Bruno Haible  <bruno@clisp.org>
72639
72640         * modules/readlink (License): Change to LGPL.
72641
72642 2006-07-30  Bruno Haible  <bruno@clisp.org>
72643
72644         * modules/javaversion (Makefile.am): Distribute javaversion.java and
72645         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
72646         set PKGDATADIR to point to it.
72647
72648 2006-07-30  Bruno Haible  <bruno@clisp.org>
72649
72650         * modules/csharpexec (configure.ac): Comment out macro invocation.
72651         * modules/javaexec (configure.ac): Likewise.
72652         * modules/javacomp-script (configure.ac): Likewise.
72653
72654         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
72655
72656 2006-07-30  Bruno Haible  <bruno@clisp.org>
72657
72658         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
72659         linked-list.
72660
72661 2006-07-30  Bruno Haible  <bruno@clisp.org>
72662
72663         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
72664
72665 2006-07-30  Bruno Haible  <bruno@clisp.org>
72666
72667         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72668         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
72669         get removed.
72670
72671 2006-07-29  Bruno Haible  <bruno@clisp.org>
72672
72673         Make it possible for gnulib-tool to work with locally modified or
72674         augmented gnulib repositories.
72675         * gnulib-tool (func_usage): Document --local-dir option.
72676         (local_gnulib_dir): New variable.
72677         Handle --local-dir option.
72678         (func_lookup_file): New function.
72679         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
72680         (func_get_description, func_get_filelist, func_get_description,
72681         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
72682         func_get_automake_snippet, func_get_include_directive,
72683         func_get_license, func_get_maintainer): Use func_lookup_file.
72684         (func_import, func_create_testdir): Use func_lookup_file.
72685
72686 2006-07-29  Bruno Haible  <bruno@clisp.org>
72687
72688         * modules/setenv (Depends-on): Add unistd.
72689
72690 2006-07-29  Bruno Haible  <bruno@clisp.org>
72691
72692         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
72693
72694 2006-07-29  Bruno Haible  <bruno@clisp.org>
72695
72696         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
72697
72698 2006-07-29  Bruno Haible  <bruno@clisp.org>
72699
72700         * gnulib-tool (import, update): If there is no Makefile.am, look at
72701         aclocal.m4, instead of bailing out.
72702
72703 2006-07-29  Bruno Haible  <bruno@clisp.org>
72704
72705         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
72706         Categorize the options by when they are useful.
72707
72708 2006-07-29  Bruno Haible  <bruno@clisp.org>
72709
72710         * gnulib-tool (func_usage): Document option --no-libtool.
72711         Handle option --no-libtool.
72712         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
72713         for changed semantics of $libtool variable.
72714         (func_import): Likewise. If libtool is not used, show this through
72715         an option --no-libtool.
72716         (func_create_testdir): Update.
72717
72718 2006-07-29  Bruno Haible  <bruno@clisp.org>
72719
72720         * gnulib-tool (func_import): Extend error message about missing
72721         --doc-base.
72722
72723 2006-07-29  Bruno Haible  <bruno@clisp.org>
72724
72725         * gnulib-tool (func_import): Don't create the $docbase directory if
72726         there is no file to store there.
72727
72728 2006-07-29  Bruno Haible  <bruno@clisp.org>
72729
72730         * gnulib-tool (autoconf_minversion): If a --dir option is given and
72731         relevant, look for configure.ac there, not in the current directory.
72732         Also use a simple search for AC_PREREQ, not "autoconf --trace".
72733
72734 2006-07-29  Bruno Haible  <bruno@clisp.org>
72735
72736         * gnulib-tool (SORT): New variable.
72737         (func_usage): Undocument --assume-autoconf option.
72738         Remove --assume-autoconf option handling.
72739         (autoconf_minversion): Determine from the contents of configure.ac.
72740         (func_import): Remove autoconf_minversion handling.
72741         Suggested by Eric Blake.
72742
72743 2006-07-29  Bruno Haible  <bruno@clisp.org>
72744
72745         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
72746
72747 2006-07-29  Bruno Haible  <bruno@clisp.org>
72748
72749         * config/srclist.txt (*setenv.[ch]): Remove rules.
72750
72751 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72752
72753         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
72754
72755 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72756
72757         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
72758         arpa/inet.h.
72759
72760 2006-07-28  Simon Josefsson  <jas@extundo.com>
72761
72762         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
72763         * modules/inet_pton (Depends-on): Likewise.
72764
72765 2006-07-28  Simon Josefsson  <jas@extundo.com>
72766
72767         * m4/netinet_in_h.m4: New file.
72768
72769 2006-07-28  Simon Josefsson  <jas@extundo.com>
72770
72771         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
72772         #include's.
72773
72774 2006-07-28  Simon Josefsson  <jas@extundo.com>
72775
72776         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
72777         #include's.
72778
72779 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
72780
72781         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
72782         setgid on directories only if they set these bits.
72783         * lib/modechange.h: Remove obsolete comment about masks.
72784
72785 2006-07-28  Eric Blake  <ebb9@byu.net>
72786
72787         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
72788         macro expansion.
72789
72790 2006-07-28  Bruno Haible  <bruno@clisp.org>
72791
72792         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
72793
72794 2006-07-28  Bruno Haible  <bruno@clisp.org>
72795
72796         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
72797
72798 2006-07-28  Bruno Haible  <bruno@clisp.org>
72799
72800         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
72801         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
72802         Define fallbacks.
72803         Avoids link error on FreeBSD 4.x.
72804         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72805
72806         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
72807         encoding.
72808         * lib/mbswidth.c (iswcntrl): Likewise.
72809
72810 2006-07-27  Bruno Haible  <bruno@clisp.org>
72811
72812         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
72813         test.
72814
72815 2006-07-27  Bruno Haible  <bruno@clisp.org>
72816
72817         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
72818         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
72819         defined.
72820
72821 2006-07-26  Eric Blake  <ebb9@byu.net>
72822
72823         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
72824
72825 2006-07-26  Eric Blake  <ebb9@byu.net>
72826
72827         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
72828         like mingw that lack mkstemp.
72829         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
72830         avoid compilation warning on mingw.
72831
72832 2006-07-26  Bruno Haible  <bruno@clisp.org>
72833
72834         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
72835         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
72836         INT_FAST*_MIN, INTPTR_MIN.
72837
72838 2006-07-25  Bruno Haible  <bruno@clisp.org>
72839
72840         * modules/version-etc (Depends-on): Add stdarg.
72841
72842 2006-07-25  Bruno Haible  <bruno@clisp.org>
72843
72844         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
72845         complex commands.
72846
72847 2006-07-25  Bruno Haible  <bruno@clisp.org>
72848
72849         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
72850         defined in <stdarg.h> or config.h.
72851
72852 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72853
72854         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
72855         (gl_STDIO_SAFER): Remove.
72856
72857 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72858
72859         * MODULES.html.sh (File stream based Input/Output):
72860         Add fopen-safer, tmpfile-safer; remove stdio-safer.
72861         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
72862         * modules/fopen-safer, modules/tmpfile-safer: New files.
72863         * modules/stdio-safer: Remove.
72864
72865 2006-07-24  Bruno Haible  <bruno@clisp.org>
72866
72867         * modules/tmpdir: New file.
72868         * MODULES.html.sh (File system functions): Add it.
72869
72870 2006-07-24  Bruno Haible  <bruno@clisp.org>
72871
72872         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
72873         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
72874
72875 2006-07-24  Bruno Haible  <bruno@clisp.org>
72876
72877         * modules/clean-temp: New file.
72878
72879 2006-07-24  Bruno Haible  <bruno@clisp.org>
72880
72881         * m4/tmpdir.m4: New file, from GNU gettext.
72882
72883 2006-07-24  Bruno Haible  <bruno@clisp.org>
72884
72885         * lib/tmpdir.h: New file, from GNU gettext.
72886         * lib/tmpdir.c: New file, from GNU gettext.
72887
72888 2006-07-24  Bruno Haible  <bruno@clisp.org>
72889
72890         * lib/clean-temp.h: New file, from GNU gettext.
72891         * lib/clean-temp.c: New file, from GNU gettext.
72892
72893 2006-07-23  Eric Blake  <ebb9@byu.net>
72894
72895         * modules/stdio-safer (Files): Add tmpfile-safer.c.
72896         (Depends-on): Add binary-io.
72897
72898 2006-07-23  Eric Blake  <ebb9@byu.net>
72899
72900         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
72901
72902 2006-07-23  Eric Blake  <ebb9@byu.net>
72903
72904         * lib/tmpfile-safer.c: New file.
72905         * lib/stdio-safer.h (fopen_safer): Add prototype.
72906         * lib/stdio--.h (tmpfile): Make safer.
72907
72908 2006-07-23  Bruno Haible  <bruno@clisp.org>
72909
72910         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
72911         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
72912         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
72913         gl_linked_remove_at): Use it.
72914
72915 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72916         and Simon Josefsson <jas@extundo.com>
72917
72918         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
72919
72920         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
72921
72922 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72923
72924         * modules/close-stream: New file.
72925         * modules/closeout (Description): Make it clear that it exits
72926         with a diagnostic on error.
72927         (Depends-on): Add close-stream.  Remove fpending, stdbool.
72928         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
72929
72930 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72931
72932         * m4/close-stream.m4: New file.
72933
72934 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72935
72936         * lib/close-stream.c, lib/close-stream.h: New files.
72937
72938 2006-07-22  Bruno Haible  <bruno@clisp.org>
72939
72940         Merge from GNU gettext 0.15.
72941
72942         2006-05-01  Bruno Haible  <bruno@clisp.org>
72943
72944                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
72945
72946         2006-07-22  Bruno Haible  <bruno@clisp.org>
72947
72948                 * modules/javaversion: New file.
72949                 * MODULES.html.sh (Java): Add javaversion.
72950
72951         2006-03-12  Bruno Haible  <bruno@clisp.org>
72952
72953                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
72954
72955         2005-12-04  Bruno Haible  <bruno@clisp.org>
72956
72957                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
72958                 (untested).
72959
72960         2006-06-21  Bruno Haible  <bruno@clisp.org>
72961
72962                 Avoid warnings from recent versions of mcs.
72963                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
72964                 -o, -L, -r any more. Use options documented since mcs-1.0
72965                 instead. Similarly for -g.
72966
72967         2005-12-04  Bruno Haible  <bruno@clisp.org>
72968
72969                 * build-aux/csharpcomp.sh.in: Suffix for resources is
72970                 .resources, not .resource.
72971
72972         2005-07-09  Bruno Haible  <bruno@clisp.org>
72973
72974                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
72975                 add a .dll suffix.
72976                 Reported by Mark Junker <mjscod@gmx.de>.
72977
72978         2006-07-22  Bruno Haible  <bruno@clisp.org>
72979
72980                 * modules/gettext: Upgrade to gettext-0.15.
72981                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
72982                 m4/visibility.m4.
72983                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
72984
72985 2006-07-22  Bruno Haible  <bruno@clisp.org>
72986
72987         Merge from GNU gettext 0.15.
72988
72989         2006-03-25  Bruno Haible  <bruno@clisp.org>
72990
72991                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
72992
72993         2006-07-21  Bruno Haible  <bruno@clisp.org>
72994
72995                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
72996                 "1.1".
72997
72998         2006-05-09  Bruno Haible  <bruno@clisp.org>
72999
73000                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
73001                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
73002                 for the conftestver execution.
73003
73004         2006-05-01  Bruno Haible  <bruno@clisp.org>
73005
73006                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
73007                 optional target-version argument. Verify that the compiler
73008                 groks source of the specified source-version, or add -source
73009                 option as necessary. Verify that the compiler produces
73010                 bytecode in the specified target-version, or add -target and
73011                 -source options as necessary. Make the result of the test
73012                 available as variable CONF_JAVAC. Also log error output in
73013                 config.log.
73014
73015         2006-03-11  Bruno Haible  <bruno@clisp.org>
73016
73017                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
73018
73019         2006-05-09  Bruno Haible  <bruno@clisp.org>
73020
73021                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
73022                 CLASSPATH_SEPARATOR to a semicolon.
73023
73024         2006-03-12  Bruno Haible  <bruno@clisp.org>
73025
73026                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
73027                 available as variable CONF_JAVA, for subsequent autoconf
73028                 tests. Also log error output in config.log.
73029
73030         2006-07-19  Bruno Haible  <bruno@clisp.org>
73031
73032                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
73033                 that getline works on glibc2 systems. Needed to avoid trouble
73034                 in relocatable.c.
73035                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
73036
73037         2005-12-04  Bruno Haible  <bruno@clisp.org>
73038
73039                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
73040                 launcher (untested).
73041
73042         2005-12-04  Bruno Haible  <bruno@clisp.org>
73043
73044                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
73045
73046         2006-07-22  Bruno Haible  <bruno@clisp.org>
73047
73048                 * gettext.m4: Update from GNU gettext-0.15.
73049                 * nls.m4: Likewise.
73050                 * po.m4: Likewise.
73051                 * inttypes-pri.m4: Likewise.
73052                 * inttypes-h.m4: Renamed from inttypes.m4.
73053                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
73054
73055 2006-07-22  Bruno Haible  <bruno@clisp.org>
73056
73057         Merge from GNU gettext 0.15.
73058
73059         2005-07-05  Bruno Haible  <bruno@clisp.org>
73060
73061                 * printf-args.c (printf_fetchargs): Work around broken
73062                 definition of wint_t on mingw.
73063
73064         2005-02-12  Bruno Haible  <bruno@clisp.org>
73065
73066                 * xallocsa.h: Add extern "C" for C++.
73067
73068         2006-05-17  Bruno Haible  <bruno@clisp.org>
73069
73070                 Cygwin portability.
73071                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
73072
73073         2006-04-30  Bruno Haible  <bruno@clisp.org>
73074
73075                 * progreloc.c: Include <mach-o/dyld.h> if available.
73076                 (find_executable): Use _NSGetExecutablePath when possible.
73077
73078         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73079
73080                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
73081                 function.
73082
73083         2005-12-29  Bruno Haible  <bruno@clisp.org>
73084
73085                 * progreloc.c (set_program_name_and_installdir): Fix
73086                 compilation error.
73087
73088         2005-12-04  Bruno Haible  <bruno@clisp.org>
73089
73090                 Cygwin portability.
73091                 * progreloc.c: Include <windows.h> also on Cygwin.
73092                 (find_executable): Add support for Cygwin.
73093                 (set_program_name_and_installdir): Handle also platforms with
73094                 nonempty EXEEXT.
73095
73096         2006-07-11  Bruno Haible  <bruno@clisp.org>
73097
73098                 * javacomp.c: Fix a comment.
73099                 Reported by Jim Meyering.
73100
73101         2006-04-30  Bruno Haible  <bruno@clisp.org>
73102
73103                 * javacomp.h (compile_java_class): Add source_version,
73104                 target_version arguments.
73105                 * javacomp.c: Rewritten to choose only a compiler that
73106                 respects the specified source_version and target_version.
73107
73108         2006-06-27  Bruno Haible  <bruno@clisp.org>
73109
73110                 Assume correct S_ISDIR macro.
73111                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
73112
73113         2006-07-22  Bruno Haible  <bruno@clisp.org>
73114
73115                 * javaversion.h: New file, from GNU gettext.
73116                 * javaversion.c: New file, from GNU gettext.
73117                 * javaversion.java: New file, from GNU gettext.
73118                 * javaversion.class: New file, from GNU gettext.
73119
73120         2006-05-17  Bruno Haible  <bruno@clisp.org>
73121
73122                 Cygwin portability.
73123                 * javaexec.c (execute_java_class): Test for jview program
73124                 also on Cygwin.
73125
73126         2006-04-09  Bruno Haible  <bruno@clisp.org>
73127
73128                 * fatal-signal.c: Don't include string.h.
73129                 (at_fatal_signal): Use a copying loop instead of memcpy.
73130
73131         2005-12-04  Bruno Haible  <bruno@clisp.org>
73132
73133                 * csharpexec.c: Add support for 'clix' launcher (untested).
73134                 (execute_csharp_using_sscli): New function.
73135                 (execute_csharp_program): Call it.
73136
73137         2006-06-21  Bruno Haible  <bruno@clisp.org>
73138
73139                 Avoid warnings from recent versions of mcs.
73140                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
73141                 -o, -L, -r any more. Use options documented since mcs-1.0
73142                 instead. Similarly for -g.
73143
73144         2005-07-09  Bruno Haible  <bruno@clisp.org>
73145
73146                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
73147                 add a .dll suffix.
73148                 Reported by Mark Junker <mjscod@gmx.de>.
73149
73150         2006-06-17  Bruno Haible  <bruno@clisp.org>
73151
73152                 * config.charset: Update for NetBSD 3.0.
73153
73154         2006-05-17  Bruno Haible  <bruno@clisp.org>
73155
73156                 Cygwin portability.
73157                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
73158
73159         2006-05-16  Bruno Haible  <bruno@clisp.org>
73160
73161                 * localcharset.c [CYGWIN]: Include <windows.h>.
73162                 (get_charset_aliases): For Cygwin, return the same CPxxx
73163                 aliases list as under WIN32.
73164                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
73165                 the environment variables. Fall back to GetACP().
73166
73167         2006-04-05  Bruno Haible  <bruno@clisp.org>
73168
73169                 * config.charset: Update Juan Manuel Guerrero's address.
73170
73171         2005-02-12  Bruno Haible  <bruno@clisp.org>
73172
73173                 * allocsa.h: Add extern "C" for C++.
73174
73175         2005-02-10  Bruno Haible  <bruno@clisp.org>
73176
73177                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
73178                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
73179
73180         2006-07-22  Bruno Haible  <bruno@clisp.org>
73181
73182                 * gettext.h: Update to GNU gettext-0.15.
73183
73184 2006-07-22  Bruno Haible  <bruno@clisp.org>
73185
73186         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
73187         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
73188         lib-prefix.m4, longdouble.m4, ssize_t.m4.
73189
73190 2006-07-21  Eric Blake  <ebb9@byu.net>
73191
73192         * modules/stdlib-safer: New file.
73193         * MODULES.html.sh (File stream based Input/Output): Add
73194         stdlib-safer.
73195
73196 2006-07-21  Eric Blake  <ebb9@byu.net>
73197
73198         * lib/stdlib-safer.h: New file from coreutils, required by
73199         stdlib--.h.
73200
73201 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
73202
73203         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
73204
73205 2006-07-20  Bruno Haible  <bruno@clisp.org>
73206
73207         * gnulib-tool: Recognize new option --assume-autoconf.
73208         (autoconf_minversion): New variable.
73209         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
73210
73211 2006-07-20  Bruno Haible  <bruno@clisp.org>
73212
73213         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
73214
73215 2006-07-19  Derek R. Price  <derek@ximbiot.com>
73216
73217         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
73218         Reindent and repaginate.
73219
73220 2006-07-19  Derek Price  <derek@ximbiot.com>
73221
73222         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
73223         Correct grammar.
73224
73225 2006-07-17  Bruno Haible  <bruno@clisp.org>
73226
73227         * modules/list: New file.
73228         * modules/array-list: New file.
73229         * modules/carray-list, modules/carray-list-tests: New files.
73230         * modules/linked-list, modules/linked-list-tests: New files.
73231         * modules/avltree-list, modules/avltree-list-tests: New files.
73232         * modules/rbtree-list, modules/rbtree-list-tests: New files.
73233         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
73234         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
73235         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
73236         * modules/oset: New file.
73237         * modules/array-oset: New file.
73238         * modules/avltree-oset, modules/avltree-oset-tests: New files.
73239         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
73240         * tests/test-carray_list.c: New file.
73241         * tests/test-linked_list.c: New file.
73242         * tests/test-avltree_list.c: New file.
73243         * tests/test-rbtree_list.c: New file.
73244         * tests/test-linkedhash_list.c: New file.
73245         * tests/test-avltreehash_list.c: New file.
73246         * tests/test-rbtreehash_list.c: New file.
73247         * tests/test-avltree_oset.c: New file.
73248         * tests/test-rbtree_oset.c: New file.
73249         * MODULES.html.sh (Container data structures): New section.
73250
73251 2006-07-17  Bruno Haible  <bruno@clisp.org>
73252
73253         * m4/gl_list.m4: New file.
73254
73255 2006-07-17  Bruno Haible  <bruno@clisp.org>
73256
73257         * lib/gl_list.h: New file.
73258         * lib/gl_list.c: New file.
73259         * lib/gl_array_list.h: New file.
73260         * lib/gl_array_list.c: New file.
73261         * lib/gl_carray_list.h: New file.
73262         * lib/gl_carray_list.c: New file.
73263         * lib/gl_linked_list.h: New file.
73264         * lib/gl_linked_list.c: New file.
73265         * lib/gl_anylinked_list1.h: New file.
73266         * lib/gl_anylinked_list2.h: New file.
73267         * lib/gl_avltree_list.h: New file.
73268         * lib/gl_avltree_list.c: New file.
73269         * lib/gl_anyavltree_list1.h: New file.
73270         * lib/gl_anyavltree_list2.h: New file.
73271         * lib/gl_rbtree_list.h: New file.
73272         * lib/gl_rbtree_list.c: New file.
73273         * lib/gl_anyrbtree_list1.h: New file.
73274         * lib/gl_anyrbtree_list2.h: New file.
73275         * lib/gl_anytree_list1.h: New file.
73276         * lib/gl_anytree_list2.h: New file.
73277         * lib/gl_linkedhash_list.h: New file.
73278         * lib/gl_linkedhash_list.c: New file.
73279         * lib/gl_anyhash_list1.h: New file.
73280         * lib/gl_anyhash_list2.h: New file.
73281         * lib/gl_avltreehash_list.h: New file.
73282         * lib/gl_avltreehash_list.c: New file.
73283         * lib/gl_rbtreehash_list.h: New file.
73284         * lib/gl_rbtreehash_list.c: New file.
73285         * lib/gl_anytreehash_list1.h: New file.
73286         * lib/gl_anytreehash_list2.h: New file.
73287
73288         * lib/gl_oset.h: New file.
73289         * lib/gl_oset.c: New file.
73290         * lib/gl_array_oset.h: New file.
73291         * lib/gl_array_oset.c: New file.
73292         * lib/gl_avltree_oset.h: New file.
73293         * lib/gl_avltree_oset.c: New file.
73294         * lib/gl_rbtree_oset.h: New file.
73295         * lib/gl_rbtree_oset.c: New file.
73296         * lib/gl_anytree_oset.h: New file.
73297
73298 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73299
73300         * m4/mkancesdirs.m4: New file.
73301         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
73302         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
73303         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
73304         it.
73305
73306 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73307
73308         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
73309         * lib/mkancesdirs.h: New files.
73310         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
73311         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
73312         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
73313         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
73314         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
73315         callers changed.  Revamp internals significantly, by not
73316         attempting to create directories that are temporarily more
73317         permissive than the final results.  Do not attempt to use
73318         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
73319         This removes some race conditions, fixes some bugs, and simplifies
73320         things.  Use new dirchownmod function to do owner and mode changes.
73321         * lib/mkdir-p.h: Likewise.
73322         * lib/modechange.c (octal_to_mode): New function.
73323         (struct mode_change): New member mentioned.
73324         (make_node_op_equals): New arg mentioned.  All callers changed.
73325         (mode_compile): Keep track of which mode bits the user has explicitly
73326         mentioned.
73327         (mode_adjust): New arg DIR, so that we implement the X op correctly.
73328         New arg PMODE_BITS, to keep track of which mode bits the user
73329         mentioned; it treats S_ISUID and S_ISGID speciall.
73330         All callers changed.
73331         * lib/modechange.h: Likewise.
73332
73333 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73334
73335         * MODULES.html.sh: Add mkancestors.
73336         * modules/mkancesdirs: New module.
73337         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
73338         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
73339         The chdir-safer and afs files are now orphans; I'll remove them
73340         unless someone speaks up.
73341         Add lib/dirchownmod.c, lib/dirchownmod.h.
73342         (Depends-on): Remove alloca, chown, save-cwd, dirname.
73343         Add lchown, mkancesdirs.
73344         (Maintainer): Add self.
73345
73346 2006-07-15  Karl Berry  <karl@gnu.org>
73347
73348         * gnulib-tool: help message wording/arrangement.
73349
73350 2006-07-14  Simon Josefsson  <jas@extundo.com>
73351
73352         * doc/gnulib.texi (Libtool and Windows): New section.
73353
73354 2006-07-12  Simon Josefsson  <jas@extundo.com>
73355
73356         * modules/gendocs (License): Fix license, approved by Karl.
73357
73358 2006-07-12  Eric Blake  <ebb9@byu.net>
73359
73360         * MODULES.html.sh: Add gendocs.
73361
73362 2006-07-11  Eric Blake  <ebb9@byu.net>
73363
73364         * modules/fdl: New module, to install doc/fdl.texi.
73365         * MODULES.html.sh: Add new section for documentation modules.
73366         * gnulib-tool: Avoid space-tab.
73367         (--doc-base): New option, to manage files from doc.
73368
73369 2006-07-11  Eric Blake  <ebb9@byu.net>
73370
73371         * m4/absolute-header.m4: Fix comments to match recent change.
73372
73373 2006-07-11  Eric Blake  <ebb9@byu.net>
73374
73375         * gnulib-tool: List --doc-base before --tests-base.
73376
73377 2006-07-11  Derek R. Price  <derek@ximbiot.com>
73378
73379         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
73380
73381 2006-07-11  Bruno Haible  <bruno@clisp.org>
73382
73383         * README: Mention where to put documentation.
73384
73385 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73386
73387         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
73388
73389 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73390
73391         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
73392         to stdint.m4.
73393
73394 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73395
73396         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
73397         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
73398         "no/such/file/stdint.h" when there is no such file, so that
73399         the resulting C code can be parsed by dodgy compilers.
73400         Problems reported by Bob Proulx.
73401
73402 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73403
73404         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
73405         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73406         macros into the GNU _D_EXACT_NAMLEN.
73407         * lib/savedir.c:  Likewise.
73408         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
73409
73410 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73411         and Paul Eggert  <eggert@cs.ucla.edu>
73412
73413         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
73414         * m4/savedir.m4:
73415         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73416         macros into the GNU _D_EXACT_NAMLEN.
73417
73418 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73419
73420         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
73421         around the absolute name, to work around a problem with the HP-UX
73422         11.23 native C compiler, reported by Bob Proulx.
73423
73424 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73425
73426         * doc/maintain.texi, make-stds.texi: Sync from
73427         <http://savannah.gnu.org/projects/gnustandards>.
73428
73429 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73430
73431         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
73432
73433 2006-07-09  Jim Meyering  <jim@meyering.net>
73434
73435         * m4/glob.m4: Remove a doubled word in a comment.
73436
73437 2006-07-09  Jim Meyering  <jim@meyering.net>
73438
73439         * lib/argp-pv.c: Remove a doubled word in a comment.
73440         * lib/check-version.c (check_version): Likewise.
73441         * lib/javacomp.c (compile_java_class): Likewise.
73442
73443 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
73444
73445         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
73446         for the benefit of people using Autoconf 2.60.  If you want to
73447         support older Autoconf versions you can copy m4/onceonly_2_57.m4
73448         (or m4/onceonly.m4, if pre-2.57) manually.
73449
73450 2006-07-08  Jim Meyering  <jim@meyering.net>
73451
73452         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
73453         comment.
73454         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
73455         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
73456         comment.
73457
73458 2006-07-08  Jim Meyering  <jim@meyering.net>
73459
73460         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
73461
73462 2006-07-07  Simon Josefsson  <jas@extundo.com>
73463
73464         * tests/test-crc.c: Change expected crc value, the test vector
73465         were probably computed using the old broken crc.c?
73466
73467 2006-07-06  Simon Josefsson  <jas@extundo.com>
73468
73469         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
73470         now the canonical place for the M4 file).
73471
73472         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
73473         from the sys_socket dependency now.
73474
73475         * modules/inet_pton (Files): Ditto.
73476
73477         * modules/inet_ntop (Files): Ditto.
73478
73479 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73480
73481         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
73482         not gl_PREREQ_GETUSERSHELL.
73483
73484 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73485
73486         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
73487         with only one argument, for Autoconf 2.60.
73488         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
73489         expand to nothing, so add a shell command to avoid syntax error.
73490         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73491
73492 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73493
73494         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
73495
73496 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73497
73498         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
73499         no longer needed.  Check for isblank decl.
73500         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
73501         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
73502         of existence.
73503
73504 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73505
73506         * lib/getloadavg.c: Use __VMS, not VMS.
73507         * lib/getopt.c: Likewise.
73508         * lib/getpagesize.h: Likewise.
73509         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
73510         and probably does not work.
73511
73512 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73513
73514         * lib/.cppi-disable: Add wcwidth.
73515         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
73516         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
73517         (ISGRAPH): Remove.  All uses changed to isgraph.
73518         (FOLD) [!defined _LIBC]: Remove special case.
73519         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
73520         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
73521         HAVE_ISBLANK.
73522         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
73523         case.
73524
73525 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73526
73527         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
73528         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
73529         brackets.  Other minor changes to suppress some compiler
73530         warnings.
73531
73532 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73533         and Paul Eggert  <eggert@cs.ucla.edu>
73534
73535         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
73536         of invoking obsolescent AC_HEADER_DIRENT macro.
73537         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
73538         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
73539         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
73540         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73541         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
73542         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73543         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
73544         * m4/readdir.m4: Remove; no longer needed.
73545
73546 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73547         and Paul Eggert  <eggert@cs.ucla.edu>
73548
73549         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
73550         Don't worry about this obsolete case any more.
73551         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
73552         directories.
73553         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
73554         worry about this obsolete case any more.
73555         * lib/fts.c: Likewise.
73556         * lib/getcwd.c: Likewise.
73557         * lib/glob.h: Likewise.
73558         * lib/savedir.c: Likewise.
73559
73560 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73561
73562         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
73563         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
73564         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
73565         needed.
73566         All uses removed.
73567         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73568         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73569         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
73570         needed.
73571         * m4/getdate.m4 (gl_GETDATE): Likewise.
73572         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73573         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73574         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73575         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73576         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73577         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73578         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
73579         needed.
73580
73581 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73582
73583         * lib/memcasecmp.c: Include <limits.h>.
73584         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
73585         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
73586         Don't assume isdigit succeeds only on '0' through '9'.
73587
73588 2006-07-05  Eric Blake  <ebb9@byu.net>
73589
73590         * modules/getaddrinfo (Depends-on): Add snprintf.
73591
73592 2006-07-05  Eric Blake  <ebb9@byu.net>
73593
73594         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
73595         to avoid 'header present but could not be compiled' on cygwin.
73596
73597 2006-07-05  Eric Blake  <ebb9@byu.net>
73598
73599         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
73600         missing from netdb.h.
73601         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
73602
73603 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73604
73605         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
73606         no longer needed.
73607         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
73608         * m4/getdate.m4 (gl_GETDATE): Likewise.
73609         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73610         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73611         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73612         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73613         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73614
73615 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73616
73617         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
73618         All uses of is_space replaced by isspace.
73619         * lib/exit.h: Don't talk about STDC_HEADERS.
73620         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
73621         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
73622         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
73623         replaced by isprint etc.
73624         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
73625         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73626         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
73627         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
73628         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
73629         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73630
73631 2006-07-05  Bruno Haible  <bruno@clisp.org>
73632
73633         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
73634         the function exists, before testing against AIX.
73635         Reported by Martin Lambers <marlam@marlam.de>.
73636
73637 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73638
73639         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
73640         From Mark D. Baushke.
73641
73642 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73643
73644         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
73645         to the absolute name, not just one, to bypass Sun C 5.8's
73646         "warning: #include of /usr/include/... may be non-portable".
73647
73648 2006-07-04  Eric Blake  <ebb9@byu.net>
73649
73650         * modules/dirname-tests: New test module.
73651         * tests/test-dirname.c: New file, replacing dirname.c
73652         TEST_DIRNAME section that was recently deleted.
73653
73654 2006-07-04  Bruno Haible  <bruno@clisp.org>
73655
73656         Assume ANSI C header files and <ctype.h> functions.
73657         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
73658         (mbsnwidth): Use isprint, iscntrl instead.
73659
73660 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73661
73662         Merge from coreutils.
73663         * MODULES.html.sh: Add xstrtold.
73664         * modules/xstrtold: New file.
73665         * modules/cycle-check (Files): Add lib/same-inode.h.
73666         * modules/dirname (Files): Add m4/double-slash-root.m4.
73667         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
73668         * modules/mkdir-p (Files): Add lib/same-inode.h.
73669         * modules/same (Files): Add lib/same-inode.h.
73670
73671 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73672
73673         * m4/absolute-header.m4: Renamed from full-header-path.m4.
73674         This is to keep the terminology clean; POSIX talks about
73675         "absolute pathnames", not "full pathnames", but the GNU
73676         Coding Standards say to use "path" for something else;
73677         so use "absolute" to keep both sides happy.
73678         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
73679         Set gl_absolute_header, not gl_full_header_path.
73680         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
73681         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
73682         All uses changed.
73683
73684         Merge from coreutils.
73685
73686         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73687
73688         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
73689         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
73690         want to require the building of c-strtod.o.
73691         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
73692         needs -lm directly.
73693         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
73694
73695         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73696
73697         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
73698         --as-needed option if available.  Problem reported by Albert Chin in
73699         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
73700         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
73701         cc merely issues a bunch of annoying warnings for --as-needed
73702         (this problem was reported by Bob Proulx).  Also, try linking with
73703         -lm to detect a bug in binutils 2.16 (this problem was reported
73704         by Ralf Wildenhues).
73705
73706         2006-06-18  Jim Meyering  <jim@meyering.net>
73707
73708         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
73709         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
73710         macro.
73711         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
73712         also check for glibc-2.4's abort-inducing bug.
73713
73714         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
73715         Low-probability clean-up should be to use rmdir to get rid of
73716         the just-created directory, not unlink.
73717
73718         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
73719         configure fail, and request a bug report to inform us about it.
73720         Add a comment that, barring reports to the contrary, in 2007 we'll
73721         assume ftruncate is universally available.
73722
73723         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73724
73725         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
73726
73727         2006-03-12  Jim Meyering  <jim@meyering.net>
73728
73729         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
73730         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
73731         * m4/same.m4 (gl_SAME): Likewise.
73732         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
73733
73734         2006-03-11  Eric Blake  <ebb9@byu.net>
73735
73736         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
73737         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
73738         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
73739         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
73740
73741 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73742
73743         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
73744         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
73745         reported by Mark D. Baushke, one in
73746         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
73747
73748         Merge from coreutils.
73749
73750         * lib/.cppi-disable: Add stdint_.h.
73751         * lib/.cvsignore: Add stdint.h.
73752
73753         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73754
73755         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
73756         both double and long double versions.
73757         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
73758         * lib/xstrtold.c: New file.
73759         * lib/xstrtod.h (xstrtold): New decl.
73760
73761         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73762
73763         * lib/filemode.c (setst): Remove.
73764         (strmode): Rewrite to avoid setst.  This makes the code shorter,
73765         (arguably) clearer, and the generated code is a bit smaller on my
73766         Debian GNU/Linux stable x86 host.
73767
73768         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73769
73770         * lib/filemode.c: Include "filemode.h" first, to test the interface.
73771         Assume that filemode.h includes sys/types.h and sys/stat.h.
73772         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
73773         (ftypelet): Reorder to put common cases first, for efficiency.
73774         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
73775         to do 'M'.
73776         (strmode): Renamed from mode_string, and now stores 12 bytes instead
73777         of 10, for compatibility with FreeBSD.  All callers changed.
73778         (filemodestring): Now stores 12 bytes instead of 10, and sets file
73779         types that can't be deduced solely from st_mode.  First arg is now a
73780         const pointer.
73781         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
73782         (strmode): Renamed from mode_string.
73783         (filemodestring): New decl.
73784         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
73785         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
73786         needed.
73787         (S_ISPORT, S_ISWHT): New macros, if not already defined.
73788
73789         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73790
73791         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
73792         fsusage.h now does that.  Include fsusage.h first, to test interface.
73793         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
73794         at most one method (the old code could have generated decls that
73795         didn't conform to C89, not that this was ever exercised).
73796         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
73797
73798         2006-03-19  Jim Meyering  <jim@meyering.net>
73799
73800         Work even in a chroot where d_ino values for entries in "/"
73801         don't match the stat.st_ino values for the same names.
73802         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
73803         number, iterate through all entries again, using lstat instead.
73804         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
73805         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
73806
73807         * lib/getcwd.c (__getcwd): Clarify a comment.
73808         Use memcpy in place of a call to strcpy.
73809
73810         2006-03-12  Jim Meyering  <jim@meyering.net>
73811
73812         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
73813         matches that of the current directory (which we're about to chdir ".."
73814         out of), then save the dev-ino of the parent, instead.
73815
73816         * lib/same-inode.h (SAME_INODE): New file/macro.
73817         * lib/chdir-safer.c (SAME_INODE): Remove definition.
73818         Include "same-inode.h", instead.
73819         * lib/same.c: Likewise.
73820         * lib/cycle-check.h: Include "same-inode.h".
73821         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
73822         * lib/cycle-check.c (SAME_INODE): Remove definition.
73823         * lib/root-dev-ino.h: Include "same-inode.h".
73824
73825         2006-03-11  Eric Blake  <ebb9@byu.net>
73826
73827         * lib/same.c (same_name): s/base_name/last_component/
73828         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
73829         * lib/filenamecat.c (file_name_concat): Likewise.
73830
73831         2006-03-11  Eric Blake  <ebb9@byu.net>,
73832                     Paul Eggert  <eggert@cs.ucla.edu>
73833
73834         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
73835         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
73836         drive prefix.
73837         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
73838         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
73839         (last_component): New method.
73840         * lib/dirname.c (dir_len): Determine when drive letters need a
73841         subsequent slash.  Preserve // when it is special.
73842         (dir_name): Don't append dot when drive letter is absolute.
73843         [TEST_DIRNAME]: Move into a full-blown gnulib test.
73844         * lib/basename.c (base_name): New semantics - malloc the result.
73845         Preserve // when it is special.  Preserve relative files that look
73846         like drive letters.
73847         (base_len): Preserve // when it is special.
73848         (last_component): New method, similar to old base_name semantics.
73849         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
73850         base_name.  Strip redundant slashes from ///.
73851
73852 2006-07-03  Jim Meyering  <jim@meyering.net>
73853
73854         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
73855         macro is used before the first cycle_check call.
73856
73857 2006-07-03  Eric Blake  <ebb9@byu.net>
73858
73859         * modules/dirname (Depends-on): Add xstrndup.
73860
73861 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73862
73863         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
73864         test cases, so that config.log is a bit easier to follow.
73865
73866 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73867
73868         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
73869         both are 64 bits, since this seems to be the tradition, and this
73870         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
73871         we ever run into a host that prefers long long to long in this
73872         case, we'll need another configure-time test.  Problem reported by
73873         Jim Meyering.
73874
73875 2006-07-02  Eric Blake  <ebb9@byu.net>
73876
73877         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
73878
73879 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73880
73881         * modules/inttypes (Depends-on): No longer depends on stdint.
73882         * modules/stdint (Description): Say more about assumptions.
73883         Say that the fast types might differ.  Say macros are used.
73884         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
73885         (Makefile.am): Revise list of substituted symbols to match
73886         new stdint.m4.
73887         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
73888         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
73889         * tests/test-stdint.c (verify_same_types)
73890         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
73891         the code conforms to C99/C89.
73892         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
73893         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
73894
73895 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73896
73897         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
73898         but fix a bug, by requiring at least 64 bits.
73899         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
73900         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
73901         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
73902         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
73903
73904         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
73905         changes.  Make 2.59 a prerequisite.  Check and substitute for
73906         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
73907         inttypes.h.  Do not use special include files; just use the
73908         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
73909         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
73910         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
73911         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
73912         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
73913         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
73914         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
73915         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
73916         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
73917         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
73918         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
73919         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
73920         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
73921         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
73922         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
73923         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
73924         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
73925         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
73926         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
73927         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
73928         WINT_MAX.  Check for C99 conformance more strictly, by detecting
73929         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
73930         not check for things that C99 does not require, e.g., int8_t.  If
73931         a test isn't needed unless <stdint.h> isn't working, and is
73932         unlikely to be needed for any other reason, then don't do it
73933         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
73934         size_t, since we assume C89 freestanding at least.  Do not check
73935         for sig_atomic_t, wchar_t, or wint_t, since the code now does
73936         the right thing even if the types are not defined.  Instead use:
73937         (gl_STDINT_TYPE_PROPERTIES): New macro.
73938         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
73939         testing whether <sys/types.h> clashes, as Autoconf does this for
73940         us now.  All uses removed.
73941         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
73942         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
73943         (gl_CHECK_TYPE_SAME):
73944         Remove; no longer needed.
73945         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
73946         exists, since we'll return 0 anyway in that case.
73947         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
73948
73949 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73950
73951         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
73952         possible collision with system files.
73953         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
73954         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
73955         WCHAR_MIN and WCHAR_MAX in this case.
73956         (<stddef.h>): Do not include; no longer needed.
73957         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
73958         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
73959         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
73960         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
73961         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
73962         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
73963         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
73964         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
73965         !defined(__c99))]: Include in this case too, since it's harmless
73966         now.
73967         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
73968         dangerous to do so.
73969         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
73970         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
73971         (_STDINT_MIN, _STDINT_MAX): New macros.
73972         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
73973         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
73974         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
73975         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
73976         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
73977         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
73978         macros, not typedefs; this simplifies things quite a bit.
73979         Use long int for all types narrower than int64_t.
73980         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
73981         Define in terms of long long int or int64_t or long int,
73982         not int64_t or int32_t.  This saves some compile-time testing.
73983         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
73984         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
73985         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
73986         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
73987         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
73988         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
73989         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
73990         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
73991         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
73992         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
73993         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73994         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73995         undef any previous version and define our own version, for
73996         simplicity and consistency with the new macros for types.
73997         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73998         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73999         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
74000         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
74001         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
74002         @WINT_T_SUFFIX@ to keep things simple here.
74003         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
74004         Simplify by assuming typical 8/16/32/64 host, since we're
74005         already doing that elsewhere anyway.
74006         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
74007         and assume long long int is 64 bits if available.  This
74008         speeds up 'configure'.
74009
74010 2006-07-01  Eric Blake  <ebb9@byu.net>
74011
74012         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
74013         Reported by Andreas Buening.
74014
74015 2006-07-01  Eric Blake  <ebb9@byu.net>
74016
74017         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
74018
74019 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74020
74021         * lib/getaddrinfo.c: fixed typo
74022
74023 2006-06-29  Jim Meyering  <jim@meyering.net>
74024
74025         * modules/strftime (Maintainer): Add my name, since with the
74026         FPRINTFTIME changes strftime.c has forked from glibc.
74027
74028 2006-06-29  Eric Blake  <ebb9@byu.net>
74029
74030         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
74031
74032 2006-06-29  Eric Blake  <ebb9@byu.net>
74033
74034         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
74035
74036 2006-06-29  Eric Blake  <ebb9@byu.net>
74037
74038         * lib/stat_.h: New file.
74039
74040 2006-06-29  Eric Blake  <ebb9@byu.net>
74041
74042         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
74043         unused static function.
74044
74045 2006-06-29  Eric Blake  <ebb9@byu.net>
74046
74047         * doc/functions.texi (Function Portability): Document missing lstat
74048         on mingw.
74049
74050 2006-06-29  Eric Blake  <ebb9@byu.net>
74051
74052         * MODULES.html.sh: Add sys_stat.
74053         * modules/sys_stat: New module.
74054         * modules/mkstemp (Depends-on): Add sys_stat.
74055
74056 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74057
74058         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
74059
74060 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74061
74062         * m4/c-bs-a.m4: Removed.
74063
74064 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74065
74066         * lib/strftime.c: Assume strftime() exists.
74067
74068 2006-06-29  Derek Price  <derek@ximbiot.com>
74069
74070         * modules/c-bs-a: Removed - \a is C89.
74071         * MODULES.html.sh: Remove c-bs-a.
74072
74073 2006-06-29  Bruno Haible  <bruno@clisp.org>
74074
74075         * modules/wcwidth (License): Change to LGPL.
74076
74077 2006-06-28  Simon Josefsson  <jas@extundo.com>
74078
74079         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
74080         on _WIN32.
74081
74082         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
74083         getnameinfo.
74084
74085 2006-06-28  Simon Josefsson  <jas@extundo.com>
74086
74087         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
74088
74089 2006-06-28  Simon Josefsson  <jas@extundo.com>
74090
74091         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
74092         functions there.  It will succeed on Windows XP, but on Windows
74093         2000 and (presumably) earlier, it will fail, and use the internal
74094         re-implementation.
74095         (use_win32_p): New function.
74096         (getaddrinfo): Use strtoul on servname, to support numeric ports.
74097         Support AI_NUMERICSERV to disable getservbyname.
74098         (getnameinfo): New function, only supports
74099         NI_NUMERICHOST|NI_NUMERICSERV for now.
74100
74101         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
74102         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
74103         getnameinfo.
74104
74105 2006-06-28  Eric Blake  <ebb9@byu.net>
74106
74107         * modules/wcwidth: New file.
74108         * modules/mbchar (Depends-on): Add wcwidth.
74109         * modules/mbswidth (Depends-on): Add wcwidth.
74110         * MODULES.html.sh: Add wcwidth.
74111
74112 2006-06-28  Eric Blake  <ebb9@byu.net>
74113
74114         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
74115         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
74116
74117 2006-06-28  Eric Blake  <ebb9@byu.net>
74118
74119         * lib/xvasprintf.h: Fix comments.
74120
74121 2006-06-28  Eric Blake  <ebb9@byu.net>
74122
74123         * lib/mbchar.h (wcwidth): Include wcwidth.h.
74124         * lib/mbswidth.c (wcwidth): Move from here...
74125         * lib/wcwidth.h: ...to this new file.
74126
74127 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74128
74129         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
74130
74131         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
74132         it's obsolete.
74133         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
74134
74135 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74136
74137         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
74138         Autoconf 2.60 says this stuff was obsolete.
74139
74140 2006-06-28  Bruno Haible  <bruno@clisp.org>
74141
74142         * modules/wcwidth (Files): Add m4/wchar_t.m4.
74143
74144 2006-06-28  Bruno Haible  <bruno@clisp.org>
74145
74146         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
74147         gt_TYPE_WCHAR_T.
74148
74149 2006-06-28  Bruno Haible  <bruno@clisp.org>
74150
74151         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
74152         declaration for wcwidth.
74153         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
74154
74155 2006-06-28  Bruno Haible  <bruno@clisp.org>
74156
74157         * lib/mkdtemp.c [MINGW]: Include <io.h>.
74158         (mkdir): Define using _mkdir.
74159
74160 2006-06-28  Bruno Haible  <bruno@clisp.org>
74161
74162         * lib/getaddrinfo.h: Fix POSIX URL.
74163         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
74164         _WIN32.
74165         (use_win32_p): Make static.
74166         (getaddrinfo): Reject service name if it is empty or does not consist
74167         solely of decimal digits, or if its value is > 65535.
74168         (getnameinfo): Remove useless casts.
74169
74170 2006-06-27  Simon Josefsson  <jas@extundo.com>
74171
74172         * modules/sys_select: New file, suggested by Bruno Haible, Paul
74173         Eggert and Martin Lambers.
74174
74175 2006-06-27  Simon Josefsson  <jas@extundo.com>
74176
74177         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
74178         Eggert and Martin Lambers.
74179
74180 2006-06-27  Bruno Haible  <bruno@clisp.org>
74181
74182         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
74183         result to 0, not to empty.
74184         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
74185
74186 2006-06-27  Bruno Haible  <bruno@clisp.org>
74187
74188         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
74189
74190 2006-06-26  Simon Josefsson  <jas@extundo.com>
74191
74192         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
74193         present.
74194
74195 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
74196
74197         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
74198         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
74199         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
74200
74201 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
74202
74203         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
74204
74205 2006-06-26  Bruno Haible  <bruno@clisp.org>
74206
74207         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
74208
74209 2006-06-26  Bruno Haible  <bruno@clisp.org>
74210
74211         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
74212
74213 2006-06-26  Bruno Haible  <bruno@clisp.org>
74214
74215         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
74216         SGI C compiler in pre-C99 mode.
74217         Suggested by Mark D. Baushke and Larry Jones.
74218
74219 2006-06-26  Bruno Haible  <bruno@clisp.org>
74220
74221         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
74222         WCHAR_MAX.
74223         Reported by Mark D. Baushke and Larry Jones.
74224
74225 2006-06-26  Bruno Haible  <bruno@clisp.org>
74226
74227         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
74228         in pre-C99 mode.
74229         Suggested by Mark D. Baushke and Larry Jones.
74230
74231 2006-06-23  Simon Josefsson  <jas@extundo.com>
74232             Bruno Haible  <bruno@clisp.org>
74233
74234         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
74235         Emit mostlyclean-local rule.
74236         (func_emit_tests_Makefile_am): Likewise.
74237         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
74238
74239 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
74240
74241         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
74242
74243 2006-06-23  Bruno Haible  <bruno@clisp.org>
74244
74245         * tests/test-stdint.c: Update to match ISO C 99 Technical
74246         Corrigendum 1.
74247
74248 2006-06-23  Bruno Haible  <bruno@clisp.org>
74249
74250         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
74251
74252 2006-06-23  Bruno Haible  <bruno@clisp.org>
74253
74254         * lib/stdint_.h: Treat IRIX like OpenBSD.
74255
74256 2006-06-23  Bruno Haible  <bruno@clisp.org>
74257
74258         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
74259         ISO C 99 Technical Corrigendum 1.
74260
74261 2006-06-22  Simon Josefsson  <jas@extundo.com>
74262
74263         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
74264         MinGW.
74265
74266 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74267
74268         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
74269         needed.  Some compiler complained about some of them.  Problem reported
74270         by Larry Jones in
74271         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
74272
74273 2006-06-21  Simon Josefsson  <jas@extundo.com>
74274
74275         * tests/test-getaddrinfo.c: New file.
74276
74277         * modules/getaddrinfo-tests: New file.
74278
74279         * MODULES.html.sh: Add inet_pton.
74280
74281         * modules/inet_pton: New file.
74282
74283 2006-06-21  Simon Josefsson  <jas@extundo.com>
74284
74285         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
74286         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
74287         of using the (limited) gnulib implementation on Windows XP.
74288
74289         * m4/inet_pton.m4: New file.
74290
74291 2006-06-21  Simon Josefsson  <jas@extundo.com>
74292
74293         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
74294         variable.
74295
74296         * lib/socket_.h: Don't define WINVER.
74297
74298         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
74299         slightly modified to work in gnulib.
74300
74301 2006-06-21  Simon Josefsson  <jas@extundo.com>
74302
74303         * doc/gnulib.texi (Windows sockets): Add.
74304
74305 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
74306
74307         * lib/read-file.c (fread_file): Start with buffer allocation of
74308         0 bytes rather than 1 byte; this simplifies the code.
74309         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
74310         code to free buffer and save/restore errno.
74311         (internal_read_file): Remove unused local.
74312
74313 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
74314
74315         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
74316         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
74317         Problem reported by Denis Excoffier in
74318         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
74319
74320 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74321
74322         * modules/sys_socket, modules/socklen: Include sys/types since
74323         FreeBSD 4.x's sys/socket.h needs it.
74324
74325 2006-06-19  Simon Josefsson  <jas@extundo.com>
74326
74327         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
74328
74329 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74330
74331         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
74332
74333 2006-06-19  Bruno Haible  <bruno@clisp.org>
74334
74335         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
74336         and FULL_PATH_INTTYPES_H in angle brackets.
74337         Reported by Mark D. Baushke <mdb@gnu.org>.
74338
74339 2006-06-17  Eric Blake  <ebb9@byu.net>
74340
74341         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
74342         errno.
74343
74344 2006-06-17  Bruno Haible  <bruno@clisp.org>
74345
74346         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
74347         <sys/inttypes.h>.
74348
74349 2006-06-17  Bruno Haible  <bruno@clisp.org>
74350
74351         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
74352         whether errno is declared. Assume <errno.h> declares errno.
74353
74354 2006-06-17  Bruno Haible  <bruno@clisp.org>
74355
74356         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
74357
74358 2006-06-17  Bruno Haible  <bruno@clisp.org>
74359
74360         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
74361         problem on Solaris 2.5.1.
74362
74363 2006-06-16  Eric Blake  <ebb9@byu.net>
74364
74365         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
74366         * lib/unicodeio.c [!defined errno]: Likewise.
74367         * lib/strtol.c [!defined errno]: Likewise.
74368         * lib/strtod.c [!defined errno]: Likewise.
74369
74370 2006-06-15  Eric Blake  <ebb9@byu.net>
74371
74372         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
74373
74374 2006-06-15  Eric Blake  <ebb9@byu.net>
74375
74376         * config/srclist.txt (ssize_t.m4): Lose sync.
74377
74378 2006-06-15  Bruno Haible  <bruno@clisp.org>
74379
74380         * modules/stdint (Files): Include m4/full-header-path.m4,
74381         m4/size_max.m4, m4/wchar_t.m4.
74382         (Makefile.am): Many more substitutions.
74383         * modules/stdint-tests: New file.
74384         * tests/test-stdint.c: New file.
74385
74386 2006-06-15  Bruno Haible  <bruno@clisp.org>
74387
74388         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
74389         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
74390         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
74391         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
74392         gl_CHECK_TYPE_SAME): New macros.
74393
74394 2006-06-15  Bruno Haible  <bruno@clisp.org>
74395
74396         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
74397
74398 2006-06-15  Bruno Haible  <bruno@clisp.org>
74399
74400         * lib/stdint_.h: Rewritten to be fully auto-configured.
74401         Fixes bug on HP-UX/IA64.
74402
74403 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
74404
74405         * lib/getdate.y (__attribute__): Don't define if already defined.
74406         Problem reported by Larry Jones.
74407         * lib/utimens.c (__attribute__): Likewise.
74408
74409 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
74410
74411         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
74412         reported by Andreas Schwab.
74413
74414 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74415             Bruno Haible  <bruno@clisp.org>
74416
74417         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
74418         check for the declaration of strnlen and a run test that exposes the
74419         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
74420         rpl_strndup.
74421
74422 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74423             Bruno Haible  <bruno@clisp.org>
74424
74425         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
74426
74427 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74428
74429         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
74430         compile test, for Tru64 4.0D.
74431
74432 2006-05-28  Karl Berry  <karl@gnu.org>
74433
74434         * config/srclist.txt (printf-args.c): lose sync.
74435
74436 2006-05-26  Martin Lambers  <marlam@marlam.de>
74437
74438         * lib/getpass.c: Updates the test for the native W32 API, and adds
74439         missing includes, thus fixing compilation warnings.
74440
74441 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74442
74443         * lib/exclude.c (exclude_fnmatch): New function.
74444         (excluded_file_name): Call exclude_fnmatch.
74445         * lib/exclude.h (excluded_file_name): New prototype
74446
74447 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
74448
74449         * lib/tempname.c (small_open, large_open): New macros.
74450         (__open, __open64) [!_LIBC]: Remove.
74451         (__gen_tempname): Use small_open and large_open instead of __open
74452         and __open64.  This fixes a portability bug on HP-UX 11.11i
74453         reported by Simon Wing-Tang in
74454         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
74455
74456 2006-05-24  Bruno Haible  <bruno@clisp.org>
74457
74458         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
74459         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
74460         Reported by Thorsten Maerz <torte@netztorte.de> via
74461         Aaron Stone <aaron@serendipity.cx>.
74462
74463 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74464
74465         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
74466         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
74467         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
74468         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
74469         not really conditional on the cache.
74470         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
74471
74472 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74473
74474         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
74475         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
74476         (my_usleep): Don't mishandle maximum value.
74477
74478 2006-05-19  Jim Meyering  <jim@meyering.net>
74479
74480         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
74481
74482 2006-05-17  Bruno Haible  <bruno@clisp.org>
74483
74484         Cygwin portability.
74485         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
74486
74487 2006-05-17  Bruno Haible  <bruno@clisp.org>
74488
74489         * lib/stdint_.h: Fix recognition of Cygwin.
74490
74491 2006-05-15  Bruno Haible  <bruno@clisp.org>
74492
74493         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
74494         on libtool patch by Ralf Wildenhues.
74495
74496 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74497
74498         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
74499         test for C99 conformance; (bool) 0.5 is an integer constant
74500         expression, but (bool) -0.5 is not.  Problem reported by Fedor
74501         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
74502
74503 2006-05-11  Simon Josefsson  <jas@extundo.com>
74504
74505         * m4/xvasprintf.m4: Fix obvious typo.
74506
74507 2006-05-11  Jim Meyering  <jim@meyering.net>
74508
74509         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
74510         James Lemley.
74511
74512 2006-05-10  Simon Josefsson  <jas@extundo.com>
74513
74514         * lib/md4.c: Typo fix, update copyright years.
74515         (K1, K2): Don't use L because it turn computations into 64-bit on
74516         64-bit platforms.
74517
74518 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
74519
74520         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
74521         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
74522         unwanted sign propagation, e.g., on hosts with 64-bit int.
74523         There still are some problems with reeelly weird theoretical hosts
74524         (e.g., 33-bit int) but it's not worth worrying about now.
74525         * lib/sha1.c (rol): Likewise.
74526         (K1, K2, K3, K4): Remove unnecessary L suffix.
74527
74528 2006-05-10  Bruno Haible  <bruno@clisp.org>
74529
74530         * lib/des.c: Cast to avoid warnings.
74531
74532 2006-05-09  Bruno Haible  <bruno@clisp.org>
74533
74534         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
74535         (Depends-on): Depend also on xsize, stdarg.
74536         (configure.ac): Add gl_XVASPRINTF.
74537
74538 2006-05-09  Bruno Haible  <bruno@clisp.org>
74539
74540         * m4/xvasprintf.m4: New file.
74541
74542 2006-05-09  Bruno Haible  <bruno@clisp.org>
74543
74544         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
74545         (EOVERFLOW): Define fallback value.
74546         (xstrcat): New function.
74547         (xvasprintf): Recognize the special case of a string concatenation.
74548
74549 2006-05-08  Eric Blake  <ebb9@byu.net>
74550
74551         * gnulib-tool (func_version): Base copyright year on CVS date.
74552         (func_emit_copyright_notice): New function.
74553         (func_emit_lib_Makefile_am): Use it.
74554         (func_emit_tests_Makefile_am): Likewise.
74555         (func_import): Likewise.
74556
74557 2006-05-08  Bruno Haible  <bruno@clisp.org>
74558
74559         * modules/stdarg: New file.
74560         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
74561
74562 2006-05-08  Bruno Haible  <bruno@clisp.org>
74563
74564         * m4/stdarg.m4: New file, from GNU gettext.
74565
74566 2006-05-08  Bruno Haible  <bruno@clisp.org>
74567
74568         * config/srclist.txt (build-aux/config.rpath): different from latest
74569         release.
74570
74571 2006-05-08  Bruno Haible  <bruno@clisp.org>
74572
74573         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
74574
74575 2006-05-05  Jim Meyering  <jim@meyering.net>
74576
74577         * m4/warning.m4: New file, derived from bison's file by the same name.
74578
74579 2006-05-03  Bruno Haible  <bruno@clisp.org>
74580
74581         * lib/stdint_.h: Shorter URL.
74582         * lib/inttypes.h: Likewise.
74583
74584 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74585
74586         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
74587
74588 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74589
74590         * lib/verify.h: Document the internals better.  Most of this change
74591         was written by Bruno Haible.
74592
74593 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74594
74595         * doc/verify.texi: New file, partly based on a proposal by
74596         Bruno Haible.
74597
74598 2006-05-02  Bruno Haible  <bruno@clisp.org>
74599
74600         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
74601         test from here...
74602         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
74603
74604 2006-04-29  Bruno Haible  <bruno@clisp.org>
74605
74606         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
74607         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
74608
74609 2006-04-29  Bruno Haible  <bruno@clisp.org>
74610
74611         * gnulib-tool: Make --update option actually work.
74612
74613 2006-04-29  Bruno Haible  <bruno@clisp.org>
74614
74615         * doc/gcd.texi: New file.
74616         * doc/gnulib.texi: Include it.
74617
74618 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
74619
74620         * lib/getdate.y (get_date): When adding relative date, start with the
74621         initial time, not with the result of the first mktime call.
74622
74623 2006-04-25  Bruno Haible  <bruno@clisp.org>
74624
74625         * gnulib-tool (func_import): Output the include directives in three
74626         blocks, sorted separately.
74627         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74628
74629 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74630
74631         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
74632         to define main with arguments, for C++.  Reported by Eric Blake.
74633         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
74634         Prefer 'int main ()' to 'int main (void)', for C++.
74635         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
74636         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
74637         for 'main', for C99 and C++.
74638
74639 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74640
74641         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
74642         Don't assume that exit status -1 is valid.
74643         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74644         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
74645         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74646         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
74647         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
74648         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
74649         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
74650         functions can be used without declaring them, or that you can
74651         exit with status -1.
74652         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74653
74654 2006-04-24  Karl Berry  <karl@gnu.org>
74655
74656         * config/srclist.txt (longdouble.m4): sync lost.
74657
74658 2006-04-24  Eric Blake  <ebb9@byu.net>
74659
74660         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
74661
74662 2006-04-24  Bruno Haible  <bruno@clisp.org>
74663
74664         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
74665         poll() implementation in AIX.
74666         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74667
74668 2006-04-24  Bruno Haible  <bruno@clisp.org>
74669
74670         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
74671         assigned exactly once.
74672
74673 2006-04-23  Claudio Fontana  <claudio@gnu.org>
74674             Bruno Haible  <bruno@clisp.org>
74675
74676         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
74677         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
74678         for AM_CPPFLAGS.
74679
74680 2006-04-23  Bruno Haible  <bruno@clisp.org>
74681
74682         * modules/copy-file: Depend on unistd.
74683         * modules/execute: Likewise.
74684         * modules/fatal-signal: Likewise.
74685         * modules/findprog: Likewise.
74686         * modules/mkdtemp : Likewise.
74687         * modules/pipe: Likewise.
74688         * modules/wait-process: Likewise.
74689
74690 2006-04-23  Bruno Haible  <bruno@clisp.org>
74691
74692         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
74693         condition was already detected.
74694         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74695
74696 2006-04-23  Bruno Haible  <bruno@clisp.org>
74697
74698         * lib/copy-file.c: Include <unistd.h> unconditionally.
74699         * lib/execute.c: Likewise.
74700         * lib/fatal-signal.c: Likewise.
74701         * lib/findprog.c: Likewise.
74702         * lib/mkdtemp.c: Likewise.
74703         * lib/pipe.h: Likewise.
74704         * lib/pipe.c: Likewise.
74705         * lib/wait-process.h: Likewise.
74706
74707 2006-04-23  Bruno Haible  <bruno@clisp.org>
74708
74709         * gnulib-tool (func_usage): Fix --import description. Document
74710         --update.
74711         (func_import): Create temporary file in a temporary directory, if
74712         --dry-run is specified. Silence errors from 'grep' when there are no
74713         m4 files in $m4dir.
74714         (func_create_testdir): Silence errors from 'grep' when there are no
74715         m4 files in $m4dir.
74716         Reported by Karl Berry <karl@freefriends.org>.
74717
74718 2006-04-20  Bruno Haible  <bruno@clisp.org>
74719
74720         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
74721         one argument, so that the code will be portable to Autoconf 2.60.
74722         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
74723         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74724         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
74725
74726 2006-04-19  Derek Price  <derek@ximbiot.com>
74727             Eric Blake  <ebb9@byu.net>
74728
74729         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
74730         rather than "/full/path.h".  Update comment to match.  Shorten &
74731         generalize m4_translit call via AS_TR_CPP.
74732
74733 2006-04-19  Derek Price  <derek@ximbiot.com>
74734             Eric Blake  <ebb9@byu.net>
74735
74736         * lib/inttypes.h: Correct grammar in comment.
74737
74738 2006-04-18  Derek Price  <derek@ximbiot.com>
74739             Paul Eggert  <eggert@cs.ucla.edu>
74740
74741         * modules/inttypes: New file.
74742         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
74743
74744 2006-04-18  Derek Price  <derek@ximbiot.com>
74745             Paul Eggert  <eggert@cs.ucla.edu>
74746
74747         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
74748         New files.
74749
74750 2006-04-18  Derek Price  <derek@ximbiot.com>
74751             Paul Eggert  <eggert@cs.ucla.edu>
74752
74753         * lib/inttypes.h: New file.
74754         * lib/strtoimax.c: Assume <inttypes.h>.
74755
74756 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
74757
74758         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
74759         isn't mounted.  Problem reported by Kir Kolyshkin.
74760
74761 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74762
74763         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
74764         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
74765         Derek R. Price.
74766         * lib/regex.h (RE_DUP_MAX): Update comment to match current
74767         implementation.
74768
74769 2006-04-12  Eric Blake  <ebb9@byu.net>
74770
74771         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
74772         is now done automatically by the corresponding Autoconf macro.
74773
74774 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
74775
74776         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
74777         time_r.h.
74778
74779 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74780
74781         Merge regex changes from libc, removing some of our
74782         POSIX-conformance changes that were rejected and redoing them in a
74783         less-intrusive way.
74784
74785         * lib/regcomp.c (re_compile_internal, init_dfa):
74786         Length arg is now size_t, not Idx.  All uses changed.
74787         (peek_token): Forward decl now says internal_function.
74788         (__re_error_msgid, __re_error_msgid_idx):
74789         Now static rather than extern with attribute_hidden.
74790         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
74791         For some reason libc prefers K&R style defns for external functions.
74792         (regerror) [!defined _LIBC]: Likewise.
74793         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
74794         (seek_collating_symbol_entry, lookup_collation_sequence_value):
74795         (build_range_exp, build_collating_symbol):
74796         Use K&R-style defn.
74797         (re_compile_fastmap): Use '\0' to memset, not 0.
74798         (utf8_sb_map): Make the calculations more obvious.
74799         (init_dfa, parse_bracket_exp, build_charclass_op):
74800         Call calloc and cast result, as glibc does.
74801         (init_word_char, fetch_token, peek_token, peek_token_bracket):
74802         (build_range_exp, build_collating_symbol):
74803         Now internal functions.
74804
74805         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
74806
74807         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
74808         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
74809         Don't depend on VMS; depend on __VMS instead, for POSIX
74810         namespace cleanness.
74811         (regoff_t): Define to ssize_t, not long int.
74812
74813         Remove the REG_ macros named below.  Instead, make the old names
74814         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
74815         __USE_GNU_REGEX.
74816         (REG_BACKSLASH_ESCAPE_IN_LISTS):
74817         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
74818         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
74819         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
74820         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
74821         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
74822         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
74823         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
74824         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
74825         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
74826         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
74827         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
74828         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
74829         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
74830         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
74831         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
74832         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
74833         (REG_NREGS):
74834         Remove.  All uses replaced by the old RE_* names.
74835         (RE_BACKSLASH_ESCAPE_IN_LISTS):
74836         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
74837         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
74838         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
74839         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
74840         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
74841         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
74842         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
74843         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
74844         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
74845         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
74846         Don't bother having these macros be independent of each others'
74847         values, since they no longer exist in the POSIX name space.
74848
74849         Rename the following member names back to their old names,
74850         unless !__USE_GNU_REGEX.  All uses changed back.
74851         (buffer): Renamed from re_buffer.
74852         (allocated): Renamed from re_allocated.
74853         (used): Renamed from re_used.
74854         (syntax): Renamed from re_syntax.
74855         (fastmap): Renamed from re_fastmap.
74856         (translate): Renamed from re_translate.
74857         (can_be_null): Renamed from re_can_be_null.
74858         (regs_allocated): Renamed from re_regs_allocated.
74859         (fastmap_accurate): Renamed from re_fastmap_accurate.
74860         (no_sub): Renamed from re_no_sub.
74861         (not_bol): Renamed from re_not_bol.
74862         (not_eol): Renamed from re_not_eol.
74863         (newline_anchor): Renamed from re_newline_anchor.
74864         (num_regs): Renamed from rm_num_regs.
74865         (start): Renamed from rm_start.
74866         (end): Renamed from rm_end.
74867
74868         (free_state): Move up a bit.
74869
74870         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
74871         #define to be empty.
74872         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
74873         when that is what is intended.
74874         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
74875         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
74876         (MAX): New macro.
74877         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
74878         All uses changed back to re_malloc, etc.  It's now the caller's
74879         responsibility to check for overflow; all callers changed.
74880         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
74881         (re_x2nrealloc): Remove.
74882         (free_state): Remove decl.
74883
74884         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
74885         (re_set_registers, re_exec):
74886         Use K&R-style defn.
74887
74888         2006-01-31  Roland McGrath  <roland@redhat.com>
74889
74890         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
74891         Reported by Mike Frysinger <vapier@gentoo.org>.
74892
74893         2006-01-15  Andreas Jaeger  <aj@suse.de>
74894
74895         [BZ #1950]
74896         * lib/regex_internal.c (re_string_reconstruct): Adjust for
74897         build_wcs_upper_buffer change.
74898         (build_wcs_upper_buffer): Change return type.
74899
74900         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
74901
74902         * lib/regex_internal.h: Include <stdint.h> if available.
74903
74904         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
74905
74906         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
74907
74908         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74909
74910         * lib/regcomp.c: Adjust for changed secondary hash function.
74911
74912         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
74913
74914         * lib/regex.h: Pretty printing.
74915         Clean up namespace a bit.
74916
74917         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
74918
74919         * lib/regexec.c (update_cur_sifted_state, check_arrival,
74920         check_arrival_add_next_nodes): Avoid using uninitialized variable.
74921
74922         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74923                     Ulrich Drepper  <drepper@redhat.com>
74924
74925         [BZ #1302]
74926         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
74927         changed.
74928         (bitset_word_t): Renamed from bitset_word.  All uses changed.
74929
74930         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
74931
74932         [BZ #281]
74933         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
74934         * lib/regcomp.c: Remove unnecessary uses of
74935         unsigned RE_TRANSLATE_TYPE.
74936         * lib/regex_internal.h: Likewise.
74937         * lib/regex_internal.c: Likewise.
74938         * lib/regexec.c: Likewise.
74939         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
74940
74941         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
74942
74943         * lib/regexec.c (find_recover_state): Remove unnecessary
74944         initialization.
74945         (transit_state_bkref): Make DFA a const pointer.
74946         (get_subexp): Likewise.
74947         (check_arrival): Likewise.
74948         (update_cur_sifted_state): Likewise.
74949         (re_search_internal): Likewise.
74950         (prune_impossible_nodes): Likewise.
74951         (acquire_init_state_context): Likewise.
74952         (proceed_next_node): Likewise.
74953         (set_regs): Likewise.
74954         (free_fail_stack_return): Likewise.
74955         (check_arrival_expand_ecl): Mark DFA parameter as const.
74956         (check_arrival_expand_ecl_sub): Likewise.
74957         (check_subexp_limits): Likewise.
74958         (sub_epsilon_src_nodes):  Likewise.
74959         (add_epsilon_src_nodes):  Likewise.
74960         (merge_state_array): Likewise.
74961         (update_regs): Likewise.
74962         (build_trtable): Likewise.
74963         (sift_states_backward): Mark MCTX parameter as const.
74964         (build_sifted_states): Likewise.
74965         (update_cur_sifted_state): Likewise.
74966         (sift_states_mkref): Likewise.
74967         (check_arrival_expand_ecl): Mark eclosure as const.
74968         (check_dst_limits_calc_pos_1): Likewise.
74969         * lib/regex_internal.h (re_match_context_t): Make dfa a const
74970         pointer.
74971
74972         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
74973
74974         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
74975         (transit_state_sb): Likewise.
74976         (transit_state_mb): Likewise.
74977         (sift_states_iter_mb): Likewise.
74978         (check_arrival_add_next_nodes): Likewise.
74979         (check_node_accept_bytes): Change first parameter to pointer-to-const.
74980         [_LIBC] (re_search_2_stub): Use mempcpy.
74981
74982         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
74983         mbrtowc for very simple UTF-8 case.
74984
74985         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
74986         a pointer-to-const.
74987         (re_acquire_state_context): Likewise.
74988         * lib/regex_internal.h: Adjust prototypes.
74989
74990         * lib/regex.c: Prevent using C++ compilers.
74991
74992         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
74993         (re_acquire_state_context): Likewise.
74994
74995 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74996
74997         * modules/regex (Depends-on): Add ssize_t.
74998
74999 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75000
75001         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
75002         translation table.
75003
75004 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75005
75006         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
75007
75008 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
75009             Bruno Haible  <bruno@clisp.org>
75010
75011         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
75012         <sys/types.h> and <inttypes.h>.
75013
75014 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75015
75016         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
75017         `__error_t_defined', so argp.h will not typedef the former.
75018
75019 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
75020
75021         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
75022         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
75023         glibc names.  Even if glibc is changed to conform to POSIX, the
75024         traditional names will be available anyway, since regex depends on
75025         the extensions module.  Also, fix a longstanding typo in the
75026         implementation of Spencer ERE test #75 from grep 2.3.  Problems
75027         reported by Emanuele Giaquinta.  Also, change sense of cached
75028         variable, so that the message makes sense.
75029
75030 2006-03-24  Simon Josefsson  <jas@extundo.com>
75031
75032         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
75033         including some doc fixes.
75034         (base64_encode_alloc): Fix +1 bug on allocation failures.
75035
75036 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75037
75038         * lib/base64.c (base64_encode): Do not read past end of array with
75039         unsanitized input on systems with CHAR_BIT > 8.
75040
75041 2006-03-24  Eric Blake  <ebb9@byu.net>
75042
75043         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
75044
75045 2006-03-22  Karl Berry  <karl@gnu.org>
75046
75047         * config/srclist.txt (*setenv.[ch]): get from coreutils.
75048         * config/srclistvars.sh (COREUTILS): new var.
75049
75050 2006-03-17  Jim Meyering  <jim@meyering.net>
75051
75052         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
75053         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
75054
75055 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75056
75057         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
75058         no longer needs it.  Instead, check that regoff_t is as least
75059         as wide as ptrdiff_t.
75060
75061         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
75062         so that our regex.h stays compatible with the installed regex.
75063         This is helpful for installers who configure --without-included-regex.
75064         Problem reported by Emanuele Giaquinta.
75065
75066 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75067
75068         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
75069         Typedef to long int, not to off_, as POSIX will likely change
75070         in that direction.
75071
75072 2006-03-15  Eric Blake  <ebb9@byu.net>
75073
75074         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
75075
75076 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75077
75078         * lib/argp-help.c (validate_uparams): Fix typo
75079         * lib/argp-parse.c (argp_default_options): Consistently begin help
75080         messages with a lowercase letter.
75081
75082 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
75083
75084         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
75085         overrun buffers and shouldn't be used (much as gets shouldn't be
75086         used).
75087         * lib/time_r.c (asctime_r, ctime_r): Likewise.
75088
75089 2006-03-08  Simon Josefsson  <jas@extundo.com>
75090
75091         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
75092         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75093
75094 2006-03-08  Simon Josefsson  <jas@extundo.com>
75095
75096         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
75097         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75098
75099 2006-03-08  Simon Josefsson  <jas@extundo.com>
75100
75101         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
75102         signal that configure disabled the device.
75103
75104 2006-03-08  Simon Josefsson  <jas@extundo.com>
75105
75106         * build-aux/maint.mk: Fix refresh-po, to handle no translated
75107         languages.
75108
75109 2006-03-07  Simon Josefsson  <jas@extundo.com>
75110
75111         * modules/getopt (Depends-on): Add unistd.
75112
75113         * modules/unistd: New file.
75114
75115 2006-03-07  Simon Josefsson  <jas@extundo.com>
75116
75117         * modules/gc-random: New file.
75118
75119 2006-03-07  Simon Josefsson  <jas@extundo.com>
75120
75121         * m4/unistd_h.m4: New file.
75122
75123 2006-03-07  Simon Josefsson  <jas@extundo.com>
75124
75125         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
75126         test to be side-effect free by storing the result in the cache
75127         variable gl_cv_lib_readline, and moving the assignment of
75128         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
75129         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75130
75131 2006-03-07  Simon Josefsson  <jas@extundo.com>
75132
75133         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
75134         error on missing devices (the functions will return an error).
75135
75136         * m4/gc.m4: Move random stuff to gc-random.m4
75137
75138 2006-03-07  Simon Josefsson  <jas@extundo.com>
75139
75140         * lib/unistd_.h: New file.
75141
75142 2006-03-07  Simon Josefsson  <jas@extundo.com>
75143
75144         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
75145
75146 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75147
75148         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
75149         Problem reported by Juan Manuel Guerrero.
75150
75151 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75152
75153         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
75154         the unistd module.
75155         * lib/getlogin_r.c: Likewise.
75156         * lib/getlogin_r.h: Likewise.
75157         * lib/glob.c: Likewise.
75158         * lib/pagealign_alloc.c: Likewise.
75159         * lib/unistd_.h: Remove; no longer needed.
75160
75161 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75162
75163         * MODULES.html.sh (Support for systems lacking POSIX:2001):
75164         Add unistd.
75165         * modules/c-stack (Depends-on): Add unistd.
75166         * modules/getlogin_r: Likewise.
75167         * modules/glob: Likewise.
75168         * modules/pagealign_alloc: Likewise.
75169         * modules/unistd (Files): Remove lib/unistd_.h.
75170         (EXTRA_DIST): Remove.
75171         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
75172         need unistd_.h.
75173         (MOSTLYCLEANFILES): Remove unistd.h-t.
75174
75175 2006-03-03  Simon Josefsson  <jas@extundo.com>
75176
75177         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
75178
75179 2006-03-03  Simon Josefsson  <jas@extundo.com>
75180
75181         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
75182         libidn and bison.
75183
75184 2006-03-03  Simon Josefsson  <jas@extundo.com>
75185
75186         * build-aux/maint.mk: Add indent target.
75187
75188 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
75189
75190         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
75191         our replacement poll.h in any case, to avoid a differing
75192         declaration from a system header.  Seen on AIX.
75193
75194 2006-03-01  Simon Josefsson  <jas@extundo.com>
75195
75196         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
75197         <kasal@ucw.cz>.
75198
75199 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75200
75201         * modules/gettime (Depends-on): Add extensions module.
75202         * modules/nanosleep (Depends-on): Likewise.
75203         * modules/settime (Depends-on): Likewise.
75204
75205 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75206
75207         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
75208         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
75209         pedantically.
75210         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75211         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
75212
75213         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
75214         not "==".  Reported by Ralf Wildenhues.
75215
75216 2006-03-01  Karl Berry  <karl@gnu.org>
75217
75218         * doc/Copyright/request-*: new files, synced from gnuorg.
75219
75220 2006-03-01  Karl Berry  <karl@gnu.org>
75221
75222         * config/srclist.txt (Copyright/*): new entries.
75223
75224 2006-02-28  Simon Josefsson  <jas@extundo.com>
75225
75226         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
75227
75228 2006-02-27  Simon Josefsson  <jas@extundo.com>
75229
75230         * lib/base64.h: Indent #define's.  From Jim Meyering
75231         <jim@meyering.net>.
75232
75233 2006-02-27  Jim Meyering  <jim@meyering.net>
75234
75235         Revert the change of 2006-02-24, so these files can continue
75236         to be sync'd from gettext.
75237         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
75238         of `config.h'.
75239
75240 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
75241
75242         * modules/intprops: New file.
75243         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75244         Add intprops.
75245         * modules/getloadavg (Files): Remove lib/intprops.h.
75246         (Depends-on): Add intprops.
75247         * modules/human: Likewise.
75248         * modules/inttostr: Likewise.
75249         * modules/openat: Likewise.
75250         * modules/sig2str: Likewise.
75251         * modules/userspec: Likewise.
75252         * modules/utimecmp: Likewise.
75253         * modules/xnanosleep: Likewise.
75254         * modules/xstrtol: Likewise.
75255
75256 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
75257
75258         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
75259         * modules/lock-tests (TESTS): Use $(EXEEXT).
75260         * modules/tls-tests: Likewise.
75261         * modules/argp-tests: Likewise.
75262         (check_PROGRAMS): New var, replacing...
75263         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
75264
75265 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75266
75267         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
75268         `config.h'.
75269
75270 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
75271
75272         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
75273
75274 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75275
75276         Sync from coreutils.
75277         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
75278         gl_CHDIR_SAFER.
75279
75280 2006-02-22  Jim Meyering  <jim@meyering.net>
75281
75282         Sync from coreutils.
75283         * m4/chdir-safer.m4: New file.
75284
75285 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
75286
75287         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
75288         AT_FDCWD exceeds INT_MAX.
75289         * lib/openat.h (AT_FDCWD): Likewise.
75290
75291 2006-02-17  Eric Blake  <address@hidden>
75292
75293         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
75294
75295 2006-02-16  Simon Josefsson  <jas@extundo.com>
75296
75297         * modules/getaddrinfo (Depends-on): Add sys_socket.
75298
75299 2006-02-15  Simon Josefsson  <jas@extundo.com>
75300
75301         * build-aux/maint.mk: Add dsyntax-check rule.
75302
75303 2006-02-15  Eric Blake  <ebb9@byu.net>
75304
75305         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
75306         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
75307         'present but cannot compile' warnings on cygwin.
75308         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
75309         use ws2tcpip.h if sys/socket.h works.
75310         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
75311         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
75312
75313 2006-02-14  Simon Josefsson  <jas@extundo.com>
75314
75315         * modules/maintainer-makefile (Files): Rename.
75316
75317         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
75318         and (the local) Makefile.cfg to maint-cfg.mk.
75319
75320         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
75321         to the latter.
75322
75323         * modules/maintainer-makefile: New module.
75324
75325         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
75326         severaly stripped to make it possible to build it up from scratch
75327         with reliable tests.
75328
75329         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
75330         fixes to permit overriding the default actions when configure and
75331         makefile are not available.
75332
75333 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
75334
75335         Sync from coreutils.
75336         * modules/lstat (Depends-on): Don't depend on xalloc.
75337         (License): Change from GPL to LGPL, since this is now simply a
75338         replacement for a libc function.
75339
75340 2006-02-14  Jim Meyering  <jim@meyering.net>
75341
75342         Sync from coreutils.
75343
75344         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
75345         failure on deficient systems, and simplify gnulib lgpl dependencies.
75346         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
75347         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
75348
75349         * lib/xalloc-die.c: Remove unused definition of N_.
75350
75351 2006-02-14  Jim Meyering  <jim@meyering.net>
75352
75353         Sync from coreutils.
75354         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
75355         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
75356         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
75357         double-quote uses of that variable, to accommodate the rare case in
75358         which getmntent is available in none of the libraries checked.  This
75359         happens at least on FreeBSD 5.0.
75360
75361 2006-02-13  Simon Josefsson  <jas@extundo.com>
75362
75363         * gnulib-tool (Usage): Fix --import, from
75364         karl@freefriends.org (Karl Berry).
75365
75366 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75367
75368         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
75369
75370 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
75371
75372         * lib/argp-namefrob.h: Restore changes accidentally lost during the
75373         "autoupdate" on 2005-12-12.
75374
75375 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75376
75377         * modules/closeout (Depends-on): Remove atexit.
75378
75379 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75380
75381         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
75382         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
75383
75384 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
75385
75386         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
75387         __EXTENSIONS__ if this causes compilation to fail.  Problem
75388         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
75389         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
75390
75391 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
75392
75393         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
75394         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
75395         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
75396         All uses changed.
75397
75398 2006-01-26  Simon Josefsson  <jas@extundo.com>
75399
75400         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
75401         prototype is visible on mingw32.
75402
75403         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
75404         for mingw32.
75405
75406         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
75407         mingw32).
75408
75409 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
75410
75411         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
75412         attempt to open for write; this always fails, at least on POSIX
75413         hosts.  This reinstates the 2006-01-09 change, which was
75414         inadvertently removed.
75415
75416 2006-01-26  Bruno Haible  <bruno@clisp.org>
75417
75418         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
75419         Reported by Paul Eggert.
75420
75421 2006-01-26  Bruno Haible  <bruno@clisp.org>
75422             Paul Eggert  <eggert@cs.ucla.edu>
75423
75424         * lib/stdbool_.h (_Bool)
75425         [(! (defined __cplusplus || defined __BEOS__)
75426           && !defined __GNUC__
75427           && !(defined __HP_cc || defined __xlc__
75428                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
75429                || defined __sgi))]:
75430         #define to signed char in these cases too; this simplifies
75431         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
75432         etc., separately) and makes it more conservative.
75433
75434 2006-01-25  Simon Josefsson  <jas@extundo.com>
75435
75436         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
75437         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
75438         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
75439
75440 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75441
75442         * lib/argp-namefrob.h: Bugfix. Remove stray #
75443
75444 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
75445
75446         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
75447         so that we test the test.
75448         Check for yet another HP-UX cc bug involving *bool |= bool.
75449
75450 2006-01-25  Karl Berry  <karl@gnu.org>
75451
75452         * config/srclist.txt (vasnprintf.c): sync lost.
75453
75454 2006-01-25  Jim Meyering  <jim@meyering.net>
75455
75456         Sync from the stable (b5) branch of coreutils:
75457
75458         * lib/fts.c (fts_children): Don't let close() clobber errno from
75459         failed fchdir().
75460
75461         * lib/fts.c (fts_stat): When following a symlink-to-directory,
75462         don't necessarily interpret stat-fails+lstat-succeeds as indicating
75463         a dangling symlink.  That can also happen at least for ELOOP.
75464         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
75465         FYI, this bug predates the inclusion of fts.c in coreutils.
75466
75467         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
75468         in their own block, so pre-c99 compilers don't object.
75469
75470         Avoid the double-free (first in fts_read, second in fts_close) that
75471         would occur when an `active' directory is made inaccessible (e.g.,
75472         via chmod a-x) during a traversal.
75473         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75474         before returning.  Reproduce this failure by
75475         mkdir -p a/b; cd a; chmod a-x . b
75476         Reported by Stavros Passas.
75477
75478 2006-01-25  Jim Meyering  <jim@meyering.net>
75479
75480         * lib/fileblocks.c: Remove more useless parentheses.
75481         * lib/readutmp.h: Likewise.
75482
75483 2006-01-25  Bruno Haible  <bruno@clisp.org>
75484
75485         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
75486         warnings.
75487         Reported by Paul Eggert.
75488
75489 2006-01-25  Bruno Haible  <bruno@clisp.org>
75490
75491         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
75492         rid of a trap command. For Solaris sh.
75493         Reported by Mark D. Baushke <mdb@gnu.org>.
75494
75495 2006-01-24  Simon Josefsson  <jas@extundo.com>
75496
75497         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
75498         Bruno.
75499
75500 2006-01-24  Karl Berry  <karl@gnu.org>
75501
75502         * config/srclist.txt (argp-namefrob.h): sync lost.
75503
75504 2006-01-24  Jim Meyering  <jim@meyering.net>
75505
75506         * modules/openat (Files): Add lib/intprops.h.
75507         From Mark D. Baushke.
75508
75509 2006-01-24  Jim Meyering  <jim@meyering.net>
75510
75511         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
75512         Reported by Mark D. Baushke.
75513
75514 2006-01-24  Jim Meyering  <jim@meyering.net>
75515
75516         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
75517
75518 2006-01-24  Bruno Haible  <bruno@clisp.org>
75519
75520         * modules/strnlen (Maintainer): Change from glibc to all.
75521
75522 2006-01-24  Bruno Haible  <bruno@clisp.org>
75523
75524         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
75525         Patch by Paul Eggert.
75526
75527 2006-01-24  Bruno Haible  <bruno@clisp.org>
75528
75529         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
75530         already has it.
75531         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
75532         2005-11-26.
75533
75534         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
75535         'signed char' to avoid problems with the built-in _Bool type.
75536         Reported by Paul Eggert on 2005-11-26.
75537
75538 2006-01-24  Bruno Haible  <bruno@clisp.org>
75539
75540         * gnulib-tool (func_import): Avoid constructing complicated sed
75541         expressions inside backquote.
75542         Report and solution by Mark D. Baushke <mdb@gnu.org>.
75543
75544 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
75545
75546         These changes imported from libc.
75547         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
75548         test and two separate function calls.
75549         * lib/strndup.c (__strndup): Add libc_hidden_def.
75550
75551 2006-01-23  Simon Josefsson  <jas@extundo.com>
75552
75553         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
75554         Remove the test_*_SOURCES variable: automake infers it by default.
75555         * modules/tls-tests: Likewise.
75556
75557 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75558
75559         Work around porting bugs reported by Dieter in
75560         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
75561         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
75562         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
75563         Include "getopt.h" first, to check interface.
75564         (getenv): Declare only if defined HAVE_DECL_GETENV &&
75565         !HAVE_DECL_GETENV.
75566         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
75567         (__strndup): Revert to K&R-style function dfns, the glibc style.
75568         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
75569         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
75570         Include strnlen.h first, to get prototype properly.
75571         (strnlen): Renamed from __strnlen.
75572         Remove weak alias.
75573
75574 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75575
75576         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
75577
75578 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75579
75580         * config/srclist.txt: Adjust to reflect glibc reorganization.
75581         This affects only comments.
75582
75583 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75584
75585          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
75586          Reported by Bruce Korb <bkorb@gnu.org>.
75587
75588 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
75589
75590         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
75591         to pacify gcc -Wswitch-default.
75592
75593 2006-01-22  Bruno Haible  <bruno@clisp.org>
75594
75595         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
75596         temporary buffer for sprintf, take into account the precision also
75597         for 'd', 'i', 'u', 'o', 'x', 'X'.
75598
75599 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75600
75601         * modules/argp-tests: New module
75602         * tests/test-argp.c: New file
75603         * tests/test-argp-2.sh: New file
75604
75605 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75606
75607         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
75608         (__argp_base_name): Removed
75609         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
75610         typo.
75611         (__argp_base_name): Provide macro definition or extern declaration
75612         depending on the configuration
75613
75614 2006-01-20  Simon Josefsson  <jas@extundo.com>
75615
75616         * modules/inet_ntop (Depends-on): Depend on sys_socket.
75617
75618 2006-01-20  Simon Josefsson  <jas@extundo.com>
75619
75620         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
75621
75622 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75623
75624         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
75625         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
75626         Suggested by Bruno Haible.
75627
75628 2006-01-20  Karl Berry  <karl@gnu.org>
75629
75630         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
75631         until changes propagate, I guess.
75632
75633 2006-01-19  Simon Josefsson  <jas@extundo.com>
75634
75635         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
75636
75637 2006-01-19  Simon Josefsson  <jas@extundo.com>
75638
75639         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
75640
75641 2006-01-19  Simon Josefsson  <jas@extundo.com>
75642
75643         * gnulib-tool: Set check_PROGRAMS.
75644
75645         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75646         modules/des-tests, modules/gc-arcfour-tests,
75647         modules/gc-arctwo-tests, modules/gc-des-tests,
75648         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75649         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75650         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75651         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75652         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75653         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
75654         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
75655         test_*_SOURCES.
75656
75657 2006-01-18  Simon Josefsson  <jas@extundo.com>
75658
75659         * modules/socklen (Depends-on): Depend on sys_socket.
75660
75661 2006-01-18  Simon Josefsson  <jas@extundo.com>
75662
75663         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75664         modules/des-tests, modules/gc-arcfour-tests,
75665         modules/gc-arctwo-tests, modules/gc-des-tests,
75666         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75667         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75668         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75669         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75670         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75671         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
75672         $(EXEEXT) to automake TESTS variable, for mingw32.
75673
75674 2006-01-17  Simon Josefsson  <jas@extundo.com>
75675
75676         * modules/socklen (Include): Need sys/socket.h.
75677
75678 2006-01-17  Bruno Haible  <bruno@clisp.org>
75679
75680         * modules/ssize_t (Include): Add <sys/types.h>.
75681
75682 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
75683
75684         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
75685         it's not portable and it doesn't work with cross-compiles.
75686         Problem reported by Bruno Haible.  Fix missing-$ typo in
75687         'test "gl_cv_ignore_unused_libraries" ...' that prevented
75688         -zignore from being used with Sun's C compiler.
75689
75690 2006-01-12  Simon Josefsson  <jas@extundo.com>
75691
75692         * lib/base64.c: Fix warning, reported by Bruno Haible
75693         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
75694
75695 2006-01-12  Bruno Haible  <bruno@clisp.org>
75696
75697         * modules/ldd: New file.
75698         * build-aux/ldd.sh.in: New file.
75699         * MODULES.html.sh (Support for building libraries and executables): Add
75700         ldd.
75701
75702 2006-01-12  Bruno Haible  <bruno@clisp.org>
75703
75704         * m4/ldd.m4: New file.
75705
75706 2006-01-12  Bruno Haible  <bruno@clisp.org>
75707
75708         * gnulib-tool (func_import, func_create_testdir): Don't go into an
75709         endless loop while replacing $auxdir with build-aux.
75710
75711 2006-01-11  Simon Josefsson  <jas@extundo.com>
75712
75713         * lib/stdint_.h (SIZE_MAX): Add missing (.
75714
75715 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
75716
75717         Sync from coreutils.
75718         * lib/md5.c: Fix commentary typos.
75719         (alignof, UNALIGNED_P): No need for a GCC-specific version.
75720         * lib/md5.h (__attribute__): Remove; unused.
75721         * lib/sha1.c: Fix commentary to match md5 better.
75722         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
75723         so that we don't need to worry about alignment.  All uses changed.
75724         This merges the 2005-10-28 md5 change into sha1.
75725
75726 2006-01-11  Jim Meyering  <jim@meyering.net>
75727
75728         Sync from coreutils.
75729         * lib/md5.c (OP): Fix spacing.
75730
75731 2006-01-11  Bruno Haible  <bruno@clisp.org>
75732
75733         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75734         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
75735         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
75736
75737 2006-01-11  Bruno Haible  <bruno@clisp.org>
75738
75739         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75740         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
75741         the "early" section as well.
75742
75743 2006-01-11  Bruno Haible  <bruno@clisp.org>
75744
75745         Avoid "ar: no archive members specified" error on MacOS X.
75746         * gnulib-tool (func_modules_add_dummy): New function.
75747         (func_import, func_create_testdir): Invoke it.
75748
75749 2006-01-11  Bruno Haible  <bruno@clisp.org>
75750
75751         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
75752         with $auxdir in AC_CONFIG_FILES statements.
75753
75754 2006-01-11  Bruno Haible  <bruno@clisp.org>
75755
75756         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75757         Initialize also noinst_HEADERS to empty.
75758
75759 2006-01-11  Bruno Haible  <bruno@clisp.org>
75760
75761         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
75762         variables.
75763         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
75764         autoreconf.
75765
75766 2006-01-11  Bruno Haible  <bruno@clisp.org>
75767
75768         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
75769         overridable by the user.
75770         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75771
75772 2006-01-10  Simon Josefsson  <jas@extundo.com>
75773
75774         * modules/sys_socket: New file.
75775
75776 2006-01-10  Simon Josefsson  <jas@extundo.com>
75777
75778         * m4/sys_socket_h.m4: New file.
75779
75780 2006-01-10  Simon Josefsson  <jas@extundo.com>
75781
75782         * lib/socket_.h: New file.
75783
75784 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75785
75786         * modules/readutmp (Maintainer): Add myself.
75787
75788 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75789
75790         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
75791         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
75792         People who are still concerned with buggy memcmp implementations
75793         can invoke gl_FUNC_MEMCMP themselves.
75794
75795 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75796
75797         * lib/regex_internal.h (BITSET_WORD_BITS):
75798         Work around a bug in 64-bit PGC (before version 6.1-2), where the
75799         preprocessor mishandles large unsigned values as if they were signed.
75800         Problem reported by Claudio Fontana in
75801         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
75802
75803 2006-01-10  Jim Meyering  <jim@meyering.net>
75804
75805         Avoid the double-free (first in fts_read, second in fts_close) that
75806         would occur when an `active' directory is made inaccessible (e.g.,
75807         via chmod a-x) during a traversal.
75808         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75809         before returning.  Reproduce this failure by
75810         mkdir -p a/b; cd a; chmod a-x . b
75811         Reported by Stavros Passas.
75812
75813         Sync from coreutils.
75814         * lib/sha1.c: Tweak grammar in a comment.
75815
75816 2006-01-10  Jim Meyering  <jim@meyering.net>
75817
75818         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
75819         Patch by Joerg Sonnenberger.
75820
75821 2006-01-10  Bruno Haible  <bruno@clisp.org>
75822
75823         * modules/readutmp: Depend on module free.
75824         * modules/strtok_r: Depend on module restrict.
75825
75826 2006-01-10  Bruno Haible  <bruno@clisp.org>
75827
75828         * modules/gettext (configure.ac): Add an invocation of
75829         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
75830
75831 2006-01-10  Bruno Haible  <bruno@clisp.org>
75832
75833         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
75834         Reported by Werner Lemberg <wl@gnu.org>.
75835
75836 2006-01-10  Bruno Haible  <bruno@clisp.org>
75837
75838         * lib/localcharset.c: Update from GNU gettext.
75839
75840 2006-01-10  Bruno Haible  <bruno@clisp.org>
75841
75842         * lib/argp.h (__const): Remove macro. Use const instead.
75843         * lib/argp-fmtstream.h (__const): Likewise.
75844         * lib/glob_.h (__const): Remove macro.
75845         * lib/glob-libc.h: Use const instead of __const.
75846
75847 2006-01-10  Bruno Haible  <bruno@clisp.org>
75848
75849         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
75850         variable.
75851         Needed to avoid an automake error regarding the 'gettext' module.
75852
75853 2006-01-09  Simon Josefsson  <jas@extundo.com>
75854
75855         * modules/inet_ntop (Depends-on): Add restrict.
75856
75857 2006-01-09  Simon Josefsson  <jas@extundo.com>
75858
75859         * modules/gc-rijndael-tests (License): Put under LGPL.
75860
75861         * modules/gc-des-tests (License): Likewise.
75862
75863         * modules/gc-arcfour-tests (License): Likewise.
75864
75865         * modules/gc-arctwo-tests (License): Likewise.
75866
75867         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
75868
75869         * modules/gc-hmac-sha1-tests (Files): Likewise.
75870
75871         * modules/gc-hmac-md5-tests (License): Likewise.
75872
75873         * modules/gc-sha1-tests (License): Likewise.
75874
75875         * modules/gc-md5-tests (License): Likewise.
75876
75877         * modules/gc-md4-tests (License): Likewise.
75878
75879         * modules/gc-md2-tests (License): Likewise.
75880
75881         * modules/gc-tests (License): Likewise.
75882
75883         * modules/des-tests (License): Likewise.
75884
75885         * modules/md4-tests (License): Likewise.
75886
75887         * modules/md2-tests (License): Likewise.
75888
75889 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75890
75891         Sync from coreutils:
75892
75893         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
75894         * modules/lib-ignore: New file.
75895         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
75896         chdir-safer.m4, lchmod.m4.
75897         * modules/openat: Add mkdirat.c, openat-priv.h.
75898
75899 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75900
75901         Sync from coreutils.
75902         * m4/lib-ignore.m4: New file.
75903         * m4/lchmod.m4: New file.
75904
75905 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75906
75907         Sync from coreutils.
75908         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
75909         for write access: POSIX says that must fail.
75910         * lib/fts.c (diropen): Likewise.
75911         * lib/save-cwd.c (save_cwd): Likewise.
75912         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
75913         well, for minor improvements on hosts that lack O_DIRECTORY.
75914         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
75915         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
75916         Fall back on chown if open failed with EACCES.
75917
75918         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
75919         Report an error at compile-time if only a 1-second nominal clock
75920         resolution is found.
75921
75922         * lib/lchmod.h: New file.
75923         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
75924         (make_dir_parents): Use lchown rather than chown, and
75925         lchmod rather than chmod.
75926
75927         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
75928         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
75929         "proc" reported by n0dalus.
75930
75931         * lib/mountlist.c: Include <limits.h>.
75932         (dev_from_mount_options)
75933         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
75934         New function.  It no longer assumes "dev=" has the System V meaning
75935         on Linux (since it doesn't).  It also parses "dev=" more carefully.
75936         (read_file_system_list)
75937         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
75938         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
75939         dev= in that case.
75940
75941         * lib/posixtm.h (PDS_PRE_2000): New macro.
75942         * lib/posixtm.c (year): Arg is now syntax_bits rather than
75943         allow_century.  All usages changed.  Reject dates outside the range
75944         1969-1999 if PDS_PRE_2000 is used.
75945
75946 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75947
75948         Sync from coreutils.
75949         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
75950         (Time of day items): Mention the possibility of leap seconds.
75951         Problem reported by Dr. David Alan Gilbert.
75952
75953 2006-01-09  Jim Meyering  <jim@meyering.net>
75954
75955         Sync from coreutils.
75956
75957         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
75958
75959         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
75960
75961         * lib/modechange.c (mode_compile): Reject an invalid mode string
75962         that starts with an octal digit.  From Andreas Gruenbacher.
75963
75964         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
75965         and dup to open_safer and dup_safer, respectively.
75966         (openat_permissive): Fix typo in comment.
75967
75968         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
75969         "gettext.h"; either no longer needed or are guaranteed by openat.h.
75970         (_): Remove; no longer needed.
75971         (openat): Renamed from rpl_openat; no need for rpl_openat
75972         since openat.h renames openat for us.
75973         Replace most of the body with a call to openat_permissive,
75974         to avoid duplicate code.
75975         Port to (probably hypothetical) environments were mode_t is
75976         wider than int.
75977         (openat_permissive): Require mode arg, so that we can check
75978         types better.  Put it just after flags.  Change cwd failure
75979         indicator from pointer-to-bool to pointer-to-errno-value.
75980         All callers changed.
75981         Invoke openat_save_fail and/or openat_restore_fail if
75982         cwd_errno is null, so that openat can call us.
75983         (openat_permissive, fdopendir, fstatat, unlinkat):
75984         Simplify errno handling to avoid some duplicate code,
75985         as it's OK to set errno on success.
75986         * lib/openat.h: Revamp code so that function macros depend on
75987         __OPENAT_PREFIX only, not also on AT_FDCWD.
75988         (openat_ro): Remove.  Caller changed to use openat_permissive.
75989         (openat_permissive): Now a macro, if not a function.
75990         (openat_restore_fail, openat_save_fail): Now always functions,
75991         since mkdirat needs them even if __OPENAT_PREFIX is defined.
75992
75993         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
75994         and openat.c.
75995         * lib/mkdirat.c: Include openat-priv.h.
75996         Remove definitions of macros defined therein.
75997         * lib/openat.c: Likewise.
75998
75999         * lib/mkdirat.c (mkdirat): New file and function.
76000         * lib/openat.h (mkdirat): Declare.
76001
76002         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
76003
76004         * lib/openat.h (openat_permissive): Declare.
76005         (openat_ro): Define.
76006
76007         * lib/openat.c (EXPECTED_ERRNO): New macro.
76008         (openat_permissive): New function -- used in remove.c rewrite.
76009         (all functions): Set errno just before returning, only if there
76010         was an actual failure.
76011         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
76012
76013         Emulate openat-family functions using Linux's procfs, if possible.
76014         Idea and some code based on Ulrich Drepper's glibc changes.
76015
76016         * lib/openat.c: (BUILD_PROC_NAME): New macro.
76017         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
76018         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
76019         before falling back on save_cwd and restore_cwd.
76020         (fdopendir, fstatat, unlinkat): Likewise.
76021
76022         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
76023         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
76024
76025         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
76026         as second argument to va_arg.  Otherwise, some versions of gcc
76027         warn that `if this code is reached, the program will abort'.
76028
76029 2006-01-09  Jim Meyering  <jim@meyering.net>
76030
76031         Sync from coreutils.
76032         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
76033         Require openat-priv.h.
76034
76035 2006-01-09  Bruno Haible  <bruno@clisp.org>
76036
76037         * modules/strnlen (Include): Use strnlen.h.
76038
76039 2006-01-09  Bruno Haible  <bruno@clisp.org>
76040
76041         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
76042
76043 2006-01-09  Bruno Haible  <bruno@clisp.org>
76044
76045         * lib/sysexit_.h (EX_OK): New macro.
76046         Suggested by Martin Lambers <marlam@marlam.de>.
76047
76048 2006-01-09  Bruno Haible  <bruno@clisp.org>
76049
76050         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
76051         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
76052
76053 2006-01-09  Bruno Haible  <bruno@clisp.org>
76054
76055         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
76056         numbers.
76057
76058 2006-01-09  Bruno Haible  <bruno@clisp.org>
76059
76060         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
76061         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
76062         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
76063         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
76064
76065 2006-01-09  Bruno Haible  <bruno@clisp.org>
76066
76067         * build-aux/javacomp.sh.in: New file, moved from lib/.
76068         * modules/javacomp-script (Files): Update.
76069         (configure.ac): Add AC_CONFIG_FILES invocation.
76070         (EXTRA_DIST): Remove variable.
76071
76072         * build-aux/javaexec.sh.in: New file, moved from lib/.
76073         * modules/javaexec (Files): Update.
76074         (configure.ac): Add AC_CONFIG_FILES invocation.
76075         (EXTRA_DIST): Remove javaexec.sh.in.
76076
76077         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
76078         * modules/csharpcomp-script (Files): Update.
76079         (configure.ac): Add AC_CONFIG_FILES invocation.
76080         (EXTRA_DIST): Remove variable.
76081
76082         * build-aux/csharpexec.sh.in: New file, moved from lib/.
76083         * modules/csharpexec (Files): Update.
76084         (configure.ac): Add AC_CONFIG_FILES invocation.
76085         (EXTRA_DIST): Remove csharpexec.sh.in.
76086
76087 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76088
76089         Sync from coreutils.
76090
76091         Add POSIX ACL support
76092         * lib/acl.h (copy_acl, set_acl): Add declarations.
76093         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
76094         systems other than Linux.
76095         (chmod_or_fchmod): New function: use fchmod when possible,
76096         and chmod otherwise.
76097         (file_has_acl): Add a POSIX ACL implementation, with a
76098         Linux-specific subcase.
76099         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
76100         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
76101         acls are unsupported.
76102         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
76103         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
76104         are unsupported.
76105
76106 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76107
76108         Sync from coreutils.
76109         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
76110
76111 2006-01-07  Bruno Haible  <bruno@clisp.org>
76112
76113         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
76114         gl_EARLY.
76115
76116 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76117
76118         * lib/strftime.c (tzname): Don't declare if it is already #defined.
76119         Problem reported for Mingw by Mark Junker.
76120
76121 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76122
76123         * README: Gnulib normally doesn't generate a tarball.
76124
76125 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
76126
76127         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
76128         long int, not int, for nanosecond counts, so that people who are
76129         used to POSIX struct timespec won't be surprised.  Reported by Jim
76130         Meyering.
76131
76132 2005-12-28  Bruno Haible  <bruno@clisp.org>
76133
76134         * build-aux/config.rpath: Update from GNU gettext.
76135
76136 2005-12-16  Jim Meyering  <jim@meyering.net>
76137
76138         * modules/fprintftime: New module.
76139         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
76140
76141 2005-12-16  Jim Meyering  <jim@meyering.net>
76142
76143         * m4/fprintftime.m4: New file.
76144
76145 2005-12-16  Jim Meyering  <jim@meyering.net>
76146
76147         * lib/fprintftime.c, lib/fprintftime.h: New files.
76148
76149 2005-12-15  Simon Josefsson  <jas@extundo.com>
76150
76151         * modules/socklen (configure.ac): Fix M4 macro name, to align with
76152         new m4/socklen.m4.
76153
76154 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76155
76156         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
76157         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
76158
76159 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76160
76161         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
76162         * lib/argp-help.c (fill_in_uparams): Check if the constructed
76163         struct uparams is valid. Fall back to the default values if it is
76164         not.
76165
76166 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76167
76168         * modules/argp (Files): Add argp-pin.c
76169         (Depends-on): dirname
76170         (lib_SOURCES): Add argp-pin.c
76171
76172 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76173
76174         * m4/argp.m4:  Check if program_invocation_name and
76175         program_invocation_short_name are declared and define appropriate
76176         macros if they are not.
76177
76178 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76179
76180         * lib/argp-help.c (__argp_base_name): New function
76181         (__argp_short_program_name): Rewrite using __argp_base_name
76182         * lib/argp-namefrob.h: Define program_invocation_name and
76183         program_invocation_short_name if requested
76184         (__argp_base_name): Add prototype
76185         * lib/argp-parse.c (argp_def): Use gettext wrappers
76186         (argp_default_parser): Use __argp_base_name
76187         * lib/argp-pin.c: New file. Defines program_invocation_name and
76188         program_invocation_short_name on systems that lack them.
76189
76190 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76191
76192         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
76193         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76194         porting problem reported by Georg Schwarz in
76195         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76196
76197 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76198
76199         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
76200         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76201         porting problem reported by Georg Schwarz in
76202         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76203
76204 2005-12-05  Bruno Haible  <bruno@clisp.org>
76205
76206         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
76207         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
76208         Reported by Mark Junker <mjscod@gmx.de>.
76209
76210 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
76211
76212         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
76213         Use implementation from Albert Chin, with some
76214         comments/corrections by Stepan Kasal and myself.
76215
76216 2005-12-02  Bruno Haible  <bruno@clisp.org>
76217
76218         * gnulib-tool (func_import): Accept GPLed build tool modules when
76219         --lgpl is given.
76220         * modules/csharpcomp-script: New file.
76221         * modules/csharpcomp: Depend on it.
76222         * modules/javacomp-script: New file.
76223         * modules/javacomp: Depend on it.
76224         Suggested by Simon Josefsson.
76225
76226 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
76227
76228         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
76229         statement, to work around an HP-UX 10.20 compiler bug reported by
76230         Peter O'Gorman.
76231
76232 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76233
76234         * modules/savedir (Depends-on): Add openat.
76235
76236 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76237
76238         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
76239         (uintmax_t) [defined uintmax_t]: Do not declare.
76240         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
76241         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
76242         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
76243         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
76244         sake of portability to weird hosts that C allows (though we don't
76245         know of any practical examples).
76246
76247         * lib/savedir.h (fdsavedir): New decl.
76248         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
76249         contains most of the former guts of savedir.
76250         (savedir): Use savedirstream.
76251         Include "openat.h".
76252
76253 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76254
76255         * modules/obstack (Files): Add m4/ulonglong.m4.
76256         Problem reported by Davide Angelocola.
76257
76258 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
76259
76260         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
76261         coreutils no longer futzes with rounding modes.
76262
76263 2005-11-14  Jim Meyering  <jim@meyering.net>
76264
76265         * lib/mkstemp-safer.c: Include <config.h>, required for possible
76266         replacement of mkstemp.
76267
76268 2005-11-10  Simon Josefsson  <jas@extundo.com>
76269
76270         * lib/readline.c: Remove EOL.
76271
76272 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76273
76274         * modules/gethrxtime (Depends-on): Add gettime.
76275
76276 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76277
76278         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
76279         or gettimeofday; no longer needed.
76280
76281 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76282
76283         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
76284         time business.
76285         (gethrxtime) [! (HAVE_NANOUPTIME
76286         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
76287         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
76288         our own approximation.
76289
76290 2005-11-08  Eric Blake  <ebb9@byu.net>
76291
76292         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76293
76294 2005-11-08  Eric Blake  <ebb9@byu.net>
76295
76296         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76297
76298 2005-11-04  Bruno Haible  <bruno@clisp.org>
76299
76300         * gnulib-tool: Implement --update mode.
76301
76302 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76303
76304         Fix porting problem reported by Theodoros V. Kalamatianos.
76305         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
76306         Don't assume that futimes failing means we must fail.
76307
76308 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76309
76310         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
76311         variables to suggest the intended function of the PATH_MAX check.
76312
76313 2005-10-30  Kean Johnston  <jkj@sco.com>
76314
76315         Trivial changes to support SCO systems.
76316         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
76317         as PATH_MAX.
76318         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
76319         where __ptr is null when no I/O is pending.
76320
76321 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76322
76323         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
76324         leave errno alone.  Problem reported by Dmitry V. Levin.
76325
76326 2005-10-28  Simon Josefsson  <jas@extundo.com>
76327
76328         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
76329         Test more.
76330
76331         * tests/test-gc-md2.c, tests/test-md2.c: New files.
76332
76333         * modules/md2, modules/md2-tests: New files.
76334
76335 2005-10-28  Simon Josefsson  <jas@extundo.com>
76336
76337         * m4/inet_ntop.m4: More tests.
76338
76339         * m4/gc-md2.m4, md2.m4: New file.
76340
76341 2005-10-28  Simon Josefsson  <jas@extundo.com>
76342
76343         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
76344         "restrict" keywords, as per POSIX.  Protect the function
76345         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
76346         Don't use K&R prototypes.  Check the sprintf return values.
76347         Re-define EAFNOSUPPORT if not present.  Indent.
76348
76349         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
76350         suggested by Bruno Haible <bruno@clisp.org>.
76351
76352         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
76353
76354         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
76355
76356         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
76357         libgcrypt).
76358
76359         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
76360
76361         * lib/md2.h, lib/md2.c: New files.
76362
76363 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
76364
76365         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
76366         errno alone.  Problem reported by Frederic Jolliton.
76367
76368 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76369
76370         * modules/verify (License): Change from GPL to LGPL.  This is a
76371         tiny module and there are apparently near-equivalents that are
76372         under the BSD license.
76373
76374 2005-10-24  Simon Josefsson  <jas@extundo.com>
76375
76376         * modules/sha1: Relicense to LGPL.
76377
76378 2005-10-24  Simon Josefsson  <jas@extundo.com>
76379
76380         * lib/md4.h: Shrink buffer size, now that we changed the type.
76381
76382 2005-10-23  Simon Josefsson  <jas@extundo.com>
76383
76384         * gnulib-tool (func_import): Fix --tests-base.
76385
76386 2005-10-22  Simon Josefsson  <jas@extundo.com>
76387
76388         * modules/arcfour (Depends-on): Need stdint.
76389
76390 2005-10-22  Simon Josefsson  <jas@extundo.com>
76391
76392         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
76393         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
76394
76395 2005-10-22  Simon Josefsson  <jas@extundo.com>
76396
76397         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
76398         suggested by Bruno Haible <bruno@clisp.org>.
76399
76400 2005-10-22  Simon Josefsson  <jas@extundo.com>
76401
76402         * lib/crc.h: Include stddef.h, for size_t.
76403
76404 2005-10-22  Simon Josefsson  <jas@extundo.com>
76405
76406         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
76407         arcfour_context struct (simplify test vector testing in GNU
76408         Shishi).
76409
76410 2005-10-21  Simon Josefsson  <jas@extundo.com>
76411
76412         * modules/des, modules/des-tests: New files.
76413
76414         * modules/gc-des, modules/gc-des-tests: New files.
76415
76416         * tests/test-des.c, tests/test-gc-des.c: New file.
76417
76418 2005-10-21  Simon Josefsson  <jas@extundo.com>
76419
76420         * modules/arctwo, modules/arctwo-tests: New files.
76421
76422         * tests/test-arctwo.c: New file.
76423
76424         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
76425
76426         * tests/test-gc-arctwo.c: New file.
76427
76428 2005-10-21  Simon Josefsson  <jas@extundo.com>
76429
76430         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
76431         Bruno Haible <bruno@clisp.org>.
76432
76433         * m4/gc-des.m4: New file.
76434
76435 2005-10-21  Simon Josefsson  <jas@extundo.com>
76436
76437         * m4/arctwo.m4: New file.
76438
76439         * m4/gc-arctwo.m4: New file.
76440
76441 2005-10-21  Simon Josefsson  <jas@extundo.com>
76442
76443         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
76444         block.
76445
76446 2005-10-21  Simon Josefsson  <jas@extundo.com>
76447
76448         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
76449         <bruno@clisp.org>.
76450
76451         * lib/hmac-sha1.c (hmac_sha1): Likewise.
76452
76453         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
76454         Bruno Haible <bruno@clisp.org>.
76455
76456         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
76457         <bruno@clisp.org>.
76458
76459 2005-10-21  Simon Josefsson  <jas@extundo.com>
76460
76461         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
76462
76463 2005-10-21  Simon Josefsson  <jas@extundo.com>
76464
76465         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
76466
76467 2005-10-21  Simon Josefsson  <jas@extundo.com>
76468
76469         * lib/des.h, lib/des.c: New files.
76470
76471         * lib/gc-gnulib.c: Support DES.c
76472
76473 2005-10-21  Simon Josefsson  <jas@extundo.com>
76474
76475         * lib/arctwo.h, lib/arctwo.c: New files.
76476
76477         * lib/gc-gnulib.c: Support ARCTWO.
76478
76479 2005-10-21  Simon Josefsson  <jas@extundo.com>
76480
76481         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
76482         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76483
76484 2005-10-21  Simon Josefsson  <jas@extundo.com>
76485
76486         * gnulib-tool (func_import, func_create_testdir): Define automake
76487         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
76488         Makefile.am snippet),
76489         suggested by Bruno Haible <bruno@clisp.org>.
76490
76491         * modules/gc (Makefile.am): Use it.
76492
76493 2005-10-21  Bruno Haible  <bruno@clisp.org>
76494
76495         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
76496         patch.
76497
76498 2005-10-19  Simon Josefsson  <jas@extundo.com>
76499
76500         * tests/test-gc-rijndael.c: New file.
76501
76502         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
76503
76504 2005-10-19  Simon Josefsson  <jas@extundo.com>
76505
76506         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
76507         interface too.
76508
76509 2005-10-19  Simon Josefsson  <jas@extundo.com>
76510
76511         * tests/test-gc-arcfour.c: New file.
76512
76513         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
76514
76515 2005-10-19  Simon Josefsson  <jas@extundo.com>
76516
76517         * modules/gc-md4, modules/gc-md4-tests: New file.
76518
76519         * tests/test-gc-md4.c: New file.
76520
76521 2005-10-19  Simon Josefsson  <jas@extundo.com>
76522
76523         * m4/gc-md4.m4: New file.
76524
76525 2005-10-19  Simon Josefsson  <jas@extundo.com>
76526
76527         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
76528         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
76529         <kasal@ucw.cz>.
76530
76531 2005-10-19  Simon Josefsson  <jas@extundo.com>
76532
76533         * m4/gc-arcfour.m4: New file.
76534
76535         * m4/gc-rijndael.m4: New file.
76536
76537 2005-10-19  Simon Josefsson  <jas@extundo.com>
76538
76539         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
76540
76541 2005-10-19  Simon Josefsson  <jas@extundo.com>
76542
76543         * lib/gc-gnulib.c: Support ARCFOUR.
76544
76545 2005-10-19  Simon Josefsson  <jas@extundo.com>
76546
76547         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
76548         support.
76549
76550         * lib/gc.h: Add ECB enum type.
76551
76552         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
76553
76554 2005-10-18  Simon Josefsson  <jas@extundo.com>
76555
76556         * tests/test-md5.c: New file.
76557
76558         * modules/md5-tests: New file.
76559
76560 2005-10-18  Simon Josefsson  <jas@extundo.com>
76561
76562         * tests/test-md4.c: New file.
76563
76564         * modules/md4, modules/md4-tests: New files.
76565
76566 2005-10-18  Simon Josefsson  <jas@extundo.com>
76567
76568         * m4/md4.m4: New file.
76569
76570 2005-10-18  Simon Josefsson  <jas@extundo.com>
76571
76572         * lib/md4.h, lib/md4.c: New files, based on md5.?.
76573
76574 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
76575
76576         * gnulib-tool (func_create_testdir): Omit the second check whether
76577         BUILT_SOURCES in nonempty.
76578
76579 2005-10-17  Simon Josefsson  <jas@extundo.com>
76580
76581         * tests/test-rijndael.c: New file.
76582
76583 2005-10-17  Simon Josefsson  <jas@extundo.com>
76584
76585         * modules/sha1: Depend on stdint instead of md5.
76586
76587         * modules/md5: Depend on stdint, remove uint32_t.
76588
76589 2005-10-17  Simon Josefsson  <jas@extundo.com>
76590
76591         * modules/gc-sha1-tests: New file.
76592
76593         * tests/test-gc-sha1.c: New file.
76594
76595 2005-10-17  Simon Josefsson  <jas@extundo.com>
76596
76597         * m4/md5.m4: Remove call to uint32_t.m4.
76598
76599 2005-10-17  Simon Josefsson  <jas@extundo.com>
76600
76601         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
76602
76603         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
76604         md5.h.
76605
76606         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
76607
76608         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
76609
76610 2005-10-17  Simon Josefsson  <jas@extundo.com>
76611
76612         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
76613
76614 2005-10-17  Simon Josefsson  <jas@extundo.com>
76615
76616         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
76617
76618 2005-10-17  Simon Josefsson  <jas@extundo.com>
76619
76620         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
76621
76622         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
76623
76624 2005-10-17  Bruno Haible  <bruno@clisp.org>
76625
76626         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
76627         that it can also be used in a test.
76628
76629 2005-10-16  Bruno Haible  <bruno@clisp.org>
76630
76631         * gnulib-tool (func_emit_tests_Makefile_am): Also define
76632         TESTS_ENVIRONMENT, so that individual tests can augment it.
76633
76634         * gnulib-tool (func_create_testdir): Use an intermediate target for
76635         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
76636         macros, like $(ALLOCA_H), which cannot be passed through the command
76637         line.
76638
76639 2005-10-15  Simon Josefsson  <jas@extundo.com>
76640
76641         * modules/rijndael-tests: New file.
76642
76643         * modules/rijndael: New file.
76644
76645 2005-10-15  Simon Josefsson  <jas@extundo.com>
76646
76647         * m4/rijndael.m4: New file.
76648
76649 2005-10-15  Simon Josefsson  <jas@extundo.com>
76650
76651         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
76652
76653         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
76654
76655 2005-10-14  Simon Josefsson  <jas@extundo.com>
76656
76657         * tests/test-arcfour.c: New file.
76658
76659         * modules/arcfour, modules/arcfour-tests: New files.
76660
76661 2005-10-14  Simon Josefsson  <jas@extundo.com>
76662
76663         * m4/arcfour.m4: New file.
76664
76665 2005-10-14  Simon Josefsson  <jas@extundo.com>
76666
76667         * lib/arcfour.h, lib/arcfour.c: New files.
76668
76669 2005-10-14  Roland McGrath  <roland@redhat.com>
76670
76671         Import from libc.  [BZ #1331]
76672         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
76673         macro argument.
76674         Reported by Matej Vela <vela@debian.org>.
76675
76676 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76677
76678         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
76679         include <wchar.h>; no longer needed.
76680
76681 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76682
76683         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
76684
76685 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
76686         and  Ulrich Drepper  <drepper@redhat.com>
76687
76688         Import from libc.
76689         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
76690         instead of inline stream orientation test and two separate
76691         function calls.  Pay no attention to USE_IN_LIBIO.
76692
76693 2005-10-13  Simon Josefsson  <jas@extundo.com>
76694
76695         * modules/gc-hmac-md5-tests: New file.
76696
76697         * tests/test-gc-hmac-sha1.c: New file.
76698
76699         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
76700
76701         * modules/gc-hmac-md5-tests: New file.
76702
76703         * tests/test-gc-md5.c: New file.
76704
76705         * modules/gc-md5-tests: New file.
76706
76707 2005-10-13  Simon Josefsson  <jas@extundo.com>
76708
76709         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
76710         Move memory allocation outside of loop.
76711
76712 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
76713
76714         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
76715         intermediate directory is in a read-only file system.  Problem
76716         reported by Eric Blake.
76717
76718 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
76719
76720         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
76721
76722 2005-10-12  Simon Josefsson  <jas@extundo.com>
76723
76724         * tests/test-hmac-sha1.c: New file.
76725
76726         * modules/hmac-sha1-tests: New file.
76727
76728         * modules/hmac-sha1: New file.
76729
76730 2005-10-12  Simon Josefsson  <jas@extundo.com>
76731
76732         * modules/gc-sha1: New file.
76733
76734 2005-10-12  Simon Josefsson  <jas@extundo.com>
76735
76736         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
76737
76738         * tests/test-gc-pbkdf2-sha1.c: New file.
76739
76740 2005-10-12  Simon Josefsson  <jas@extundo.com>
76741
76742         * modules/gc-md5, modules/gc-hmac-md5: New files.
76743
76744         * modules/gc (Files): Remove md5, memxor and hmac files.
76745
76746 2005-10-12  Simon Josefsson  <jas@extundo.com>
76747
76748         * m4/gc-pbkdf2-sha1.m4: New file.
76749
76750         * m4/gc-hmac-sha1.m4: New file.
76751
76752         * m4/gc-sha1: New file.
76753
76754         * m4/hmac-sha1.m4: New file.
76755
76756 2005-10-12  Simon Josefsson  <jas@extundo.com>
76757
76758         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
76759
76760         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
76761
76762 2005-10-12  Simon Josefsson  <jas@extundo.com>
76763
76764         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
76765         suggested by Bruno Haible <bruno@clisp.org>.
76766
76767 2005-10-12  Simon Josefsson  <jas@extundo.com>
76768
76769         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
76770
76771 2005-10-12  Simon Josefsson  <jas@extundo.com>
76772
76773         * lib/gc-pbkdf2-sha1.c: New file.
76774
76775         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
76776
76777 2005-10-12  Simon Josefsson  <jas@extundo.com>
76778
76779         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
76780
76781         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
76782
76783 2005-10-12  Simon Josefsson  <jas@extundo.com>
76784
76785         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
76786         GC_USE_HMAC_MD5, respectively.
76787
76788         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
76789         (gc_md5): Fix typo.
76790
76791         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
76792
76793         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
76794
76795         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
76796
76797 2005-10-12  Bruno Haible  <bruno@clisp.org>
76798
76799         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
76800         Reported by Stepan Kasal <kasal@ucw.cz>.
76801
76802 2005-10-11  Simon Josefsson  <jas@extundo.com>
76803
76804         * tests/test-crc.c: New file.
76805
76806         * modules/crc, modules/crc-tests: New files.
76807
76808 2005-10-11  Simon Josefsson  <jas@extundo.com>
76809
76810         * m4/crc.m4: New file.
76811
76812 2005-10-11  Simon Josefsson  <jas@extundo.com>
76813
76814         * lib/gc.h: Add gc_hash and gc_hash_buffer.
76815
76816         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
76817
76818         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
76819
76820 2005-10-11  Simon Josefsson  <jas@extundo.com>
76821
76822         * lib/crc.h, lib/crc.c: New files.
76823
76824         * lib/gc.h (gc_hash_buffer): Add doc.
76825
76826 2005-10-11  Bruno Haible  <bruno@clisp.org>
76827
76828         * modules/c-strcasestr: New file.
76829         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
76830
76831 2005-10-11  Bruno Haible  <bruno@clisp.org>
76832
76833         * modules/c-strcase: New file.
76834         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
76835
76836 2005-10-11  Bruno Haible  <bruno@clisp.org>
76837
76838         * lib/strcasecmp.c: Include limits.h.
76839         (strcasecmp): Avoid integer overflow on exotic platforms.
76840         * lib/strncasecmp.c: Include limits.h.
76841         (strncasecmp): Avoid integer overflow on exotic platforms.
76842         Reported by Paul Eggert.
76843
76844 2005-10-11  Bruno Haible  <bruno@clisp.org>
76845
76846         * lib/c-strcasestr.h: New file, from GNU gettext.
76847         * lib/c-strcasestr.c: New file, from GNU gettext.
76848
76849 2005-10-11  Bruno Haible  <bruno@clisp.org>
76850
76851         * lib/c-strcase.h: New file, from GNU gettext.
76852         * lib/c-strcasecmp.c: New file, from GNU gettext.
76853         * lib/c-strncasecmp.c: New file, from GNU gettext.
76854
76855 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76856
76857         * modules/mempcpy (License): GPL -> LGPL.
76858         * modules/strchrnul (License): Likewise.
76859         * modules/sysexits (License): Likewise.
76860
76861 2005-10-08  Simon Josefsson  <jas@extundo.com>
76862
76863         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
76864
76865 2005-10-07  Simon Josefsson  <jas@extundo.com>
76866
76867         * m4/memxor.m4: Remove gl_C_RESTRICT call.
76868
76869 2005-10-06  Simon Josefsson  <jas@extundo.com>
76870
76871         * tests/test-hmac-md5.c: New file.
76872
76873         * modules/hmac-md5-tests: New file.
76874
76875         * modules/hmac-md5: New file.
76876
76877 2005-10-06  Simon Josefsson  <jas@extundo.com>
76878
76879         * m4/hmac-md5.m4: New file.
76880
76881         * m4/memxor.m4: Require gl_C_RESTRICT.
76882
76883 2005-10-06  Simon Josefsson  <jas@extundo.com>
76884
76885         * lib/memxor.c (memxor): Avoid casts and warnings.
76886
76887 2005-10-06  Simon Josefsson  <jas@extundo.com>
76888
76889         * lib/hmac-md5.c: New file.
76890
76891         * lib/hmac.h: New file.
76892
76893 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76894
76895         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
76896         promotes to int, not unsigned int, to catch the AIX 5.3
76897         compiler bug.
76898
76899 2005-10-05  Simon Josefsson  <jas@extundo.com>
76900
76901         * modules/memxor: New file.
76902
76903         * modules/iconv (Files): Move config.rpath to havelib, it is used
76904         there.
76905
76906         * modules/havelib (Files): Add config.rpath.
76907
76908 2005-10-05  Simon Josefsson  <jas@extundo.com>
76909
76910         * m4/memxor.m4: New file.
76911
76912 2005-10-05  Simon Josefsson  <jas@extundo.com>
76913
76914         * lib/memxor.c (memxor): Fix compiler error.
76915
76916         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
76917         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
76918
76919         * lib/memxor.h, lib/memxor.c: New files.
76920
76921         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
76922         we assume all systems have it, suggested by Jim Meyering
76923         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
76924         any systems lack sys/socket.h; mingw32 is known to lack it, but we
76925         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
76926         same reasons.
76927
76928 2005-10-05  Simon Josefsson  <jas@extundo.com>
76929
76930         * config/srclist.txt: Add glibc bug 1423 for md5.h.
76931
76932 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76933
76934         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
76935         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
76936         needed, since the source code now assumes these .h files.
76937
76938 2005-10-05  Derek Price  <derek@ximbiot.com>
76939
76940         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
76941
76942 2005-10-05  Bruno Haible  <bruno@clisp.org>
76943
76944         * modules/stdint (License): Change to LGPL.
76945
76946 2005-10-04  Simon Josefsson  <jas@extundo.com>
76947
76948         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
76949         D. Baushke" <mdb@gnu.org>.
76950
76951 2005-10-04  Bruno Haible  <bruno@clisp.org>
76952
76953         * lib/verify.h (verify_true): Provide alternative definition for C++.
76954
76955 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
76956
76957         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
76958         (SSIZE_MAX): New macro, if not already defined.
76959         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
76960         than 2 GiB.
76961
76962 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76963
76964         Sync from coreutils.
76965         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
76966         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
76967         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
76968         ULLONG_MAX doesn't work with 2.7.2.1.
76969
76970 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76971
76972         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
76973         From Ben Pfaff.
76974
76975         * modules/exclude (Depends-on): Depend on verify.
76976         * modules/strtoimax (Depends-on): Likewise.
76977         * modules/utimecmp (Depends-on): Likewise.
76978
76979 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76980
76981         * lib/exclude.c: Include verify.h.
76982         (verify): Remove.  All callers changed to use verify.h's version.
76983         * lib/strtoimax.c: Likewise.
76984         * lib/utimecmp.c: Likewis.e
76985
76986         Sync from coreutils.
76987         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
76988         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
76989         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
76990         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
76991         bother returning ENOSYS if settimeofday or stime fails; just let
76992         them return whatever errno they want to return.
76993         * lib/utimens.c: Include unistd.h, for dup2.
76994         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
76995         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
76996
76997 2005-10-02  Jim Meyering  <jim@meyering.net>
76998
76999         Sync from coreutils.
77000         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
77001         from glibc-2.2.5 that fails for read-only files.
77002
77003 2005-10-02  Jim Meyering  <jim@meyering.net>
77004
77005         Sync from coreutils.
77006         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
77007         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
77008         `#if HAVE_CONFIG_H'.
77009         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
77010         Remove AT_FDCWD test.
77011         Do not consume the fd unless successful.
77012         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
77013         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
77014         block, so that we don't even try to compile it if settimeofday is
77015         available.  This works around a compilation failure on OSF1 V5.1,
77016         due to stime requiring a `long int*' while tv_sec is `int'.
77017
77018 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
77019
77020         Sync from coreutils.
77021         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
77022         against `yes', rather than just testing for nonempty.
77023
77024 2005-10-01  Simon Josefsson  <jas@extundo.com>
77025
77026         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
77027         and Darwin.
77028
77029         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
77030         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
77031         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
77032         freeaddrinfo and gai_strerror are declared by the POSIX headers.
77033         Check if struct addrinfo is declared.
77034
77035 2005-10-01  Simon Josefsson  <jas@extundo.com>
77036
77037         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
77038         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
77039         AI_* and EAI_* definitions.  Protect function declarations.
77040
77041 2005-10-01  Jim Meyering  <jim@meyering.net>
77042
77043         Sync from coreutils.
77044
77045         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
77046         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
77047         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
77048         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77049         in the inet and nsl libraries.  Required on Solaris 5.7.
77050
77051 2005-10-01  Jim Meyering  <jim@meyering.net>
77052
77053         Sync from coreutils.
77054         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77055         in the inet and nsl libraries.  Required on Solaris 5.7.
77056
77057 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
77058
77059         * lib/getdelim.c (getdelim): Remove unused variables.
77060
77061 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77062
77063         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
77064         so that the code works even with ancient cpp.  Portability problem
77065         with GCC 2.7.2.1 reported by Thomas M.Ott.
77066
77067 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77068
77069         * modules/regex (Depends-on): Add strcase.
77070
77071         * modules/gethostname (Licence): Change from GPL to LGPL, since
77072         gethostname.c is a trivial implementation of a standard library
77073         function.
77074         * modules/poll (License): Change from GPL to LGPL, since it's
77075         derived from LGPL code.
77076
77077 2005-09-27  Jim Meyering  <jim@meyering.net>
77078
77079         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
77080         HAVE_CONFIG_H.
77081
77082         * lib/intprops.h (signed_type_or_expr__): Define.
77083         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
77084         for unsigned types.
77085
77086 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77087
77088         * lib/verify.h (verify_expr): Remove, replacing with:
77089         (verify_true): New macro that returns true instead of void.
77090         (verify_type__): Remove.
77091         (verify): Use verify_true rather than verify_type__.
77092
77093 2005-09-26  Bruno Haible  <bruno@clisp.org>
77094
77095         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
77096         is necessary.
77097         (lib_SOURCES): Remove mbchar.c.
77098         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
77099         (Files): Add m4/mbrtowc.m4.
77100         * modules/mbiter: Likewise.
77101         * modules/mbuiter: Likewise.
77102
77103 2005-09-26  Bruno Haible  <bruno@clisp.org>
77104
77105         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
77106         compile mbchar.c if they are not both present.
77107         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
77108         * m4/mbiter.m4 (gl_MBITER): Likewise.
77109         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
77110         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
77111         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
77112
77113 2005-09-25  Jim Meyering  <jim@meyering.net>
77114
77115         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
77116         also uses socklen_t.
77117
77118 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
77119
77120         * lib/utimens.c (ENOSYS): Define if not already defined.
77121         (futimens): Support having a null PATH if the file descriptor
77122         is nonnegative.
77123
77124         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
77125         Remove.
77126         (__attribute): Define to empty unless GCC 3.1 or later.
77127         This works around a core dump on OpenBSD 3.4, which has GCC
77128         2.95.3, which dumps core when given __attribute__(()).  It also
77129         simplifies other tests, since we really don't want to bother with
77130         worrying about which ancient version of GCC supported what.
77131         Original problem reported by Yoann Vandoorselaere, with part of
77132         the fix suggested by Derek Price.
77133
77134 2005-09-24  Jim Meyering  <jim@meyering.net>
77135
77136         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
77137         so we can once again use a positive bitfield width of 1 -- now we
77138         don't have to explain why we were using a bitfield width of 2.
77139
77140 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77141
77142         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
77143         and similarly for the other external symbols.  Problem reported
77144         by James Gallager.
77145
77146         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
77147         bug reported by Jim Meyering.
77148
77149         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
77150         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
77151         not needed, since socklen is a prerequisite module.
77152
77153 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77154
77155         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
77156         Problem reported by Eric Blake.
77157         (getaddrinfo): Initialize se so that it's not garbage.
77158         Redo internal storage allocation so that it doesn't make unportable
77159         assumptions about alignment.
77160         Fix a memory leak.
77161
77162         * lib/utimens.c (futimens): Use futimesat if available.
77163         Prefer it to futimes since it doesn't have the futimes bug.
77164
77165         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
77166         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
77167         Instead, declare a function that returns a pointer to an array,
77168         and use verify_type__ to declare the size of the array.
77169         Problem and germ of a solution reported by Bruno Haible.
77170         (verify_type__): Use 2, not 1, for bitfield size, to avoid
77171         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
77172
77173 2005-09-23  Jim Meyering  <jim@meyering.net>
77174
77175         Sync from coreutils.
77176         Correct build failure (socklen_t not defined) on at least
77177         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
77178         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
77179
77180 2005-09-23  Jim Meyering  <jim@meyering.net>
77181
77182         * modules/getaddrinfo (Depends-on): Add socklen.
77183
77184 2005-09-23  Bruno Haible  <bruno@clisp.org>
77185
77186         * tests/test-verify.c: New file.
77187
77188 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77189
77190         Sync from coreutils.
77191
77192         * modules/argmatch (Depends-on): Add verify.
77193         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
77194         unistd-safer.
77195         * modules/save-cwd (Depends-on): Likewise.
77196
77197         * modules/openat (Files): Add lib/openat-die.c.
77198         (Depends-on): Remove error, exitfail.
77199         Add dirname.
77200
77201         * modules/verify: New file.
77202         * MODULES.html.sh (Diagnostics <assert.h>): New section,
77203         with "verify" module.
77204
77205 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77206
77207         Sync from coreutils.
77208
77209         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
77210         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
77211         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
77212         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
77213         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
77214         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
77215         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
77216         Don't bother checking for string.h, stdlib.h, unistd.h.
77217         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
77218         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
77219         module's job.
77220         * m4/jm-macros.m4 (gl_MACROS): Likewise.
77221         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
77222
77223         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
77224         (gl_GETDATE): Use it.
77225
77226         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
77227
77228 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77229
77230         Sync from coreutils.
77231
77232         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
77233         stat-time.h.
77234         * lib/argmatch.h: Include verify.h
77235         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
77236         (ARGMATCH_ASSERT): Remove; unused.
77237         * lib/canonicalize.c: Assume STDC_HEADERS.
77238         * lib/exclude.c: Include "strcase.h".
77239         * lib/regex_internal.h [!defined _LIBC]: Likewise.
77240         * lib/getusershell.c: Include stdio--.h rather than stdio.h
77241         and stdio-safer.h.
77242         (getusershell): Call fopen, not fopen_safer.
77243         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
77244         Do not include unistd-safer.h.
77245         (save_cwd): Don't call fd_safer; no longer needed
77246         now that we include fcntl--.h.
77247
77248         * lib/getdate.y (relative_time): New type.
77249         (RELATIVE_TIME_0): New constant.
77250         (parser_control): Use relative_time instead of doing it ourselves.
77251         (%union): Add new relative_time rel member.
77252         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
77253         Now typeless.
77254         (relunit, relunit_snumber): Now of type rel.
77255         (zone, rel, relunit, get_date): Adjust to above changes.
77256
77257         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
77258         Do not include unistd-safer.h.
77259         (getloadavg): Don't call fd_safer; no longer needed
77260         now that we include fcntl--.h.
77261
77262         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
77263         (make_dir_parents): Treat ENOSYS like EEXIST.
77264
77265         Improve quality of diagnostics on restore_cwd failure.
77266         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
77267         (make_dir_parents): Last arg is now int * (for errno), not bool *.
77268         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
77269         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
77270         each time through the loop.  Do not diagnose restore_cwd failure;
77271         that is the caller's job (and perhaps the caller does not care).
77272
77273         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
77274         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
77275         If the file already exists but is not a directory, don't bother
77276         to try to make its parents.
77277         Close potential file descriptor leak if we can't chdir("/") (!).
77278         Don't always return true if chdir($PWD) fails; return true only
77279         if the requested action was done successfully (except for the
77280         chdir($PWD)).
77281         Don't log final directory unless we actually made it.
77282         Refactor to avoid duplicate code to fix up permissions.
77283         Don't attempt to fix up parent permissions if chdir($PWD) fails.
77284
77285         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
77286         to make it a bit faster and (I hope) clearer.
77287         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
77288         Fix bug in formats like %2N.
77289
77290         * lib/verify.h: New file.
77291
77292 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77293
77294         Sync from coreutils.
77295         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
77296
77297 2005-09-22  Jim Meyering  <jim@meyering.net>
77298
77299         Sync from coreutils.
77300
77301         * m4/lstat.m4 (gl_FUNC_LSTAT):
77302         Use AC_LIBSOURCES to require lstat.c and lstat.h.
77303         Remove obsolete comment.
77304         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
77305         * m4/xstrtod.m4: Likewise.
77306
77307         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
77308
77309 2005-09-22  Jim Meyering  <jim@meyering.net>
77310
77311         Sync from coreutils.
77312
77313         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
77314
77315         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
77316         the .tm_year member, since otherwise gcc-4.0 would now warn about
77317         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
77318
77319         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
77320         order to avoid an unsuppressible warning from gcc on 64-bit systems.
77321
77322         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
77323         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
77324         when run in a time zone for which daylight savings time is in effect
77325         for the starting date.
77326
77327         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
77328         stop us from restricting permissions of just-created absolute-named
77329         directories.
77330         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
77331         to restore initial working directory.
77332         * lib/mkdir-p.c (make_dir_parents): New parameter:
77333         different_working_dir, to tell caller if/when we change the working
77334         directory and are unable to return to the initial one.
77335         * lib/mkdir-p.h (make_dir_parents): Update prototype.
77336         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
77337         `return false'.  This fixes a bug introduced on 2004-07-30.
77338
77339         * lib/openat.c (fdopendir): Be sure to close the supplied
77340         file descriptor before returning.  This makes our replacement
77341         implementation a little closer to Solaris's, where fdopendir
77342         ties the file descriptor to the returned DIR* pointer.
77343         * lib/openat.c (unlinkat): New function.
77344         * lib/openat.h (unlinkat): Add prototype.
77345         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
77346         (openat_restore_fail): Rename from openat_restore_die.
77347         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
77348
77349         Provide an alternative to exiting immediately upon save_cwd or
77350         restore_cwd failure.  Now, an application can arrange e.g.,
77351         to perform a longjump in that case.
77352         * lib/openat.c: Include dirname.h.
77353         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
77354         (rpl_openat, fdopendir, fstatat): Call openat_save_die
77355         and openat_restore_die rather than calling error directly.
77356         Don't include "error.h" or "exitfail.h"; they're no longer needed.
77357
77358         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
77359         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
77360         define.
77361
77362         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
77363         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
77364                             int utc, int nanoseconds);
77365         Background:
77366         date should not have to allocate a megabyte of virtual memory to
77367         handle a format argument like +%1048575T.  When implemented with
77368         strftime, it must allocate such a buffer, use strftime to fill it
77369         in, print it, then free it.
77370         With fprintftime, it simply prints everything and exits.
77371         With no need for memory allocation, that's one fewer way to fail.
77372         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
77373         optional field width, not before, so we accept %9:z, not %:9z.
77374         (my_strftime): Be sure to use L_('x') for literals.
77375
77376         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
77377         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
77378         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
77379         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
77380         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
77381         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
77382         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
77383         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
77384         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
77385         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
77386         * lib/xgethostname.c, lib/xreadlink.c:
77387         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
77388
77389         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
77390         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
77391         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
77392         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77393         and don't include <sys/file.h>).
77394
77395 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
77396
77397         Sync from coreutils.
77398
77399         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
77400         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
77401         [!LDAV_DONE]: Avoid unused variable warning.
77402
77403 2005-09-21  Bruno Haible  <bruno@clisp.org>
77404
77405         * lib/unicodeio.h (unicode_to_mb): New declaration.
77406
77407 2005-09-20  Derek Price  <derek@ximbiot.com>
77408
77409         * lib/getaddrinfo.c: Don't include <netdb.h> included from
77410         getaddrinfo.h.
77411
77412 2005-09-20  Bruno Haible  <bruno@clisp.org>
77413
77414         * gnulib-tool: Remove trailing slashes from the values specified for
77415         --source-base, --m4-base, --tests-base, --aux-dir.
77416         Suggested by Simon Josefsson <jas@extundo.com>.
77417
77418 2005-09-20  Bruno Haible  <bruno@clisp.org>
77419
77420         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
77421         func_modules_to_filelist, func_import, func_create_testdir): Make all
77422         sorting results locale-independent, so that gnulib-cache.m4 doesn't
77423         change when gnulib-tool is invoked in a different locale.
77424
77425 2005-09-19  Simon Josefsson  <jas@extundo.com>
77426
77427         * m4/socklen.m4: Fix typo.
77428
77429 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77430
77431         Use a consistent style for including <config.h>.
77432         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
77433         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
77434         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
77435         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
77436         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
77437         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
77438         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
77439         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
77440         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
77441         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
77442         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
77443         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
77444         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
77445         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
77446         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
77447         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
77448         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
77449         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
77450         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
77451         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
77452         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
77453         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
77454         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
77455         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
77456         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
77457         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
77458         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
77459         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
77460         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
77461         lib/xstrtoumax.c, lib/yesno.c:
77462         Standardize inclusion of config.h.
77463         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
77464         lib/inttostr.h:  Removed inclusion of config.h from header files.
77465         * lib/inttostr.c:  Adjusted in-tree users.
77466         * lib/timespec.h: Remove superfluous warning to include config.h.
77467         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
77468         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
77469         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
77470         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
77471         config.h with HAVE_CONFIG_H.
77472
77473 2005-09-19  Jim Meyering  <jim@meyering.net>
77474
77475         * modules/pathmax (License): Change to LGPL.
77476
77477 2005-09-19  Derek Price  <derek@ximbiot.com>
77478
77479         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
77480
77481 2005-09-19  Bruno Haible  <bruno@clisp.org>
77482
77483         * gnulib-tool (import): Provide default for --tests-base.
77484
77485 2005-09-19  Bruno Haible  <bruno@clisp.org>
77486
77487         * doc/quote.texi: New file, extracted from gnulib.texi.
77488         * doc/ctime.texi: New file, extracted from gnulib.texi.
77489         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
77490         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
77491         * doc/gnulib.texi: Include them.
77492
77493 2005-09-18  Bruno Haible  <bruno@clisp.org>
77494
77495         Portability fix.
77496         * gnulib-tool (func_readlink): New function.
77497         (func_ln_if_changed): Use it.
77498
77499 2005-09-18  Bruno Haible  <bruno@clisp.org>
77500
77501         * gnulib-tool: Support --with-tests also with --import.
77502         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
77503         (func_import): Use variables $testsbase and $inctests. Emit a
77504         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
77505         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
77506         SUBDIRS += $testsdir.
77507         (func_create_testdir): Update.
77508
77509 2005-09-18  Bruno Haible  <bruno@clisp.org>
77510
77511         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
77512         instead of $dry_run.
77513         (func_cp_if_changed, func_mv_if_changed): Remove functions.
77514         (func_ln_if_changed): Don't handle dry-run here.
77515         (func_import): In dry-run mode, detect more precisely which actions
77516         would be performed, and don't use "...ing" verbs.
77517
77518 2005-09-18  Bruno Haible  <bruno@clisp.org>
77519
77520         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
77521         (func_import): Use join on two temporary files instead of three nested
77522         loops, in order to determine which files are new or old.
77523
77524 2005-09-18  Bruno Haible  <bruno@clisp.org>
77525
77526         * gnulib-tool (func_import): Comment out code that spits out the
77527         new files with --dry-run.
77528
77529 2005-09-18  Bruno Haible  <bruno@clisp.org>
77530
77531         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
77532
77533 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77534
77535         * lib/stat-time.h: New file.
77536         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
77537         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
77538         in a different way.
77539         (timespec_cmp): New function.
77540         * lib/utimecmp.c: Include stat-time.h.
77541         (SYSCALL_RESOLUTION): Depend on whether various struct stat
77542         members exist, not on the obsolescent ST_MTIM_NSEC.
77543         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
77544
77545 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77546
77547         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
77548
77549 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77550
77551         * MODULES.html.sh (File system functions): Add stat-time.
77552         * modules/stat-time: New file.
77553         * modules/timespec (Files): Remove m4/st_mtim.m4; this
77554         is now done in a different way, by the stat-time module.
77555         * modules/utimecmp (Depends-on): Add stat-time.
77556
77557 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77558
77559         * m4/st_mtim.m4: Remove.  Superseded by...
77560         * m4/stat-time.m4: New file.
77561         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
77562         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
77563
77564 2005-09-15  Derek Price  <derek@ximbiot.com>
77565
77566         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
77567
77568 2005-09-15  Derek Price  <derek@ximbiot.com>
77569
77570         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
77571         * lib/regex_internal.c: Ditto, using this...
77572         (__GNUC_PREREQ): ...new macro.
77573         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
77574         using...
77575         (__GNUC_PREREQ): ...this new macro.
77576
77577         * lib/strstr.h: Include string.h. Define strstr as a macro here.
77578
77579 2005-09-15  Derek Price  <derek@ximbiot.com>
77580             Paul Eggert  <eggert@cs.ucla.edu>
77581
77582         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
77583         changes, consolidating in...
77584         * lib/regex_internal.h: ...this file.
77585
77586 2005-09-13  Jim Meyering  <jim@meyering.net>
77587
77588         * lib/canon-host.c: Filter through gnu indent and reword comments
77589         slightly.
77590         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
77591
77592 2005-09-13  Derek Price  <derek@ximbiot.com>
77593
77594         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
77595         failure.
77596         Reported by Jim Meyering  <jim@meyering.net>.
77597
77598 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77599
77600         * lib/base64.c: Typo.
77601         (base64_encode): Put b64str in initialized data section.
77602
77603 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
77604
77605         Merge glibc and coreutils changes into gnulib, plus a few
77606         extra fixes.
77607         * lib/md5.c: Use #error rather than a string.
77608         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
77609         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
77610         (__attribute__): Define to empty for non recent-GCC.
77611         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
77612         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
77613         Renamed from their non-__ counterparts, with new macros replacing
77614         them if not _LIBC.  Add __THROW attribute.
77615         (rol): Remove.
77616         (struct md5_ctx): Align buffer if using GCC.
77617         * lib/sha1.h (struct sha1_ctx): Likewise.
77618         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
77619         The old name was backwards.
77620         (NOTSWAP): Remove; not used.
77621         (rol): New macro, moved here from md5.h.
77622         (sha1_process_block): Remove a FIXME that doesn't make sense.
77623
77624 2005-09-12  Derek Price  <derek@ximbiot.com>
77625
77626         Return usable errors from canon-host.
77627         * lib/canon-host.h: New file.
77628         * lib/canon-host.c (canon_host): Wrap...
77629         (canon_host_r): ...this new function, which now relies exclusively on
77630         getaddrinfo.
77631         (ch_strerror): New function.
77632         (last_cherror): New global.
77633         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
77634         interface.
77635         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
77636         void *.
77637         (freeaddrinfo): Free ai->ai_canonname when set.
77638
77639 2005-09-12  Derek Price  <derek@ximbiot.com>
77640
77641         Make canon-host require getaddrinfo.
77642         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
77643         AC_LIBSOURCE canon-host.h.  Call...
77644         (gl_PREREQ_CANON_HOST): ...this new function, which requires
77645         gl_GETADDRINFO.
77646         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
77647
77648 2005-09-12  Derek Price  <derek@ximbiot.com>
77649
77650         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
77651         LGPL.
77652         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
77653
77654 2005-09-12  Derek Price  <derek@ximbiot.com>
77655
77656         * lib/gai_strerror.c: Include config.h when available.  Include
77657         getaddrinfo.h before other headers to test interface.
77658         Reported by Larry Jones <lawrence.jones@ugs.com>.
77659
77660 2005-09-12  Derek Price  <derek@ximbiot.com>
77661             Paul Eggert  <eggert@cs.ucla.edu>
77662
77663         * modules/glob (Files): Add glob-libc.h.
77664
77665 2005-09-12  Derek Price  <derek@ximbiot.com>
77666             Paul Eggert  <eggert@cs.ucla.edu>
77667
77668         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
77669         glob_.h, glob-libc.h.
77670         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
77671
77672 2005-09-12  Derek Price  <derek@ximbiot.com>
77673             Paul Eggert  <eggert@cs.ucla.edu>
77674
77675         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
77676         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
77677         protecting things that should be done only in gnulib contexts.
77678         * lib/glob_.h: New file, containing only the glob things needed for
77679         gnulib.
77680         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
77681         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
77682         (glob, globfree, glob_pattern_p): Now defined simply in terms of
77683         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
77684         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
77685         and to respect the namespace rules better.
77686
77687 2005-09-08  Simon Josefsson  <jas@extundo.com>
77688
77689         * modules/socklen: New file.
77690
77691 2005-09-08  Simon Josefsson  <jas@extundo.com>
77692
77693         * m4/socklen.m4: New file.
77694
77695 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77696
77697         * modules/utimens (Files): Add m4/utimbuf.m4, since
77698         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
77699         Reported by Sergey Poznyakoff.
77700
77701 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77702
77703         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
77704         definitions, since that's the preferred style in glibc.
77705         Fix a minor spacing issue, and update copyright notice to match
77706         glibc's.
77707
77708 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77709
77710         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
77711
77712 2005-09-06  Simon Josefsson  <jas@extundo.com>
77713
77714         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
77715         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
77716
77717 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77718
77719         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
77720         warning.
77721
77722 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77723
77724         * config/srclist.txt: Add glibc bug 1302.
77725
77726 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
77727
77728         Change bitset word type from unsigned int to unsigned long int,
77729         as this has better performance on typical 64-bit hosts.
77730         Port bitset code to hosts with unusual word sizes.
77731         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
77732         (build_collating_symbol):
77733         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
77734         argument is a bitset.  This is merely a style issue, but it makes
77735         it clearer that an entire array is expected.
77736         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
77737         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
77738         Port to the case where bitset_word is not the same as unsigned int.
77739         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77740         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
77741         Likewise.
77742         * lib/regexec.c (check_dst_limits_calc_pos_1,
77743         check_subexp_matching_top):
77744         (build_trtable, group_nodes_into_DFAstates):
77745         Likewise.
77746         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
77747         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
77748         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
77749         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
77750         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
77751         * lib/regcomp.c (optimize_subexps, lower_subexp):
77752         Work even if bitset_word has holes in its bitwise representation.
77753         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
77754         * lib/regexec.c (check_dst_limits_calc_pos_1,
77755         check_subexp_matching_top):
77756         Likewise.
77757         * lib/regex_internal.c (re_string_reconstruct):
77758         Don't assume UCHAR_MAX == 255.
77759         * lib/regex_internal.h (bitset_set_all): Likewise.
77760         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
77761         All uses changed.
77762         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
77763         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
77764         All uses changed.
77765         (BITSET_WORD_MAX): New macro.
77766         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
77767         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
77768         (bitset_empty, bitset_copy):
77769         Prefer sizeof (bitset) to multiplying it out ourselves.
77770         (bitset_not_merge): Remove; unused.
77771         (bitset_contain): Return bool, not unsigned int with one bit on.
77772         All callers changed.
77773         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
77774         alignment than re_node_set; do this by defining a new internal
77775         type struct dests_alloc and using it to allocate memory.
77776
77777 2005-09-05  Bruno Haible  <bruno@clisp.org>
77778
77779         * gnulib-tool (func_import): Fix comparison in handling of symbolic
77780         links.
77781
77782 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
77783
77784         * modules/size_max (Makefile.am): Add size_max.h
77785
77786 2005-09-04  Derek Price  <derek@ximbiot.com>
77787
77788         * gnulib-tool (func_import): Fix reversed $symbolic logic.
77789
77790 2005-09-03  Simon Josefsson  <jas@extundo.com>
77791
77792         * gnulib-tool: Fix typo.
77793
77794 2005-09-03  Simon Josefsson  <jas@extundo.com>
77795
77796         * config/srclist.txt: Add glibc bug 1293.
77797
77798 2005-09-03  Derek Price  <derek@ximbiot.com>
77799
77800         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
77801         From Larry Jones <lawrence.jones@ugs.com>.
77802
77803 2005-09-02  Simon Josefsson  <jas@extundo.com>
77804
77805         * modules/socklen: New file.
77806
77807 2005-09-02  Simon Josefsson  <jas@extundo.com>
77808
77809         * modules/havelib: New module.
77810
77811         * modules/gettext, modules/iconv, modules/lock, modules/readline:
77812         Use havelib.
77813
77814 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77815
77816         Check for arithmetic overflow when calculating sizes, to prevent
77817         some buffer-overflow issues.  These patches are conservative, in the
77818         sense that when I couldn't determine whether an overflow was possible,
77819         I inserted a run-time check.
77820         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
77821         macros.
77822         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
77823         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
77824         (re_xnrealloc, re_x2nrealloc): New inline functions.
77825         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
77826         parse_bracket_exp):
77827         (build_equiv_class, build_charclass): Check for arithmetic overflow
77828         in size expression calculations.
77829         * lib/regex_internal.c (re_string_realloc_buffers):
77830         (build_wcs_upper_buffer, re_node_set_add_intersect):
77831         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
77832         (re_dfa_add_node, register_state): Likewise.
77833         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
77834         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
77835         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
77836         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
77837
77838 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77839
77840         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77841         m4/ulonglong.m4.  Problem reported by Martin Lambers.
77842
77843 2005-09-02  Bruno Haible  <bruno@clisp.org>
77844
77845         Support for lib vs. lib64 distinction on biarch platforms.
77846         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
77847         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
77848         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
77849
77850 2005-09-02  Bruno Haible  <bruno@clisp.org>
77851
77852         * gnulib-tool (import): In the other first-use case, provide defaults
77853         as well.
77854
77855 2005-09-02  Bruno Haible  <bruno@clisp.org>
77856
77857         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
77858         patches not yet found in the latest gettext release.
77859
77860 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77861
77862         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
77863         to avoid a collision with bits/local_lim.h in glibc.
77864         All uses changed.  Problem reported by Dmitry V. Levin in
77865         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
77866
77867         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
77868         bugs in int versus size_t comparisons.
77869         (re_string_context_at): Fix bug where the code assumed that
77870         Idx is signed.
77871
77872         Use bool where appropriate.
77873         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
77874         All callers changed.
77875         (calc_eclosure_iter): Likewise, for ROOT arg.
77876         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
77877         (build_charclass_op): Likewise, for NON_MATCH arg.
77878         * lib/regex_internal.c (re_string_allocate, re_string_construct):
77879         (re_string_construct_common): Likewise, for ICASE arg.
77880         * lib/regexec.c (re_search_2_stub, re_search_stub):
77881         Likewise, for RET_LEN arg.
77882         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
77883         (set_regs): Likewise, for FL_BACKTRACK arg.
77884         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
77885         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
77886         (calc_eclosure_iter, parse_bracket_exp):
77887         Use bool for internal variables that are booleans.
77888         * lib/regexec.c (re_search_internal, check_matching,
77889         proceed_next_node):
77890         (set_regs, build_sifted_states, sift_states_bkref):
77891         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
77892         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77893         (find_collation_sequence_value):
77894         Likewise.
77895         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
77896         (re_node_set_compare):
77897         Return bool, not int. All callers changed.
77898         * lib/regexec.c (check_halt_node_context, check_dst_limits):
77899         (build_trtable, check_node_accept): Likewise.
77900         * lib/regex_internal.h: Include stdbool.h.
77901
77902         Fix bugs uncovered when converting to bool.
77903         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
77904         failure instead of charging ahead blindly.
77905         * lib/regex_internal.c (register_state): Likewise.
77906         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
77907         for freeing internal storage.
77908         (group_nodes_into_DFA_states): Use unsigned int, not int, for
77909         bitset pieces used as boolean, to avoid undefined behavior
77910         on hosts that do int overflow checking.
77911
77912 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77913
77914         * config/srclist.txt: Add glibc bugs 1285-1287.
77915
77916 2005-09-01  Jim Meyering  <jim@meyering.net>
77917
77918         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
77919         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
77920         Require gl_STAT_MACROS, too.
77921
77922 2005-09-01  Bruno Haible  <bruno@clisp.org>
77923
77924         * gnulib-tool (import): In the first-use case, provide defaults.
77925
77926 2005-09-01  Bruno Haible  <bruno@clisp.org>
77927
77928         * gnulib-tool (func_import): Remove the .tmp files.
77929
77930 2005-09-01  Bruno Haible  <bruno@clisp.org>
77931
77932         * gnulib-tool (func_import): Fix handling of symbolic links.
77933
77934 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77935
77936         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
77937         old glibc regex code mishandles strings longer than 2**31 bytes.
77938         This patch fixes this when the regex code is used in gnulib
77939         (i.e., outside glibc).
77940
77941         This patch should not affect the use of the regex code inside
77942         glibc.  No doubt this problem also needs to be handled for glibc
77943         as well, but the result will be an incompatible change to the
77944         glibc ABI, and the old ABI will have to be supported too.  That
77945         can be the the subject for another patch.
77946
77947         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
77948         governing whether the rest of this patch is active.  By default,
77949         the macro is disabled and the patch has no effect.
77950         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
77951         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
77952         (struct re_pattern_buffer, re_search, re_search_2, re_match):
77953         (re_match_2, re_set_registers): Use the new types.
77954         * lib/regex_internal.h (Idx, re_hashval_t): New types.
77955         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
77956         New macros.
77957         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
77958         (re_string_context_at, bin_tree_t, re_dfastate_t):
77959         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
77960         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
77961         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
77962         (re_string_char_size_at, re_string_wchar_at):
77963         (re_string_elem_size_at):
77964         Use the new types and macros to port to 64-bit hosts.
77965         Use unsigned types for internal values, so that the code
77966         mostly works even for arrays larger than SSIZE_MAX.
77967         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
77968         (search_duplicated_node, calc_eclosure_iter, fetch_number):
77969         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
77970         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
77971         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
77972         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
77973         (calc_inveclosure, parse_dup_op, build_range_exp):
77974         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
77975         (fetch_number, create_token_tree, mark_opt_subexp):
77976         Likewise.
77977         * lib/regex_internal.c (re_string_construct_common,
77978         create_ci_newstate):
77979         (create_cd_newstate, re_string_allocate, re_string_construct):
77980         (re_string_realloc_buffers, build_wcs_upper_buffer):
77981         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77982         (re_string_reconstruct, re_string_peek_byte_case):
77983         (re_string_fetch_byte_case, re_string_context_at):
77984         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77985         (re_node_set_init_copy, re_node_set_add_intersect):
77986         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77987         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77988         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77989         (re_acquire_state, re_acquire_state_context, register_state):
77990         Likewise.
77991         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
77992         search_cur_bkref_entry):
77993         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
77994         (re_search_internal, re_search_2_stub, re_search_stub)
77995         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
77996         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
77997         (update_cur_sifted_state, check_dst_limits):
77998         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77999         (check_subexp_limits, sift_states_bkref, merge_state_array):
78000         (check_subexp_matching_top, get_subexp, get_subexp_sub):
78001         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
78002         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78003         (expand_bkref_cache, check_node_accept_bytes):
78004         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
78005         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
78006         (acquire_init_state_context, check_halt_node_context):
78007         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
78008         (sift_states_backward, clean_state_log_if_needed):
78009         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
78010         (find_recover_state, transit_state_sb, transit_state_mb):
78011         (transit_state_bkref, build_trtable, match_ctx_clean):
78012         Likewise.
78013         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
78014         to work around an assumption that REG_MISSING is negative.
78015
78016         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
78017         (seek_collating_symbol_entry) [defined _LIBC]:
78018         (lookup_collation_sequence_value) [defined _LIBC]:
78019         (build_range_exp, build_collating_symbol) [defined _LIBC]:
78020         Use prototypes rather than old-style function definitions.
78021         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
78022         (transit_state_sb) [0]:
78023         (find_collation_sequence_value) [defined _LIBC]: Likewise.
78024
78025         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
78026         rm_eo.
78027
78028         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
78029         (optimize_subexps, lower_subexp):
78030         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
78031         since the signed shift might overflow.  Use 1u<<31 instead.
78032         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78033         Likewise.
78034         * lib/regexec.c (check_dst_limits_calc_pos_1,
78035         check_subexp_matching_top): Likewise.
78036
78037         * lib/regcomp.c (optimize_subexps, lower_subexp):
78038         Use CHAR_BIT rather than 8, for clarity.
78039         * lib/regexec.c (check_dst_limits_calc_pos_1):
78040         (check_subexp_matching_top): Likewise.
78041         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
78042         have to worry about portability issues when shifting it left.
78043         Remove no-longer-needed test for table_size > 0.
78044         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
78045         in a word, as the resulting behavior is undefined.
78046         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
78047         in one case, a <= should have been an <, and in another case the
78048         whole test was missing.
78049         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
78050         the standard name CHAR_BIT.
78051         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
78052         this is not true on one's complement and signed-magnitude hosts.
78053
78054         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
78055         next_last_offset.
78056         (struct re_dfa_t): Remove unused member states_alloc.
78057         * lib/regcomp.c (init_dfa): Don't initialize unused members.
78058
78059 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78060
78061         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
78062         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
78063         and large-file glibc and in 32-bit large-file Solaris.
78064
78065 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78066
78067         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
78068         lengths fit in regoff_t; this isn't true if regoff_t is the same
78069         width as size_t.
78070         * lib/regex.c (re_search_internal): 5th arg is LAST_START
78071         (= START + RANGE) instead of RANGE.  This avoids overflow
78072         problems when regoff_t is the same width as size_t.
78073         All callers changed.
78074         (re_search_2_stub): Check for overflow when adding the
78075         sizes of the two strings.
78076         (re_search_stub): Check for overflow when adding START
78077         to RANGE; if it occurs, substitute the extreme value.
78078
78079 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78080
78081         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
78082
78083 2005-08-31  Jim Meyering  <jim@meyering.net>
78084
78085         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
78086         a pointer-to-const.
78087         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
78088         (register_state): Likewise.
78089         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
78090         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78091         (group_nodes_into_DFAstates): Likewise.
78092
78093 2005-08-31  Jim Meyering  <jim@meyering.net>
78094
78095         * check-module: Add a FIXME comment.
78096
78097 2005-08-31  Eric Blake  <ebb9@byu.net>
78098
78099         * modules/unistd-safer (Files): Add unistd--.h.
78100         * modules/stdio-safer (Files): Add stdio--.h.
78101
78102 2005-08-31  Derek Price  <derek@ximbiot.com>
78103
78104         * lib/getdelim.c (getdelim): Return EOF on EOF.
78105         Reported by Larry Jones <lawrence.jones@ugs.com>.
78106
78107 2005-08-31  Bruno Haible  <bruno@clisp.org>
78108
78109         Avoid unnecessary diffs in the generated lib/Makefile.am.
78110         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
78111         the generated files.
78112         (func_import): Don't set cmd.
78113
78114 2005-08-31  Bruno Haible  <bruno@clisp.org>
78115
78116         * lib/strstr.c: Include <stddef.h>, for NULL.
78117         * lib/strcasestr.c: Likewise.
78118         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78119
78120 2005-08-31  Bruno Haible  <bruno@clisp.org>
78121
78122         * gnulib-tool: New option --macro-prefix.
78123         (func_import): Use macro_prefix.
78124         (import): Handle option --macro-prefix.
78125
78126 2005-08-31  Bruno Haible  <bruno@clisp.org>
78127
78128         * gnulib-tool (import): Rename most ac_* variables to cached_*.
78129         Also use new variables cached_lgpl, cached_libtool.
78130
78131 2005-08-31  Bruno Haible  <bruno@clisp.org>
78132
78133         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
78134         always instantiating them.
78135
78136 2005-08-31  Bruno Haible  <bruno@clisp.org>
78137
78138         * gnulib-tool (func_import): Read the previous cached settings
78139         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
78140         earlier added by gnulib but are now dropped. Warn when a gnulib file
78141         overwrites a non-gnulib file.
78142
78143 2005-08-31  Bruno Haible  <bruno@clisp.org>
78144
78145         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
78146         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
78147         projects that don't keep autogenerated files in CVS. Put into
78148         actioncmd only the specified modules, not the transitive closure.
78149
78150 2005-08-31  Bruno Haible  <bruno@clisp.org>
78151
78152         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
78153         Create directories that shall be filled.
78154         (import): Don't look for gl_* macros in configure.ac. Recurse across
78155         all directories containing a gnulib-cache.m4 files, if meaningful.
78156
78157 2005-08-31  Bruno Haible  <bruno@clisp.org>
78158
78159         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
78160         (import): Set seen_libtool when we see gl_LIBTOOL.
78161
78162 2005-08-31  Bruno Haible  <bruno@clisp.org>
78163
78164         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
78165         declaration macro definitions from generated gnulib.m4.
78166
78167 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
78168
78169         * lib/iconvme.h: Add prototype for iconv_alloc.
78170
78171 2005-08-29  Simon Josefsson  <jas@extundo.com>
78172
78173         * lib/iconvme.c: Fix errno.
78174
78175 2005-08-29  Bruno Haible  <bruno@clisp.org>
78176
78177         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
78178         that it works when the directory contains spaces.
78179
78180 2005-08-29  Bruno Haible  <bruno@clisp.org>
78181
78182         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
78183
78184 2005-08-29  Bruno Haible  <bruno@clisp.org>
78185
78186         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
78187         Emit more advice.
78188
78189 2005-08-29  Bruno Haible  <bruno@clisp.org>
78190         and Stepan Kasal  <kasal@ucw.cz>
78191
78192         * check-module: If more parameters are given, check each of them
78193         separately; add more exceptions, as noted by Jim Meyering.
78194         (check_module): New procedure.
78195         (%exempt_header): Now contains all exceptions.
78196
78197 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
78198
78199         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
78200
78201 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78202
78203         * lib/iconvme.c: Split iconv_string into iconv_alloc.
78204
78205 2005-08-28  Bruno Haible  <bruno@clisp.org>
78206
78207         * m4/gnulib-tool.m4: New file.
78208
78209 2005-08-27  Jim Meyering  <jim@meyering.net>
78210
78211         * modules/unistd-safer (Files): Add pipe-safer.c.
78212         * modules/fcntl-safer (Files): Add creat-safer.c.
78213
78214 2005-08-27  Jim Meyering  <jim@meyering.net>
78215
78216         * m4/stdlib-safer.m4: New file.  From coreutils.
78217         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
78218         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
78219         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
78220         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
78221         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
78222
78223 2005-08-27  Jim Meyering  <jim@meyering.net>
78224
78225         * lib/fopen-safer.c: Merge minor changes from coreutils.
78226         * lib/dup-safer.c: Likewise.
78227         * lib/fd-safer.c: Likewise.
78228
78229         Merge from coreutils.
78230         * lib/stdio--.h: New file.
78231         * lib/stdlib--.h: New file.
78232         * lib/mkstemp-safer.c: New file.
78233
78234         GNU tar needs these.
78235         * lib/pipe-safer.c: New file.
78236         * lib/creat-safer.c: New file.
78237         * lib/fcntl--.h (creat): Define to creat_safer.
78238         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
78239         * lib/unistd--.h (pipe): Define to pipe_safer.
78240         * lib/unistd-safer.h: Declare pipe_safer.
78241
78242 2005-08-26  Simon Josefsson  <jas@extundo.com>
78243
78244         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
78245         Haible <bruno@clisp.org>.
78246
78247 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
78248
78249         * lib/regex_internal.h: Remove all references to
78250         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
78251         or better.
78252         (bitset_not, bitset_merge, bitset_not_merge):
78253         (bitset_mask, re_string_allocate, re_string_construct):
78254         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
78255         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
78256         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
78257         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
78258         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78259         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78260         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
78261         (re_acquire_state_context):
78262         Remove unnecessary forward decls.
78263         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
78264         Put __attribute at function definition,
78265         now that the function decl has been removed.
78266         * lib/regex_internal.c (re_string_peek_byte_case):
78267         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
78268         Likewise.
78269
78270 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
78271
78272         * m4/regex.m4: Add AC_PREREQ(2.50).
78273         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
78274
78275 2005-08-25  Simon Josefsson  <jas@extundo.com>
78276
78277         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
78278         __fsetlocking.
78279
78280 2005-08-25  Simon Josefsson  <jas@extundo.com>
78281
78282         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
78283         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
78284         GLIBC specific code.
78285
78286 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78287
78288         Make regex safe for g++.  This fixes one real bug (an "err"
78289         that should have been "*err").  g++ problem reported by
78290         Sam Steingold.
78291         * lib/regex_internal.h (re_calloc): New macro, consistent with
78292         re_malloc etc.  All callers of calloc changed to use re_calloc.
78293         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
78294         not int.  All callers changed.
78295         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
78296         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
78297         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
78298         (find_recover_state): Change "err" to "*err"; this fixes what
78299         appears to be a real bug.
78300         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
78301         versus int.
78302
78303 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78304
78305         * modules/regex (Depends-on): Add malloc, since the code
78306         assumes that !malloc(0) means failure.
78307
78308 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78309
78310         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
78311
78312         alloca modernization/simplification for regex.
78313         * lib/regex.c: Remove portability cruft for alloca.  This no longer
78314         needs to be at the start of the file, and can be moved into
78315         regex_internal.h and simplified.
78316         * lib/regex_internal.h: Include <alloca.h>.
78317         (__libc_use_alloca) [!defined _LIBC]: New macro.
78318         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
78319         now works outside glibc.
78320
78321 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78322
78323         * config/srclist.txt: Add glibc bugs 1241, 1245.
78324
78325 2005-08-25  Jim Meyering  <jim@meyering.net>
78326
78327         * lib/open-safer.c: Include <config.h>.
78328         Otherwise, we'd lose LARGEFILE support in any file using
78329         e.g. "fcntl--.h"
78330
78331 2005-08-25  Bruno Haible  <bruno@clisp.org>
78332
78333         * m4/minmax.m4: Require autoconf 2.52.
78334         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
78335         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
78336         alternatives of translit over the alphabet.
78337         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
78338
78339 2005-08-24  Simon Josefsson  <jas@extundo.com>
78340
78341         * tests/test-getpass.c: New file.
78342
78343 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78344
78345         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
78346         for GNU regex features.
78347
78348 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78349
78350         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
78351         * lib/regex.h (regerror): Likewise.
78352
78353         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
78354         requires this.  (The code never needed it.)
78355
78356         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
78357         All uses of recently-renamed identifiers changed to use the new,
78358         POSIX-compliant names.  The code will build and run just fine
78359         without these changes, but it's better to eat our own dog food
78360         and use the standard-conforming names.
78361
78362         * lib/regex.h: Fix a multitude of POSIX name space violations.
78363         These changes have an effect only for programs that define
78364         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
78365         do not change anything for programs compiled in the normal way.
78366         Also, there is no effect on the ABI.
78367
78368         (_REGEX_SOURCE): New macro.
78369         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
78370         defined and _GNU_SOURCE is not; this fixes a name space violation.
78371
78372         Rename the following macros to obey POSIX requirements.
78373         The old names are still visible as macros if _REGEX_SOURCE is defined.
78374         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
78375         RE_BACKSLASH_ESCAPE_IN_LISTS.
78376         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
78377         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
78378         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
78379         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
78380         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
78381         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
78382         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
78383         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
78384         (REG_INTERVALS): renamed from RE_INTERVALS.
78385         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
78386         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
78387         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
78388         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
78389         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
78390         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
78391         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
78392         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
78393         RE_UNMATCHED_RIGHT_PAREN_ORD.
78394         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
78395         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
78396         (REG_DEBUG): renamed from RE_DEBUG.
78397         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
78398         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
78399         unusual, since we can't clash with the POSIX REG_ICASE.
78400         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
78401         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
78402         (REG_NO_SUB): renamed from RE_NO_SUB.
78403         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
78404         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
78405         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
78406         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
78407         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
78408         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
78409         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
78410         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
78411         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
78412         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
78413         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
78414         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
78415         RE_SYNTAX_POSIX_MINIMAL_BASIC.
78416         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
78417         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
78418         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
78419         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
78420         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
78421         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
78422         (REG_FIXED): Renamed from REGS_FIXED.
78423         (REG_NREGS): Renamed from RE_NREGS.
78424
78425         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
78426         of other REG_* macros, since POSIX says the user is allowed to
78427         #undef these macros selectively.
78428
78429         (reg_errcode_t): Update comment stating what other tables need
78430         to be consistent.
78431
78432         Rename the following enum values to obey POSIX requirements.
78433         The old names are still visible as macros.
78434         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
78435         is not defined, since GNU is supposed to be a superset of POSIX as
78436         much as possible, and since we want reg_errcode_t to be a signed
78437         type for implementation consistency.
78438         (_REG_NOERROR): Renamed from REG_NOERROR.
78439         (_REG_NOMATCH): Renamed from REG_NOMATCH.
78440         (_REG_BADPAT): Renamed from REG_BADPAT.
78441         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
78442         (_REG_ECTYPE): Renamed from REG_ECTYPE.
78443         (_REG_EESCAPE): Renamed from REG_EESCAPE.
78444         (_REG_ESUBREG): Renamed from REG_ESUBREG.
78445         (_REG_EBRACK): Renamed from REG_EBRACK.
78446         (_REG_EPAREN): Renamed from REG_EPAREN.
78447         (_REG_EBRACE): Renamed from REG_EBRACE.
78448         (_REG_BADBR): Renamed from REG_BADBR.
78449         (_REG_ERANGE): Renamed from REG_ERANGE.
78450         (_REG_ESPACE): Renamed from REG_ESPACE.
78451         (_REG_BADRPT): Renamed from REG_BADRPT.
78452         (_REG_EEND): Renamed from REG_EEND.
78453         (_REG_ESIZE): Renamed from REG_ESIZE.
78454         (_REG_ERPAREN): Renamed from REG_ERPAREN.
78455         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
78456         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
78457         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
78458         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
78459
78460         (_REG_RE_NAME, _REG_RM_NAME): New macros.
78461         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
78462         changed.  But support the old name if the new one is not defined
78463         and if _REGEX_SOURCE.
78464
78465         Change the following member names in struct re_pattern_buffer.
78466         The old names are still supported if !_REGEX_SOURCE.
78467         The new names are always supported, regardless of _REGEX_SOURCE.
78468         (re_buffer): Renamed from buffer.
78469         (re_allocated): Renamed from allocated.
78470         (re_used): Renamed from used.
78471         (re_syntax): Renamed from syntax.
78472         (re_fastmap): Renamed from fastmap.
78473         (re_translate): Renamed from translate.
78474         (re_can_be_null): Renamed from can_be_null.
78475         (re_regs_allocated): Renamed from regs_allocated.
78476         (re_fastmap_accurate): Renamed from fastmap_accurate.
78477         (re_no_sub): Renamed from no_sub.
78478         (re_not_bol): Renamed from not_bol.
78479         (re_not_eol): Renamed from not_eol.
78480         (re_newline_anchor): Renamed from newline_anchor.
78481
78482         Change the following member names in struct re_registers.
78483         The old names are still supported if !_REGEX_SOURCE.
78484         The new names are always supported, regardless of _REGEX_SOURCE.
78485         (rm_num_regs): Renamed from num_regs.
78486         (rm_start): Renamed from start.
78487         (rm_end): Renamed from end.
78488
78489         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
78490         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
78491         Prepend __ to parameter names.
78492
78493         Undo yesterday's changes.
78494
78495 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78496
78497         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
78498         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
78499         lib/regex.c.
78500
78501 2005-08-24  Jim Meyering  <jim@meyering.net>
78502
78503         Sync from coreutils.
78504         * m4/fcntl-safer.m4: New file.
78505
78506         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
78507         and object files for this module.
78508
78509 2005-08-24  Jim Meyering  <jim@meyering.net>
78510
78511         Sync from coreutils.
78512         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
78513
78514 2005-08-24  Jim Meyering  <jim@meyering.net>
78515
78516         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
78517         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
78518
78519 2005-08-24  Jim Meyering  <jim@meyering.net>
78520
78521         * modules/fcntl-safer: New module.
78522         * modules/fts (Depends-on): Add fcntl-safer.
78523         * MODULES.html.sh (File descriptor based Input/Output):
78524         Add fcntl-safer.
78525
78526 2005-08-24  Bruno Haible  <bruno@clisp.org>
78527
78528         Support for unit test modules.
78529         * modules/README: Mention tests modules.
78530         * modules/TEMPLATE-TESTS: New file.
78531         * gnulib-tool: New options --extract-tests-module, --with-tests and
78532         --tests-base (unused for the moment).
78533         (testsbase, inctests): New variables.
78534         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
78535         (func_verify_module): Exclude TEMPLATE-TESTS.
78536         (func_verify_nontests_module, func_verify_tests_module): New functions.
78537         (func_get_dependencies): Add implicit dependency for tests modules.
78538         (func_get_tests_module): New function.
78539         (func_modules_transitive_closure): When --with-tests was specified,
78540         include the unit tests as well, unless explicitly avoided.
78541         (func_emit_lib_Makefile_am): Ignore the tests modules here.
78542         (func_emit_tests_Makefile_am): New function.
78543         (func_create_testdir): When --with-tests was specified, emit a
78544         tests/ directory.
78545         * MODULES.html.sh (Future developments): Update.
78546
78547 2005-08-24  Bruno Haible  <bruno@clisp.org>
78548
78549         * modules/tls-tests: New file.
78550         * tests/test-tls.c: New file, from GNU gettext.
78551
78552 2005-08-24  Bruno Haible  <bruno@clisp.org>
78553
78554         * modules/lock-tests: New file.
78555         * tests/test-lock.c: New file, from GNU gettext.
78556
78557 2005-08-24  Bruno Haible  <bruno@clisp.org>
78558
78559         * lib/lock.h: Add multiple inclusion guard.
78560         * lib/tls.h: Add multiple inclusion guard.
78561
78562 2005-08-24  Bruno Haible  <bruno@clisp.org>
78563
78564         * gnulib-tool: Add support for the --aux-dir option to
78565         --create-testdir, --create-megatestdir, --test, --megatest.
78566         (func_create_testdir, func_create_megatestdir): Optionally emit a
78567         AC_CONFIG_AUX_DIR directive.
78568         (create-testdir, create-megatestdir, test, megatest): Provide a
78569         default value for $auxdir.
78570
78571 2005-08-24  Bruno Haible  <bruno@clisp.org>
78572
78573         * gnulib-tool (import): Use compound statement instead of subshell
78574         where possible.
78575
78576 2005-08-24  Bruno Haible  <bruno@clisp.org>
78577
78578         * gnulib-tool (import): Change --aux-dir default to "build-aux".
78579
78580 2005-08-24  Bruno Haible  <bruno@clisp.org>
78581
78582         * gnulib-tool (func_version): Update.
78583
78584 2005-08-24  Bruno Haible  <bruno@clisp.org>
78585
78586         * gnulib-tool (func_import, func_create_testdir,
78587         func_create_megatestdir): Quote all autoconf macro arguments.
78588
78589 2005-08-24  Bruno Haible  <bruno@clisp.org>
78590
78591         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
78592         option --force, because --force causes the aclocal.m4 of each
78593         subdirectory to be newer than the corresponding config.h.in.
78594
78595 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78596
78597         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
78598         All contents moved to gl_REGEX.
78599         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
78600         assume that it does.
78601
78602 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78603
78604         * lib/regex.h (REG_NOSYS)
78605         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
78606         Define, since POSIX requires it as of 2001.
78607         (_REG_ENOSYS)
78608         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
78609         New private symbol, used to keep the enum signed in all cases.
78610         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
78611         Youngman in
78612         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
78613
78614         * lib/regex_internal.c (re_string_skip_chars, register_state):
78615         (calc_state_hash):
78616         Remove forward decls; no longer needed now that we use prototypes.
78617         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
78618         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
78619         (clean_state_log_if_needed): Likewise.
78620
78621 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78622
78623         * config/srclist.txt: Add glibc bugs 1231-1233.
78624
78625 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78626
78627         Fix problems reported by Sam Steingold in
78628         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
78629         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
78630         assumed that reg_errcode_t is a signed type, which is not
78631         necessarily true if _XOPEN_SOURCE is not defined.
78632         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
78633         since some compilers warn about it otherwise.
78634
78635 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78636
78637         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
78638         (init_word_char, create_initial_state, duplicate_node_closure):
78639         (fetch_token, peek_token_bracket, build_range_exp):
78640         (build_collating_symbol): Remove forward decls; no longer needed
78641         now that we use prototypes.
78642
78643         * lib/regcomp.c:
78644         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
78645         (re_compile_fastmap_iter, regcomp, regerror, regfree):
78646         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
78647         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
78648         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
78649         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
78650         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
78651         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
78652         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
78653         (build_range_exp, build_collating_symbol, parse_bracket_exp):
78654         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
78655         (build_charclass, build_charclass_op, fetch_number, create_tree):
78656         (create_token_tree, mark_opt_subexp, duplicate_tree):
78657         Use prototypes rather than old-style definitions.
78658
78659         * lib/regex_internal.c:
78660         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
78661         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
78662         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78663         (re_string_reconstruct, re_string_peek_byte_case):
78664         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
78665         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78666         (re_node_set_init_copy, re_node_set_add_intersect):
78667         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78668         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78669         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78670         (re_acquire_state, re_acquire_state_context, register_state):
78671         (create_ci_newstate, create_cd_newstate, free_state):
78672         Likewise.
78673         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
78674         re_search_2):
78675         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
78676         (re_search_internal, prune_impossible_nodes):
78677         (acquire_init_state_context, check_matching, static):
78678         (check_halt_node_context, check_halt_state_context, proceed_next_node):
78679         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
78680         (update_regs, sift_states_backward, build_sifted_states):
78681         (clean_state_log_if_needed, merge_state_array):
78682         (update_cur_sifted_state, add_epsilon_src_nodes):
78683         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
78684         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
78685         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
78686         (find_recover_state, check_subexp_matching_top, transit_state_mb):
78687         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
78688         (check_arrival, check_arrival_add_next_nodes):
78689         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78690         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78691         (check_node_accept_bytes, check_node_accept, extend_buffers):
78692         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
78693         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
78694         (sift_ctx_init):
78695         Likewise.
78696
78697         * lib/regex_internal.h:
78698         (re_string_allocate, re_string_construct, re_string_reconstruct):
78699         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
78700         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
78701         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
78702         (re_string_context_at, re_string_peek_byte_case):
78703         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
78704         is defined, since we now use prototypes always.
78705
78706         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
78707         C89 or better.  All uses removed.
78708
78709 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78710
78711         * config/srclist.txt: Add glibc bugs 1220-1227.
78712
78713 2005-08-20  Jim Meyering  <jim@meyering.net>
78714
78715         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
78716         of unused local, dfa.
78717
78718 2005-08-20  Bruno Haible  <bruno@clisp.org>
78719
78720         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
78721
78722 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78723
78724         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
78725         (re_node_set_insert_last, re_dfa_add_node):
78726         Rename local variables to avoid GCC shadowing warnings.
78727
78728 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78729
78730         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
78731         [defined lint]: Suppress bogus uninitialized-variable warnings.
78732
78733         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
78734         and let the caller return REG_ESPACE if out of space.  This
78735         removes an uninitialied-variable warning with GCC 4.0.1, and also
78736         avoids taking the address of a local variable.  All callers
78737         changed.
78738
78739 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78740
78741         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
78742         $LIBCSRC/posix/regexec.c.
78743         Add glibc bug 1217 for regcomp.c.
78744
78745 2005-08-19  Jim Meyering  <jim@meyering.net>
78746
78747         * lib/regexec.c (proceed_next_node): Redo local variables to
78748         avoid GCC shadowing warnings.
78749
78750 2005-08-18  Bruno Haible  <bruno@clisp.org>
78751
78752         * lib/strstr.c (strstr): Fix return value in multibyte case.
78753         * lib/strcasestr.c (strcasestr): Likewise.
78754
78755 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78756
78757         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
78758
78759 2005-08-17  Jim Meyering  <jim@meyering.net>
78760
78761         Make the %s format (seconds since the epoch) work for a negative
78762         number and when used with a zero-padded field width, e.g. %015s.
78763
78764         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
78765         label so that it precedes the code to set `digits'.  Otherwise,
78766         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
78767         print `00-22'.  Now, it prints `-0022', as it should.
78768
78769 2005-08-17  Bruno Haible  <bruno@clisp.org>
78770
78771         * modules/strstr (Files): Add m4/mbrtowc.m4.
78772         (Depends-on): Add mbuiter.
78773
78774 2005-08-17  Bruno Haible  <bruno@clisp.org>
78775
78776         * modules/strcasestr: New file.
78777         * MODULES.html.sh (String handling, based on ANSI C 89): Add
78778         strcasestr.
78779
78780 2005-08-17  Bruno Haible  <bruno@clisp.org>
78781
78782         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
78783
78784 2005-08-17  Bruno Haible  <bruno@clisp.org>
78785
78786         * modules/mbuiter: New file.
78787         * MODULES.html.sh (Extended multibyte and wide character utilities):
78788         Add mbuiter.
78789
78790 2005-08-17  Bruno Haible  <bruno@clisp.org>
78791
78792         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
78793         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
78794
78795 2005-08-17  Bruno Haible  <bruno@clisp.org>
78796
78797         * m4/strcasestr.m4: New file.
78798
78799 2005-08-17  Bruno Haible  <bruno@clisp.org>
78800
78801         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
78802         * lib/strstr.c: Completely rewritten, with multibyte locale support.
78803
78804 2005-08-17  Bruno Haible  <bruno@clisp.org>
78805
78806         * lib/strcasestr.h: New file.
78807         * lib/strcasestr.c: New file.
78808
78809 2005-08-17  Bruno Haible  <bruno@clisp.org>
78810
78811         * lib/strcasecmp.c: Use mbuiter.h.
78812
78813 2005-08-17  Bruno Haible  <bruno@clisp.org>
78814
78815         * lib/mbuiter.h: New file.
78816
78817 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78818
78819         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
78820         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
78821         and gl_GETOPT are both invoked via different paths (as happens
78822         with GNU tar CVS because it uses both argp and getopt), the former
78823         wins.
78824
78825 2005-08-16  Bruno Haible  <bruno@clisp.org>
78826
78827         * modules/tls: New file.
78828         * MODULES.html.sh (Multithreading): Add tls.
78829
78830 2005-08-16  Bruno Haible  <bruno@clisp.org>
78831
78832         * modules/strnlen1: New file.
78833         * MODULES.html.sh (String handling): Add strnlen1.
78834
78835 2005-08-16  Bruno Haible  <bruno@clisp.org>
78836
78837         * modules/strcase (Files): Add m4/mbrtowc.m4.
78838         (Depends-on): Add strnlen1, mbchar.
78839
78840 2005-08-16  Bruno Haible  <bruno@clisp.org>
78841
78842         * modules/mbiter: New file.
78843         * MODULES.html.sh (Extended multibyte and wide character utilities):
78844         Add mbiter.
78845
78846 2005-08-16  Bruno Haible  <bruno@clisp.org>
78847
78848         * modules/mbfile: New file.
78849         * MODULES.html.sh (Extended multibyte and wide character utilities):
78850         Add mbfile.
78851
78852 2005-08-16  Bruno Haible  <bruno@clisp.org>
78853
78854         * modules/mbchar: New file.
78855         * MODULES.html.sh (Extended multibyte and wide character utilities):
78856         New section.
78857
78858 2005-08-16  Bruno Haible  <bruno@clisp.org>
78859
78860         * m4/tls.m4: New file, from GNU gettext.
78861
78862 2005-08-16  Bruno Haible  <bruno@clisp.org>
78863
78864         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
78865         always.
78866         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
78867
78868 2005-08-16  Bruno Haible  <bruno@clisp.org>
78869
78870         * m4/mbiter.m4: New file.
78871
78872 2005-08-16  Bruno Haible  <bruno@clisp.org>
78873
78874         * m4/mbfile.m4: New file.
78875
78876 2005-08-16  Bruno Haible  <bruno@clisp.org>
78877
78878         * m4/mbchar.m4: New file.
78879
78880 2005-08-16  Bruno Haible  <bruno@clisp.org>
78881
78882         * lib/tls.h: New file, from GNU gettext.
78883         * lib/tls.c: New file, from GNU gettext.
78884
78885 2005-08-16  Bruno Haible  <bruno@clisp.org>
78886
78887         * lib/strnlen1.h: New file.
78888         * lib/strnlen1.c: New file.
78889
78890 2005-08-16  Bruno Haible  <bruno@clisp.org>
78891
78892         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
78893         (mbi_init): Update.
78894         (mbi_avail, mbi_advance): Let the iteration end before the terminating
78895         NUL byte, not after it.
78896
78897 2005-08-16  Bruno Haible  <bruno@clisp.org>
78898
78899         * lib/strcase.h (strcasecmp): Add note in comments.
78900         * lib/strncasecmp.c: Use code from strcasecmp.c.
78901         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
78902         (strcasecmp): Work correctly in multibyte locales.
78903
78904 2005-08-16  Bruno Haible  <bruno@clisp.org>
78905
78906         * lib/mbiter.h: New file.
78907
78908 2005-08-16  Bruno Haible  <bruno@clisp.org>
78909
78910         * lib/mbfile.h: New file.
78911
78912 2005-08-16  Bruno Haible  <bruno@clisp.org>
78913
78914         * lib/mbchar.h: New file.
78915         * lib/mbchar.c: New file.
78916
78917 2005-08-16  Bruno Haible  <bruno@clisp.org>
78918
78919         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
78920         the valid ones. Makes the comparison operations transitive:
78921         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
78922         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
78923
78924 2005-08-15  Simon Josefsson  <jas@extundo.com>
78925
78926         * modules/ssize_t (License): Change to 'unlimited'.
78927
78928         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
78929
78930 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78931
78932         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
78933         Add comments for each pending glibc patch.
78934
78935 2005-08-15  Bruno Haible  <bruno@clisp.org>
78936
78937         * lib/regex.h (__restrict_arr): Don't define to __restrict if
78938         __cplusplus is defined.
78939
78940 2005-08-14  Jim Meyering  <jim@meyering.net>
78941
78942         Sync from coreutils.
78943
78944         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
78945         Use the hash-table-based cycle-detection code not just when
78946         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
78947         Reported by James Youngman in
78948         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
78949         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
78950         FTS_TIGHT_CYCLE_CHECK.
78951         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
78952         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
78953         once again.
78954         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
78955         * lib/fts.c (fd_safer): Remove decl.
78956         Include fcntl--.h rather than unistd-safer.h
78957         (fts_safe_changedir): Don't call fd_safer; no longer needed
78958         now that we include fcntl--.h.
78959
78960 2005-08-12  Simon Josefsson  <jas@extundo.com>
78961
78962         * modules/getndelim2: Use ssize_t module.
78963         * modules/getnline: Likewise.
78964         * modules/safe-read: Likewise.
78965         * modules/xreadlink: Likewise.
78966
78967         * modules/ssize_t: New file.
78968
78969 2005-08-12  Simon Josefsson  <jas@extundo.com>
78970
78971         * m4/readline.m4: Look for termcap, curses or ncurses if required.
78972
78973 2005-08-12  Simon Josefsson  <jas@extundo.com>
78974
78975         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78976         ssize_t.
78977
78978 2005-08-12  Simon Josefsson  <jas@extundo.com>
78979
78980         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
78981         readline, getdelim and check_version.
78982         (Support for systems lacking ISO C 99: Sizes of integer types):
78983         Add size_max.
78984
78985 2005-08-12  Bruno Haible  <bruno@clisp.org>
78986
78987         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
78988
78989 2005-08-11  Simon Josefsson  <jas@extundo.com>
78990
78991         * modules/readline: New file.
78992
78993         * modules/strnlen (Files): Add strnlen.h.
78994
78995 2005-08-11  Simon Josefsson  <jas@extundo.com>
78996
78997         * m4/readline.m4: New file.
78998
78999 2005-08-11  Simon Josefsson  <jas@extundo.com>
79000
79001         * lib/readline.h, readline.c: New file.
79002
79003 2005-08-11  Simon Josefsson  <jas@extundo.com>
79004
79005         * doc/gnulib.texi (Initial import, Finishing touches): Mention
79006         gl_AVOID.
79007
79008 2005-08-11  Bruno Haible  <bruno@clisp.org>
79009
79010         * lib/strnlen.h (strnlen): Change parameter name to match comment.
79011
79012 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
79013
79014         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
79015
79016 2005-08-10  Simon Josefsson  <jas@extundo.com>
79017
79018         * tests/test-iconvme.c: New file.
79019
79020 2005-08-10  Simon Josefsson  <jas@extundo.com>
79021
79022         * m4/strnlen.m4: New file.
79023
79024         * m4/strndup.m4: Don't check for strnlen declaration, done in
79025         strnlen.m4.
79026
79027 2005-08-10  Simon Josefsson  <jas@extundo.com>
79028
79029         * lib/strndup.c: Use strnlen.h.
79030
79031         * lib/strnlen.h: New file.
79032
79033 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79034
79035         * README: Typos.
79036
79037 2005-08-02  Simon Josefsson  <jas@extundo.com>
79038
79039         * modules/readline: New file.
79040
79041 2005-08-02  Simon Josefsson  <jas@extundo.com>
79042
79043         * modules/getdelim: New file.
79044
79045         * modules/getline: Rewrite, don't use getndelim2.
79046
79047 2005-08-02  Simon Josefsson  <jas@extundo.com>
79048
79049         * m4/getline.m4: Separate out getdelim stuff into separate module.
79050
79051         * m4/getdelim.m4: New file.
79052
79053 2005-08-02  Simon Josefsson  <jas@extundo.com>
79054
79055         * lib/getline.h, getline.c: Rewrite.
79056
79057         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
79058
79059 2005-07-31  Bruno Haible  <bruno@clisp.org>
79060
79061         * lib/lock.h (gl_lock_initializer): New macro.
79062         (gl_lock_define_initialized): Use it.
79063         (gl_rwlock_initializer): New macro.
79064         (gl_rwlock_define_initialized): Use it.
79065         (gl_recursive_lock_initializer): New macro.
79066         (gl_recursive_lock_define_initialized): Use it.
79067
79068 2005-07-30  Karl Berry  <karl@gnu.org>
79069
79070         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
79071         Report from Ben Pfaff, regarding getopt.
79072
79073 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
79074
79075         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
79076         normal way.
79077         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
79078         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
79079         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
79080         (gl_GETOPT): Use the new macros.  Most of the implementation
79081         is moved to the new macros.  This is for programs like Emacs
79082         that don't want all the functionality of gl_GETOPT.
79083
79084 2005-07-26  Bruno Haible  <bruno@clisp.org>
79085
79086         * m4/lock.m4: Update from GNU gettext.
79087
79088 2005-07-26  Bruno Haible  <bruno@clisp.org>
79089
79090         * lib/lock.h: Update from GNU gettext.
79091         * lib/lock.c: Update from GNU gettext.
79092
79093 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
79094
79095         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
79096         obsolescent AC_TRY_RUN.  Include the default includes files, for
79097         'exit'.
79098
79099 2005-07-24  Bruno Haible  <bruno@clisp.org>
79100
79101         * modules/visibility: New file.
79102         * MODULES.html.sh (Misc): Add visibility.
79103
79104 2005-07-24  Bruno Haible  <bruno@clisp.org>
79105
79106         * m4/visibility.m4: New file.
79107
79108 2005-07-24  Bruno Haible  <bruno@clisp.org>
79109
79110         * doc/visibility.texi: New file.
79111
79112 2005-07-22  Bruno Haible  <bruno@clisp.org>
79113
79114         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
79115         $(ALLOCA_H), redundant through BUILT_SOURCES.
79116         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
79117         redundant through BUILT_SOURCES.
79118         * modules/byteswap (Makefile.am): Remove explicit dependency on
79119         $(BYTESWAP_H), redundant through BUILT_SOURCES.
79120         * modules/fnmatch (Makefile.am): Remove explicit dependency on
79121         $(FNMATCH_H), redundant through BUILT_SOURCES.
79122         * modules/getopt (Makefile.am): Remove explicit dependency on
79123         $(GETOPT_H), redundant through BUILT_SOURCES.
79124         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
79125         redundant through BUILT_SOURCES.
79126         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
79127         redundant through BUILT_SOURCES.
79128         * modules/stdbool (Makefile.am): Remove explicit dependency on
79129         $(STDBOOL_H), redundant through BUILT_SOURCES.
79130         * modules/stdint (Makefile.am): Remove explicit dependency on
79131         $(STDINT_H), redundant through BUILT_SOURCES.
79132         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
79133         Remove explicit dependency on $(SYSEXITS_H).
79134         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
79135
79136 2005-07-18  Simon Josefsson  <jas@extundo.com>
79137
79138         * lib/check-version.c (check_version): Accept identical versions too.
79139
79140 2005-07-18  Bruno Haible  <bruno@clisp.org>
79141
79142         * modules/lock: New file.
79143         * MODULES.html.sh (Multithreading): New section.
79144
79145 2005-07-18  Bruno Haible  <bruno@clisp.org>
79146
79147         * m4/lock.m4: New file, from GNU gettext.
79148
79149 2005-07-18  Bruno Haible  <bruno@clisp.org>
79150
79151         * lib/lock.h: New file, from GNU gettext.
79152         * lib/lock.c: New file, from GNU gettext.
79153
79154 2005-07-18  Bruno Haible  <bruno@clisp.org>
79155
79156         * lib/lock.h (gl_once_t): New type.
79157         (gl_once_define, gl_once): New macros.
79158         * lib/lock.c (fresh_once): New variable.
79159         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
79160         functions.
79161
79162 2005-07-16  Simon Josefsson  <jas@extundo.com>
79163
79164         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
79165         workaround, suggested by Bruno.
79166
79167 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79168
79169         * modules/xalloc (Depends-on): Add xalloc-die.
79170         * modules/xvasprintf (Depends-on): Add xalloc-die.
79171
79172 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79173
79174         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
79175         with a minor change.
79176
79177 2005-07-15  Bruno Haible  <bruno@clisp.org>
79178
79179         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
79180         When using lib/poll.c, define poll as rpl_poll.
79181
79182 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
79183
79184         * modules/argp (Depends-on): Remove unlocked-io.
79185
79186 2005-07-14  Derek Price  <derek@ximbiot.com>
79187
79188         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
79189         for glob symlink bug.
79190
79191 2005-07-14  Bruno Haible  <bruno@clisp.org>
79192
79193         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
79194         Instead, test for *_unlocked function declarations directly.
79195
79196 2005-07-11  Simon Josefsson  <jas@extundo.com>
79197
79198         * modules/size_max: New file.
79199
79200         * modules/xsize: Depend on size_max module for size_max.m4.
79201
79202 2005-07-11  Simon Josefsson  <jas@extundo.com>
79203
79204         * lib/size_max.h: New file.
79205
79206 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
79207
79208         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
79209         copyright symbol and the year.
79210         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
79211         (version_etc_va): Use parameterized copyright notice.
79212         Reword to conform to the current GNU coding standards.
79213
79214 2005-07-11  Karl Berry  <karl@gnu.org>
79215
79216         * doc/gnulib.texi (Quoting): new node.
79217         (Initial import): more info, from Patrice.
79218
79219 2005-07-11  Bruno Haible  <bruno@clisp.org>
79220
79221         * gnulib-tool (func_usage): Document option --avoid.
79222         (Command line options): Handle --avoid.
79223         (func_acceptable): New function.
79224         (func_modules_transitive_closure): Use it.
79225
79226 2005-07-11  Bruno Haible  <bruno@clisp.org>
79227
79228         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
79229         Reported by Jim Meyering.
79230
79231 2005-07-10  Bruno Haible  <bruno@clisp.org>
79232
79233         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
79234         Needed when size_t is smaller than 'unsigned int'.
79235         Reported by Paul Eggert.
79236
79237 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79238
79239         * modules/argp (Depends-on): Add unlocked-io
79240
79241 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79242
79243         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
79244         block of defines.
79245
79246 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
79247
79248         * config/srclist.txt: Comment out regcomp.c, since we have a porting
79249         fix now.
79250
79251 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
79252         and Paul Eggert  <eggert@cs.ucla.edu>
79253
79254         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
79255         in wint_t, not wchar_t.  Remove now-unnecessary cast.
79256
79257 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79258
79259         * modules/regex (Files): Add lib/regex_internal.c,
79260         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
79261         (Depends-on): Add extensions.
79262         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
79263
79264 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79265
79266         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
79267         pathconf.
79268         * m4/same.m4 (gl_SAME): Likewise.
79269         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
79270
79271         * m4/regex.m4: Adjust to new libc regex implementation.
79272         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
79273         all the .c and .h parts of (the new) regex.
79274         Quote the m4 stuff better.
79275         Check for RE_ICASE bug of old gnulib.
79276         Check for REG_STARTEND of recent libc.
79277         Rename local variables from jm_* to gl_*.
79278         Quote operand of "test -f".
79279         Say "recent enough" version of libc, not "version 2".
79280         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
79281         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
79282         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
79283         Remove check for btowc, isascii.
79284         Require AM_LANGINFO_CODESET.
79285
79286 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79287
79288         * lib/regex.c, regex.h: Sync from libc.
79289         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
79290         * lib/regexec.c:
79291         New files, synced from libc, except that regex_internal.h
79292         currently has a small porting fix.
79293
79294 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79295
79296         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
79297         regex_internal.c, regexec.c.
79298         Add regex_internal.h too, but as a comment, since the libc version
79299         is currently broken in gnulib mode.
79300
79301 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79302
79303         Support programs like Emacs that use gnulib but not gettext.
79304         * MODULES.html.sh (Internationalization functions): Add gettext-h.
79305         * modules/gettext-h: New file.
79306         * modules/gettext (Files): Remove lib/gettext.h.
79307         (Depends-on): Add gettext-h.
79308         (Makefile.am): Remove lib_SOURCES.
79309         * modules/argmatch, modules/c-stack, modules/closeout:
79310         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
79311         * modules/execute, modules/file-type, modules/getaddrinfo:
79312         * modules/getopt, modules/human, modules/javacomp:
79313         * modules/javaexec, modules/mkdir-p, modules/obstack:
79314         * modules/openat, modules/pagealign_alloc, modules/pipe:
79315         * modules/quotearg, modules/regex, modules/rpmatch:
79316         * modules/unicodeio, modules/userspec, modules/version-etc:
79317         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
79318         * modules/xsetenv:
79319         Depend on gettext-h, not gettext.
79320
79321 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79322
79323         * gnulib-tool (func_import): Add support for 'public domain' license.
79324         * modules/alloca, modules/atexit, modules/memmove:
79325         Now public domain, not GPL.
79326         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
79327         * modules/realloc, modules/strerror, modules/strtod:
79328         Now LGPL, not GPL.
79329
79330 2005-07-05  Bruno Haible  <bruno@clisp.org>
79331
79332         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
79333         autoconf CVS. Needed for mingw.
79334
79335 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79336
79337         Remove the dependency of the strftime module on the tzset module.
79338         * modules/strftime (Depends-on): Remove dependency on tzset.
79339
79340 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79341
79342         Remove the dependency of the strftime module on the tzset module.
79343         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
79344         gl_FUNC_TZSET_CLOBBER.
79345
79346 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79347
79348         Remove the dependency of the strftime module on the tzset module.
79349         * lib/strftime.c (my_strftime)
79350         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
79351         Copy the input structure, to work around some of the bug with
79352         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
79353         Solaris releases, you should also use the tzset module, but we won't
79354         require it as a dependency any more since we don't want LGPLed code
79355         to depend on GPLed code.
79356
79357 2005-07-02  Jim Meyering  <jim@meyering.net>
79358
79359         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
79360         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
79361         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
79362         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
79363
79364 2005-07-02  Jim Meyering  <jim@meyering.net>
79365
79366         * lib/backupfile.c (backup_args): Change a `0' to NULL.
79367
79368 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79369
79370         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
79371         declares only 'struct timespec;' (!).
79372
79373 2005-07-01  Jim Meyering  <jim@meyering.net>
79374
79375         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
79376         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
79377         * lib/save-cwd.c, tempname.c:
79378         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79379         and don't include <sys/file.h>).
79380
79381 2005-06-29  Jim Meyering  <jim@meyering.net>
79382
79383         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
79384         type name.  Use the variable name instead.
79385         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
79386         Likewise.
79387
79388 2005-06-28  Simon Josefsson  <jas@extundo.com>
79389
79390         * modules/check-version (Files): Add check-version.m4.
79391
79392 2005-06-28  Simon Josefsson  <jas@extundo.com>
79393
79394         * m4/check-version.m4: New file, suggested by Jim Meyering
79395         <jim@meyering.net>.
79396
79397 2005-06-28  Simon Josefsson  <jas@extundo.com>
79398
79399         * lib/check-version.h, lib/check-version.c: New files.
79400
79401 2005-06-28  Simon Josefsson  <jas@extundo.com>
79402
79403         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
79404         collision with global variable.  Better indentation.  Don't
79405         increment buffer pointer beyond buffer end.  Based on comments
79406         from Paul Eggert <eggert@cs.ucla.edu>.
79407
79408         * lib/base64.h: Indent.
79409
79410 2005-06-28  Simon Josefsson  <jas@extundo.com>
79411
79412         * doc/gnulib.texi (Library version handling): New section.
79413
79414 2005-06-28  Jim Meyering  <jim@meyering.net>
79415
79416         * check-module (find_included_lib_files): Hard-code another
79417         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
79418         but modules/fts-lgpl (correctly) does not list those files.
79419
79420         * modules/canonicalize (Files): Add lib/pathmax.h.
79421
79422 2005-06-25  Simon Josefsson  <jas@extundo.com>
79423
79424         * modules/check-version: New file.
79425
79426 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
79427
79428         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
79429         initializer of struct addrinfo, as an indication that we don't
79430         care how many members the structure has.
79431
79432 2005-06-24  Derek Price  <derek@ximbiot.com>
79433         and Bruno Haible  <bruno@clisp.org>
79434
79435         Remove stat module & update lstat.
79436         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
79437         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79438         * m4/stat.m4: Remove this file.
79439
79440 2005-06-24  Derek Price  <derek@ximbiot.com>
79441         and Bruno Haible  <bruno@clisp.org>
79442
79443         Remove stat module & update lstat.
79444         * lib/stat.c: Remove this file...
79445         (slash_aware_lstat): ...moving this content and its support...
79446         * lib/lstat.c (rpl_lstat): ...into here.
79447         * lib/lstat.h: New file.
79448
79449 2005-06-24  Derek Price  <derek@ximbiot.com>
79450         and Bruno Haible  <bruno@clisp.org>
79451
79452         Remove stat module & update lstat.
79453         * config/srclist.txt (libc sources): Remove stat.
79454
79455 2005-06-24  Derek Price  <derek@ximbiot.com>
79456         and Bruno Haible  <bruno@clisp.org>
79457
79458         Remove stat module & update lstat.
79459         * MODULES.html.sh (stat): Remove.
79460         * MODULES.html: Regenerated.
79461         * modules/lstat (Description): Correct function name.
79462         (Files): Add "lstat.h".
79463         (Depends-on): Remove stat, add xalloc, stat-macros.
79464         * modules/stat: Remove this file.
79465         (Include): Add "lstat.h", remove <sys/stat.h>.
79466
79467 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
79468
79469         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
79470         (ranged_convert): Don't save conversion in a temporary struct.
79471         This causes a warning with GCC 4.0.0, and anyway in the typical
79472         case it's not worth the extra 100 bytes or so of code.
79473         (ranged_convert, __mktime_internal): When calling a function via a
79474         pointer P, use P () rather than (*P) (), as we now assume C89 or
79475         better.
79476
79477 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79478
79479         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
79480         "who -r" failed to give output.  Problem reported by Tim Waugh.
79481
79482         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
79483         (xcalloc): Use it to avoid needless tests.
79484         Problem reported by Jim Meyering.
79485
79486 2005-06-20  Derek Price  <derek@ximbiot.com>
79487
79488         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
79489         unnecessary for Autoconfs > 2.59c.
79490
79491 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79492
79493         * lib/argp.h (__option_is_short): Check upper limit of
79494         __key. Isprint() requires its argument to have the value
79495         of an unsigned char or EOF.
79496
79497 2005-06-16  Jim Meyering  <jim@meyering.net>
79498
79499         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
79500         when either N or S is zero.
79501
79502 2005-06-16  Derek Price  <derek@ximbiot.com>
79503
79504         * m4/bison.m4: Declare YACC & YFLAGS precious.
79505
79506 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
79507
79508         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
79509         multibyte string or pattern, fall back on unibyte matching.
79510         Problem reported by James Youngman.
79511
79512 2005-06-08  Bruno Haible  <bruno@clisp.org>
79513
79514         * modules/csharpcomp: New file.
79515         * MODULES.html.sh (C#): Add csharpcomp.
79516
79517 2005-06-08  Bruno Haible  <bruno@clisp.org>
79518
79519         * m4/csharpcomp.m4: New file, from GNU gettext.
79520
79521 2005-06-08  Bruno Haible  <bruno@clisp.org>
79522
79523         * lib/csharpcomp.h: New file, from GNU gettext.
79524         * lib/csharpcomp.c: New file, from GNU gettext.
79525         * lib/csharpcomp.sh.in: New file, from GNU gettext.
79526
79527 2005-06-08  Bruno Haible  <bruno@clisp.org>
79528
79529         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
79530         warning on mingw.
79531
79532 2005-06-07  Derek Price  <derek@ximbiot.com>
79533
79534         Sync from CVS.
79535         * lib/glob_.h: Indent nested #ifdef.
79536
79537 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79538
79539         Sync from coreutils.
79540         Use "file name" when talking about file names, instead of "filename"
79541         or "path", as per the GNU coding standards.
79542         * lib/mkdir-p.c: Renamed from makepath.c.
79543         (make_dir_parents): Renamed from make_path.  All callers changed.
79544         * lib/mkdir-p.h: Likewise.  All includers changed.
79545         * lib/filenamecat.c: Renamed from path-concat.c.
79546         (file_name_concat): Renamed from path_concat.  All callers changed.
79547         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
79548         * lib/filenamecat.h: Likewise.  All includers changed.
79549         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
79550         in comments or local variable names.
79551         * lib/basename.c: Likewise.
79552         * lib/canonicalize.c, canonicalize.h: Likewise.
79553         * lib/dirname.c, dirname.h: Likewise.
79554         * lib/euidaccess.c: Likewise.
79555         * lib/exclude.c: Likewise
79556         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
79557         * lib/fsusage.c, fsuage.h: Likewise.
79558         * lib/fts.c, fts_.h: Likewise.
79559         * lib/getcwd.c: Likewise.
79560         * lib/getloadavg.c: Likewise.
79561         * lib/mkstemp.c: Likewise.
79562         * lib/mountlist.c, mountlist.h: Likewise.
79563         * lib/openat.c, openat.h: Likewise.
79564         * lib/readlink-stub.c: Likewise.
79565         * lib/readutmp.c, readutmp.h: Likewise.
79566         * lib/rename.c: Likewise.
79567         * lib/rmdir.c: Likewise.
79568         * lib/same.c: Likewise.
79569         * lib/savedir.c: Likewise.
79570         * lib/stripslash.c: Likewise.
79571         * lib/tempname.c: Likewise.
79572         * lib/xreadlink.c: Likewise.
79573         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
79574         All uses changed.
79575         * lib/exclude.h: Likewise.
79576
79577         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
79578         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79579         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
79580         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79581         * lib/pathmax.h: Include <limits.h> unconditionally, since other
79582         files have been getting away with it for years (MORE/BSD 4.3
79583         is extinct now).
79584         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
79585         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79586
79587         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
79588         Define to 256, not 255, as per modern POSIX.
79589
79590 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79591
79592         Sync from coreutils.
79593         Use "file name" when talking about file names, instead of "filename"
79594         or "path", as per the GNU coding standards.
79595         * MODULES.html.sh: mkdir-p renamed from makepath.
79596         filenamecat renamed from path-concat.
79597         * modules/filenamecat: Renamed from modules/path-concat.
79598         (Files): filenamecat.h and filenamecat.c renamed from
79599         path-concat.h and path-concat.c.
79600         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
79601         (Include): filenamecat.h, not path-concat.h.
79602         * modules/mkdir-p: Renamed from modules/makepath.
79603         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
79604         makepath.c.
79605         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
79606         (Include): mkdir-p.h, not makepath.h.
79607
79608 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79609
79610         Sync from coreutils.
79611         * m4/mkdir-p.m4: Renamed from makepath.m4.
79612         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
79613         Rename files from makepath.c to mkdir-p.c, and from
79614         makepath.h to mkdir-p.h.
79615         * m4/filenamecat.m4: Renamed from path-concat.m4.
79616         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
79617         Rename files from path-concat.c to filenamecat.c,
79618         and from path-concat.h to filenamecat.h.
79619         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
79620         "file name" in local variables or comments.
79621         * m4/rename.m4: Likewise.
79622
79623 2005-06-01  Bruno Haible  <bruno@clisp.org>
79624
79625         * modules/csharpexec: New file.
79626         * MODULES.html.sh (C#): New section.
79627
79628 2005-06-01  Bruno Haible  <bruno@clisp.org>
79629
79630         * m4/csharp.m4: New file, from GNU gettext.
79631         * m4/csharpexec.m4: New file, from GNU gettext.
79632
79633 2005-06-01  Bruno Haible  <bruno@clisp.org>
79634
79635         * lib/csharpexec.h: New file, from GNU gettext.
79636         * lib/csharpexec.c: New file, from GNU gettext.
79637         * lib/csharpexec.sh.in: New file, from GNU gettext.
79638
79639 2005-05-31  Derek Price  <derek@ximbiot.com>
79640             Paul Eggert  <eggert@cs.ucla.edu>
79641
79642         Sync from cvs.
79643         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79644
79645 2005-05-31  Derek Price  <derek@ximbiot.com>
79646             Paul Eggert  <eggert@cs.ucla.edu>
79647
79648         Sync from cvs.
79649         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79650
79651 2005-05-29  Derek Price  <derek@ximbiot.com>
79652
79653         * config/srclist.txt (glob_.h, glob.c): Add these files.
79654
79655 2005-05-29  Derek Price  <derek@ximbiot.com>
79656
79657         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
79658         * modules/glob: New file.
79659         * modules/getlogin_r: Add link to POSIX spec in description.
79660
79661 2005-05-29  Derek Price  <derek@ximbiot.com>
79662             Paul Eggert  <eggert@cs.ucla.edu>
79663
79664         * m4/glob.m4: New file.
79665
79666 2005-05-29  Derek Price  <derek@ximbiot.com>
79667             Paul Eggert  <eggert@cs.ucla.edu>
79668
79669         * lib/glob_.h, lib/glob.c: New files.
79670
79671 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79672
79673         * modules/fts (Files): Remove m4/inttypes-pri.m4.
79674         * modules/fts-lgpl (Depends-on): Remove gettext.
79675
79676 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79677
79678         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
79679         and don't require gt_INTTYPES_PRI.
79680
79681 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79682
79683         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
79684
79685         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
79686         the configuration hassle isn't worth it.
79687         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
79688         (LONGEST_MODIFIER, PRIuMAX): Remove.
79689
79690 2005-05-27  Bruno Haible  <bruno@clisp.org>
79691
79692         * lib/getlogin_r.h: Remove second include of <stddef.h>.
79693
79694 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
79695
79696         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
79697         _POSIX_PTHREAD_SEMANTICS for Solaris.
79698
79699 2005-05-25  Derek Price  <derek@ximbiot.com>
79700
79701         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
79702
79703 2005-05-25  Derek Price  <derek@ximbiot.com>
79704             Paul Eggert  <eggert@cs.ucla.edu>
79705
79706         * modules/getlogin_r, m4/getlogin_r.m4: New files.
79707         * lib/getlogin_r.c, getlogin_r.h: New files.
79708
79709 2005-05-25  Bruno Haible  <bruno@clisp.org>
79710             Derek Price  <derek@ximbiot.com>
79711
79712         * lib/getlogin_r.h: Simplify API documentation.
79713
79714 2005-05-23  Derek Price  <derek@ximbiot.com>
79715
79716         * modules/minmax (Files): Add m4/minmax.m4.
79717         (configure.ac): Add gl_MINMAX.
79718
79719 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79720
79721         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
79722         so that unistd-safer.h (GPL'ed code) need not be included.
79723
79724 2005-05-22  Bruno Haible  <bruno@clisp.org>
79725
79726         * m4/minmax.m4: New file.
79727         Based on a patch by Derek Price <derek@ximbiot.com>.
79728
79729 2005-05-22  Bruno Haible  <bruno@clisp.org>
79730
79731         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
79732         (INT64_MIN): Fix definition.
79733         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
79734
79735         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
79736         NEED_SIGNED_INT_TYPES.
79737
79738         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
79739         HAVE_SYSTEM_INTTYPES.
79740
79741 2005-05-22  Bruno Haible  <bruno@clisp.org>
79742
79743         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
79744         Also include <sys/param.h> if it defines MIN, MAX.
79745         Based on a patch by Derek Price <derek@ximbiot.com>.
79746
79747 2005-05-21  Jim Meyering  <jim@meyering.net>
79748
79749         * modules/fts (Files): Add m4/inttypes-pri.m4.
79750         (Depends-on): Add lstat and remove gettext.  Alphabetize.
79751
79752 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79753
79754         New fts module.
79755         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
79756         (setup_dir, free_dir): New functions.
79757         (enter_dir, leave_dir): Define trivial
79758         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
79759         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
79760         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
79761         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
79762         Move to fts-cycle.c.
79763         (fts_open): Use setup_dir.
79764         (fts_close): Use free_dir.
79765         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
79766         This adds a label and some gotos, but the alternatives were messier.
79767         Check for memory allocation failure when entering a dir.
79768         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
79769         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
79770         (FTS): New member fts_cycle, that is a union that contains the
79771         old active_dir_ht and cycle_state.  All uses changed to mention
79772         fts_cycle.ht and fts_cycle.state.
79773         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
79774         fts.c, with the following changes:
79775         (setup_dir, free_dir): New functions.
79776         (enter_dir): Now returns bool.  Return true if successful, false
79777         if memory exhausted.  All callers changed.
79778         Do not bother partly cleaning up on
79779         memory allocation failure; that is free_dir's job.
79780         However, free ad if hash_insert fails, to avoid memory leak.
79781         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
79782         fts->fts_options to see which union member to use.
79783
79784 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79785
79786         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
79787         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
79788
79789 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79790
79791         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
79792
79793 2005-05-20  Jim Meyering  <jim@meyering.net>
79794
79795         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
79796         Now a macro, to pacify GCC.
79797
79798 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79799
79800         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
79801         of -1.
79802
79803 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79804
79805         * lib/chown.c (rpl_chown): Return -1 on failure.
79806
79807 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79808
79809         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
79810         Don't check for stddef.h.
79811         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
79812         don't use its results.
79813         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
79814         since we include them unconditionally.  Don't require
79815         AM_STDBOOL_H, since stdbool is a prerequisite.
79816         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
79817         since we assume C89 or better.
79818         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
79819         as we don't use their results.
79820         Don't check for fchdir, memmove, memset, strrchr, as we use
79821         them unconditionally.
79822         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
79823         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
79824
79825 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79826
79827         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
79828         Include <stddef.h> unconditionally, since we assume C89 now.
79829         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
79830         * lib/fts.c: Include fts_.h first, to check interface.
79831         Do not include intprops.h; no longer needed.
79832         Include cycle-check.h and hash.h, since fts_.h no longer does.
79833         Remove unnecessary casts of closedir to void.
79834         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
79835         decide whether to decrement nlinks.
79836         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
79837         (FTS): Use struct hash_table * instead of Hash_table, so that
79838         we no longer need to include hash.h here.
79839
79840 2005-05-18  Jim Meyering  <jim@meyering.net>
79841
79842         * modules/dirfd (License): Change to LGPL.  Most of the code
79843         is already in the public domain.
79844
79845 2005-05-18  Jim Meyering  <jim@meyering.net>
79846
79847         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
79848         Reported by Yoann Vandoorselaere.
79849
79850 2005-05-17  Jim Meyering  <jim@meyering.net>
79851
79852         * m4/fts.m4: New file, from coreutils.
79853
79854 2005-05-17  Jim Meyering  <jim@meyering.net>
79855
79856         * lib/fts.c, lib/fts_.h: New files, from coreutils.
79857
79858 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79859
79860         Sync from coreutils.
79861         * m4/unlinkdir.m4: New file.
79862
79863 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79864
79865         Sync from coreutils.
79866         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
79867         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
79868         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
79869         White space changes only.
79870         * lib/makepath.c (make_path): Port to hosts where leading "//" is
79871         special.
79872         * lib/yesno.c: Include getline.h, not ctype.h.
79873         (yesno): Don't remove leading white space; POSIX doesn't allow it.
79874         Use getline to remove arbitrary restriction on response length.
79875
79876 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79877
79878         * config/srclist-update: Spell out "Street" in FSF postal
79879         mail address; this is the style the FSF seems to prefer.
79880
79881         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
79882         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
79883         this updates FSF postal mail address.
79884
79885         Sync from coreutils.
79886         * modules/unlinkdir: New file.
79887         * modules/yesno (Depends-on): Add getline.
79888         * MODULES.html.sh (File system functions): Add unlinkdir.
79889
79890 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79891
79892         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
79893         lib/strsep.h:
79894         Change the initial comment to refer to GPL, not LGPL.
79895         gnulib-tool will change it to LGPL as needed.
79896
79897         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
79898         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
79899         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
79900         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
79901         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
79902         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
79903         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
79904         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
79905         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
79906         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
79907         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
79908         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
79909         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
79910         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
79911         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
79912         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
79913         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
79914         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
79915         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
79916         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
79917         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
79918         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
79919         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
79920         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
79921         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
79922         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
79923         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
79924         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
79925         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
79926         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
79927         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
79928         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
79929         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
79930         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
79931         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
79932         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
79933         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
79934         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
79935         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
79936         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
79937         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
79938         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
79939         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
79940         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
79941         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
79942         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
79943         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
79944         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
79945         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
79946         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
79947         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79948         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
79949         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
79950         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
79951         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
79952         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
79953         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
79954         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
79955         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
79956         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
79957         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
79958         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
79959         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
79960         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
79961         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
79962         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
79963         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
79964         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
79965         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
79966         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
79967         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
79968         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
79969         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
79970         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
79971         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
79972         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
79973         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
79974         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
79975         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
79976         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
79977         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
79978         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
79979         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
79980         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
79981         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
79982         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
79983         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
79984         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
79985         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
79986         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
79987         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
79988         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
79989         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
79990         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
79991         lib/yesno.c, lib/yesno.h:
79992         Update FSF postal mail address.
79993
79994 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79995
79996         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
79997         tests/test-memmem.c, tests/test-stpncpy.c:
79998         Update FSF postal mail address.
79999
80000 2005-05-13  Bruno Haible  <bruno@clisp.org>
80001
80002         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
80003         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
80004         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
80005         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
80006         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
80007         Add support for 64-bit integers in the MSVC compiler.
80008
80009 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80010
80011         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
80012
80013 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
80014
80015         * gnulib-tool (func_import): Sort and uniquify recommended includes.
80016
80017 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
80018
80019         * doc/getdate.texi (General date syntax): Don't say that date
80020         date --iso-8601=ns generates acceptable dates; it doesn't yet.
80021         Problem reported by Nic Ferrier.
80022
80023 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80024
80025         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
80026         specified in ai_socktype. Fix invalid ai_protocol
80027         check. ai_protocol is usually set to 0 or depending on
80028         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
80029         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
80030         ai_socktype / ai_protocol in the returned addrinfo structure.
80031
80032 2005-05-10  Simon Josefsson  <jas@extundo.com>
80033
80034         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
80035         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80036
80037 2005-05-10  Karl Berry  <karl@gnu.org>
80038
80039         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
80040         (from http://www.gnu.org/licenses).
80041         * doc/COPYING.LIB: also rename to COPYING.LESSER.
80042         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
80043         fdl.texi suffices.
80044
80045 2005-05-10  Karl Berry  <karl@gnu.org>
80046
80047         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
80048         (COPYING.DOC): remove.
80049
80050         * config/srclist-update: new FSF address.
80051
80052 2005-05-10  Derek Price  <derek@ximbiot.com>
80053
80054         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
80055         possible.
80056
80057 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80058             Bruno Haible  <bruno@clisp.org>
80059
80060         * modules/inet_ntop: New file.
80061         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80062         inet_ntop.
80063
80064 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80065             Bruno Haible  <bruno@clisp.org>
80066
80067         * m4/inet_ntop.m4: New file.
80068
80069 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80070             Bruno Haible  <bruno@clisp.org>
80071
80072         * lib/inet_ntop.h: New file.
80073         * lib/inet_ntop.c: New file, from glibc with modifications.
80074
80075 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
80076
80077         * modules/time_r (License): Change to LGPL.
80078         * modules/extensions (License): Change to LGPL.  Actually,
80079         the license is more permissive than that, but currently gnulib-tool
80080         doesn't know how to handle more-permissive licenses.
80081
80082         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
80083         Problem reported by Dave Love.
80084
80085 2005-05-08  Jim Meyering  <jim@meyering.net>
80086
80087         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
80088         blank.
80089
80090 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80091
80092         * modules/argmatch (Depends-on): Add stdbool.
80093         * modules/backupfile (Depends-on): Likewise.
80094         * modules/chdir-long (Depends-on): Likewise.
80095         * modules/closeout (Depends-on): Likewise.
80096         * modules/cycle-check (Depends-on): Likewise.
80097         * modules/dirname (Depends-on): Likewise.
80098         * modules/fnmatch (Depends-on): Likewise.
80099         * modules/fsusage (Depends-on): Likewise.
80100         * modules/fwriteerror (Depends-on): Likewise.
80101         * modules/getcwd (Depends-on): Likewise.
80102         * modules/getloadavg (Depends-on): Likewise.
80103         * modules/hard-locale (Depends-on): Likewise.
80104         * modules/makepath (Depends-on): Likewise.
80105         * modules/mountlist (Depends-on): Likewise.
80106         * modules/nanosleep (Depends-on): Likewise.
80107         * modules/posixtm (Depends-on): Likewise.
80108         * modules/quotearg (Depends-on): Likewise.
80109         * modules/readtokens (Depends-on): Likewise.
80110         * modules/readtokens0 (Depends-on): Likewise.
80111         * modules/readutmp (Depends-on): Likewise.
80112         * modules/save-cwd (Depends-on): Likewise.
80113         * modules/strftime (Depends-on): Likewise.
80114         * modules/userspec (Depends-on): Likewise.
80115         * modules/utimecmp (Depends-on): Likewise.
80116         * modules/xgetcwd (Depends-on): Likewise.
80117         * modules/xnanosleep (Depends-on): Likewise.
80118         * modules/xstrtod (Depends-on): Likewise.
80119         * modules/yesno (Depends-on): Likewise.
80120
80121 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
80122
80123         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
80124         needless checks.
80125
80126 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80127
80128         Merge from coreutils.  Among other things,
80129         add bulletproofing for cases where stdin, stdout, or stderr are closed.
80130         * lib/fd-safer.c: New file.
80131         * lib/fcntl-safer.h, open-safer.c: Remove.
80132         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
80133         * lib/dup-safer.c: Include unistd-safer.h first.
80134         Don't include errno.h.
80135         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
80136         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
80137         * lib/file-type.c: Rely on file-type.h change.
80138         * lib/getloadavg.c: Include unistd-safer.h.
80139         (getloadavg): Use safer open.
80140         * lib/getusershell.c: Include "stdio-safer.h".
80141         (getusershell): Use safer fopen.
80142         * lib/long-options.c (long_options): Use NULL rather than 0.
80143         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
80144         'free'.
80145         * lib/modechange.c: Likewise.
80146         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
80147         (MODE_DONE): New constant.
80148         (struct mode_change): Remove 'next' member.
80149         (make_node_op_equals): New function; like the old one of the
80150         same name, except it allocates an array.
80151         (mode_compile, mode_create_from_ref): Use it.
80152         (mode_compile): Allocate result as an array, not a linked list.
80153         Parse octal string ourself, so that we catch mistakes like "+0".
80154         (mode_adjust): Arg is an array, not a linked list.
80155         * lib/modechange.c: Include stat-macros.h, xalloc.h.
80156         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
80157         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
80158         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
80159         Remove.  This is now stat-macros.h's job.
80160         (talloc): Remove.  All callers replaced by xalloc, so that
80161         our invokers don't have to worry about reporting memory failures.
80162         (make_node_op_equals): Remove.
80163         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80164         New constants.
80165         (struct mode_change): Moved here from modechange.h.
80166         (mode_append_entry): Remove.
80167         (mode_compile): Remove MASKED_OPS arg, since it encouraged
80168         apps to have incorrect behavior.  Use simpler algorithm for head
80169         and tail.  Don't futz with umask; that's now the job of mode_adjust.
80170         Detect more invalid usages rather than having somewhat-random behavior.
80171         Don't insert an "a=" action, as that leads to incorrect behavior.
80172         (mode_compile, mode_create_from_ref): Return NULL on error instead
80173         of an enum, since now there's only one way to have an error.  All
80174         callers changed.
80175         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
80176         at the correct time.  Simplify calculation of "+u" and its ilk.
80177         Don't mishandle "+X".
80178         (mode_free): Remove "register" and localize decls.
80179         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80180         (struct mode_change): Move to modechange.c; callers don't
80181         need to see this stuff.
80182         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
80183         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
80184         (mode_change, mode_adjust): Reflect the new signatures noted above.
80185         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
80186         that might redefine system include files.
80187         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
80188         (my_usleep): Use NULL rather than (void *) 0.
80189         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
80190         Use siginterrupt to specify that system calls should be interrupted.
80191         (rpl_nanosleep): Move initialization of suspended closer to call of
80192         my_usleep.
80193         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
80194         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
80195         (desirable_utmp_entry): New function.
80196         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
80197         using x2nrealloc, to simplify logic.
80198         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
80199         size calculation.  Do not assume utmp file is a regular file.
80200         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
80201         (READ_UTMP_CHECK_PIDS): New constant.
80202         * lib/save-cwd.c: Include unistd-safer.h.
80203         (save_cwd): Use fd_safer.
80204         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
80205         [!_LIBC] Include "stat-macros.h" instead.
80206         * lib/unistd-safer.h (fd_safer): New decl.
80207
80208 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80209
80210         * modules/getloadavg (Depends-on): Add unistd-safer.
80211         * modules/getusershell (Depends-on): Add stdio-safer.
80212         * modules/lstat (Depends-on): Remove xalloc.
80213         * modules/mkstemp (Depends-on): Add stat-macros.
80214         * modules/modechange (Depends-on): Remove xstrtol.
80215         Add stat-macros, xalloc.
80216         * modules/save-cwd (Depends-on): Add unistd-safer.
80217         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
80218         * modules/unistd-safer (Files): Add lib/fd-safer.c
80219         (Makefile.am): Remove lib_SOURCES.
80220
80221         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
80222         Remove fcntl-safer; unistd-safer supersedes it.
80223
80224 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80225
80226         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
80227         AC_HEADER_STAT.
80228         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
80229         (gl_PREREQ_CHOWN): Remove.
80230         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
80231         it.  Don't require AC_HEADER_STAT.
80232         (gl_PREREQ_LSTAT): Remove.
80233         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
80234         Don't require AC_HEADER_STAT.
80235         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
80236         (gl_PREREQ_RMDIR): Remove.
80237         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
80238         mention stat-macros.h or AC_HEADER_STAT, since we'll make
80239         the stat-macros module a prerequisite.
80240         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
80241         * m4/filemode.m4 (gl_FILEMODE): Likewise.
80242         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
80243         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
80244         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
80245         variable names.
80246         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
80247         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
80248         variable prefixes.
80249         * m4/fcntl-safer.m4: Remove.
80250         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
80251         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
80252         Invoke gl_PREREQ_FD_SAFER.
80253         (gl_PREREQ_FD_SAFER): New macro.
80254         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
80255         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
80256         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
80257         Remove duplicate call to AC_LIBOBJ(readutmp).
80258         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
80259
80260         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
80261         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
80262
80263 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80264
80265         * MODULES.html.sh (Misc): Add byteswap.
80266
80267 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80268
80269         * modules/getcwd (Depends-on): Add extensions.
80270         * modules/openat (Depends-on): Likewise.
80271
80272 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80273
80274         * modules/byteswap: New file.
80275
80276 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80277
80278         * m4/byteswap.m4: New file.
80279
80280 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80281
80282         * lib/byteswap_.h: New file.
80283
80284 2005-04-25  Karl Berry  <karl@gnu.org>
80285
80286         * m4/gettext.m4: Update from GNU gettext 0.14.4.
80287
80288 2005-04-25  Albert Chin  <china@thewrittenword.com>
80289
80290         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
80291         Toolkit C bug.
80292
80293 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
80294
80295         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
80296         (func_ln_if_changed): Remove forcibly for no error message
80297         in case file does not exist.
80298
80299 2005-04-19  Simon Josefsson  <jas@extundo.com>
80300
80301         * gnulib-tool (Options): Make --symlink mean --symbolic.
80302
80303 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
80304
80305         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
80306
80307 2005-04-16  Simon Josefsson  <jas@extundo.com>
80308
80309         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
80310
80311 2005-04-15  Simon Josefsson  <jas@extundo.com>
80312
80313         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
80314
80315 2005-04-15  Simon Josefsson  <jas@extundo.com>
80316
80317         * gnulib-tool: Rename --symlink to --symbolic.
80318
80319 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
80320
80321         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
80322         symbolic links to files instead of copying/moving.  Add --aux-dir,
80323         specifying directory relative --dir where auxiliary build tools
80324         are placed.
80325
80326 2005-04-14  Bruno Haible  <bruno@clisp.org>
80327
80328         * modules/allocsa (License): Change to LGPL.
80329         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
80330
80331 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80332
80333         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
80334         that "UTC +1 second" continues to work.  Problem reported
80335         by Dmitry V. Levin.
80336         (relunit_snumber): New rule.
80337         (relunit): Use it.
80338
80339 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80340
80341         * lib/getdate.y (universal_time_zone_table): New constant.
80342         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
80343         universal_time_zone_table.
80344         (lookup_zone): Prefer universal_time_zone_table to
80345         local_time_zone_table, so that "GMT" time stamps are allowed in
80346         London during the summer.  Problem reported by Ian Abbott.
80347
80348 2005-04-12  Jim Meyering  <jim@meyering.net>
80349
80350         * lib/human.c (humblock): Set *options even when returning due to
80351         xstrtoumax conversion failure.  Thanks to a used-uninitialized
80352         warning from gcc-4.
80353
80354 2005-04-09  Jim Meyering  <jim@meyering.net>
80355
80356         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
80357         -Wuninitialized: initialize tm0.tm_year.
80358
80359 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
80360
80361         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
80362         count, since there's no maximum.  All uses changed.
80363         Add member dsts_seen.
80364         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
80365         not being INT_MAX.
80366         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
80367         Use pc_rels_seen to decide whther a date is absolute.
80368
80369         * lib/getdate.y (number): Don't overwrite year.
80370         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
80371         check.
80372
80373 2005-04-02  Simon Josefsson  <jas@extundo.com>
80374
80375         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
80376         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
80377
80378 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
80379
80380         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
80381         where no absolute path name can be longer than PATH_MAX.
80382
80383 2005-03-27  Jim Meyering  <jim@meyering.net>
80384
80385         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
80386
80387 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
80388
80389         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
80390         "one's complement" -> "ones' complement" in comment, as per Knuth.
80391         "value of type" -> "type or expression" in comment.
80392         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
80393
80394 2005-03-26  Jim Meyering  <jim@meyering.net>
80395
80396         Comment nits.
80397         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
80398         Correct typos: s/or/of/.
80399
80400 2005-03-26  Jim Meyering  <jim@meyering.net>
80401
80402         * modules/check-include-files: Move to ../ and rename to...
80403         * check-module: ...this.
80404
80405 2005-03-25  Jim Meyering  <jim@meyering.net>
80406
80407         * modules/xvasprintf (Files): Add xalloc.h.
80408
80409 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
80410
80411         * modules/gettext (Files): config/config.rpath ->
80412         build-aux/config.rpath
80413         * modules/iconv (Files): Likewise.
80414         Problem reported by Oskar Liljeblad.
80415
80416 2005-03-23  Jim Meyering  <jim@meyering.net>
80417
80418         * modules/check-include-files: New script to check for
80419         missing dependencies, multiple includes, etc.
80420
80421         * modules/c-strtold (Depends-on): Add xalloc.
80422         * modules/c-strtod (Depends-on): Add xalloc.
80423         * modules/hash (Depends-on): Add xalloc.
80424         (Files): Remove lib/xalloc.h.
80425
80426         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
80427         * modules/userspec (Files): Add lib/inttostr.h.
80428
80429 2005-03-23  Jim Meyering  <jim@meyering.net>
80430
80431         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
80432
80433 2005-03-22  Jim Meyering  <jim@meyering.net>
80434
80435         * modules/stat-macros: New module.
80436         * modules/canonicalize, modules/euidaccess, modules/file-type,
80437         * modules/filemode, modules/lchown, modules/makepath,
80438         * modules/rmdir, modules/stat: Depend on new stat-macros module
80439         rather than listing lib/stat-macros.h manually.
80440         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
80441
80442 2005-03-22  Jim Meyering  <jim@meyering.net>
80443
80444         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
80445
80446 2005-03-22  Bruno Haible  <bruno@clisp.org>
80447
80448         * config/srclist.txt: Replace target directory 'config' with
80449         'build-aux'.
80450         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
80451         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
80452         ../build-aux/.
80453
80454 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
80455
80456         * modules/chdir-long (Depends-on): Add mempcpy.
80457
80458         * modules/acl, modules/backupfile, modules/c-strtod,
80459         modules/c-strtold, modules/canon-host, modules/canonicalize,
80460         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
80461         modules/exclude, modules/exitfail, modules/file-type,
80462         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
80463         modules/getdate, modules/getline, modules/getpagesize,
80464         modules/getpass, modules/getugroups, modules/group-member,
80465         modules/hard-locale, modules/hash, modules/human, modules/idcache,
80466         modules/inttostr, modules/long-options, modules/makepath,
80467         modules/md5, modules/memcasecmp, modules/memcoll,
80468         modules/modechange, modules/mountlist, modules/path-concat,
80469         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
80470         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
80471         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
80472         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
80473         modules/strftime, modules/strndup, modules/strverscmp,
80474         modules/timespec, modules/unlocked-io, modules/userspec,
80475         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
80476         modules/yesno:
80477         Remove lib_SOURCES line from Makefile.am section, as this is now
80478         done automatically by the corresponding Autoconf macro.
80479
80480 2005-03-21  Jim Meyering  <jim@meyering.net>
80481
80482         Changes imported from coreutils.
80483
80484         * lib/cycle-check.c: Don't include xalloc.h.
80485
80486         * lib/path-concat.c: Don't include assert.h.
80487         (path_concat): Remove assertion that would have triggered
80488         for ABASE starting with more than one slash.
80489         Reported by Andreas Schwab.
80490
80491         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
80492         properly when ABASE is an absolute file name.
80493         Correct the description of this function.
80494         Include <assert.h>.
80495         Add an assertion and a test driver.
80496         This fixes a bug introduced on 2004-07-02.
80497         Andreas Schwab reported the resulting failure of cp --parents:
80498         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
80499
80500 2005-03-21  Jim Meyering  <jim@meyering.net>
80501
80502         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
80503         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
80504
80505 2005-03-21  Jim Meyering  <jim@meyering.net>
80506         and  Paul Eggert  <eggert@cs.ucla.edu>
80507
80508         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
80509         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
80510         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
80511         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
80512         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
80513         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
80514         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
80515         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
80516         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
80517         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
80518         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
80519         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
80520         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
80521         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
80522         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
80523         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
80524         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
80525         for these modules.
80526
80527 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
80528
80529         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
80530         (which shouldn't happen), generate nothing instead of returning 0
80531         immediately, so that nstrftime (NULL, ...) doesn't return 0.
80532
80533 2005-03-16  Bruno Haible  <bruno@clisp.org>
80534
80535         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
80536         HAVE_LONGLONG_64BIT.
80537
80538 2005-03-16  Bruno Haible  <bruno@clisp.org>
80539
80540         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
80541         HAVE_LONGLONG_64BIT.
80542
80543 2005-03-16  Bruno Haible  <bruno@clisp.org>
80544
80545         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
80546         HAVE_LONGLONG_64BIT.
80547
80548 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80549
80550         * lib/strftime.c (my_strftime): Prepend space to format so that we can
80551         reliably distinguish strftime failure from empty output on POSIX
80552         hosts.
80553
80554 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80555
80556         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
80557         (iconv_string): Don't guess a size-zero buffer, as that might cause
80558         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
80559         result would be 'too large', where 'too large' is (heuristically)
80560         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
80561         overflow concerns.  This will prevent some unwanted malloc failures
80562         when the inputs are very large.
80563
80564 2005-03-15  Karl Berry  <karl@gnu.org>
80565
80566         * config/srclist.txt (config.rpath): from gettext.
80567         * config/config.rpath: update.
80568
80569 2005-03-15  Bruno Haible  <bruno@clisp.org>
80570
80571         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
80572         to 'negate'.
80573
80574         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
80575         variable.
80576
80577         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
80578         results.
80579
80580 2005-03-14  Simon Josefsson  <jas@extundo.com>
80581
80582         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
80583         <fx@gnu.org>.
80584
80585 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
80586
80587         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
80588         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
80589         intprops.h.
80590         * lib/strtol.c: Likewise.
80591
80592 2005-03-14  Jim Meyering  <jim@meyering.net>
80593
80594         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
80595         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
80596         to be nonzero so that we (and caller) can detect the difference
80597         between a valid zero-length expansion and an error return, even
80598         when the underlying strftime fails before writing anything into
80599         that location.
80600
80601 2005-03-14  Bruno Haible  <bruno@clisp.org>
80602
80603         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
80604         Update from GNU gettext 0.14.3.
80605
80606 2005-03-10  Jim Meyering  <jim@meyering.net>
80607
80608         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
80609
80610 2005-03-10  Jim Meyering  <jim@meyering.net>
80611
80612         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
80613         so that this module works on systems without fchdir.
80614
80615 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
80616
80617         Factor int-properties macros into a single file, except for
80618         glibc-related files.
80619         * lib/intprops.h: New file.
80620         * lib/getloadavg.c: Include it instead of limits.h.
80621         (INT_STRLEN_BOUND): Remove.
80622         * lib/human.c: Include intprops.h.
80623         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
80624         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
80625         302/1000.
80626         * lib/inttostr.h: Include intprops.h instead of limits.h.
80627         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
80628         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
80629         for consistency with intprops.h.
80630         (time_t_is_integer, twos_complement_arithmetic): Use them.
80631         * lib/sig2str.h: Include <signal.h>, intprops.h.
80632         (INT_STRLEN_BOUND): Remove.
80633         * lib/strftime.c (TYPE_SIGNED): Remove.
80634         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
80635         * lib/strtol.c: Adjust comments to match intprops.h.
80636         * lib/userspec.c: Include intprops.h.
80637         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
80638         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
80639         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
80640         instead of rolling our own expressions.
80641         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
80642
80643         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
80644         instead of int.
80645         (my_strftime): Do not mishandle years close to INT_MAX, by doing
80646         the right thing even if adding 1900 would overflow.  Similarly
80647         for tm_mon + 1 and tm_yday + 1.
80648         Make %Y always equivalent to %C%y, and similarly for %G and %g.
80649         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
80650         (DO_SIGNED_NUMBER): New macro.
80651         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
80652
80653 2005-03-07  Bruno Haible  <bruno@clisp.org>
80654
80655         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
80656
80657 2005-03-07  Bruno Haible  <bruno@clisp.org>
80658
80659         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
80660
80661 2005-03-04  Derek R. Price  <derek@ximbiot.com>
80662
80663         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
80664         (func_import): Only replace files via --import when they have actually
80665         changed.
80666
80667 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80668
80669         * m4/mmap-anon.m4: New file.
80670         * m4/pagealign_alloc.m4: New file.
80671
80672 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80673             Bruno Haible  <bruno@clisp.org>
80674
80675         * modules/pagealign_alloc: New file.
80676         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
80677
80678 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80679             Bruno Haible  <bruno@clisp.org>
80680
80681         * lib/pagealign_alloc.h: New file.
80682         * lib/pagealign_alloc.c: New file.
80683
80684 2005-03-03  Bruno Haible  <bruno@clisp.org>
80685
80686         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
80687         Use an all-permissive copyright notice, recommended by RMS.
80688
80689 2005-03-02  Bruno Haible  <bruno@clisp.org>
80690
80691         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
80692         of AIX, the replacement has to be done only after <string.h> is
80693         included, therefore not in config.h. stpncpy.h does the replacement,
80694         and stpncpy.c uses it.
80695
80696 2005-03-02  Bruno Haible  <bruno@clisp.org>
80697
80698         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
80699         stpncpy.c uses it.
80700
80701 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80702
80703         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
80704         The workaround isn't strictly needed for POSIX conformance, and
80705         it's too much of a pain to configure and maintain.  We'll ask
80706         people to fix their kernels instead.
80707         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
80708         (NANOSLEEP_BUG_WORKAROUND): Remove.
80709         (xnanosleep): Remove the workaround.
80710
80711 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80712
80713         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
80714         Reported by Derek Price.
80715         (Include): Add "timespec.h".
80716
80717         * modules/xnanosleep (Depends-on): Remove gethrxtime.
80718
80719 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80720
80721         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
80722         to detect nanosleep bug.
80723
80724 2005-03-01  Bruno Haible  <bruno@clisp.org>
80725
80726         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
80727
80728 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80729
80730         * modules/gethrxtime: New file.
80731         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
80732         (Depends-on): Add gethrxtime.
80733         (configure.ac): Add gl_XNANOSLEEP.
80734         (Makefile.am): Remove lib_SOURCES line.
80735
80736 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80737
80738         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
80739         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
80740
80741 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80742
80743         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
80744         * lib/timespec.h (gettime): Return void, since it always
80745         succeeds now.  All uses changed.
80746         * lib/gettime.c (gettime): Likewise.
80747         [HAVE_NANOTIME]: Prefer nanotime.
80748         Assume gettimeofday succeeds, as POSIX requires.
80749         Assime time () succeeds, since other code already does.
80750         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
80751         (timespec_subtract): Remove.
80752         (NANOSLEEP_BUG_WORKAROUND): New constant.
80753         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
80754         things considerably.  Use it only on GNU/Linux hosts, since the
80755         workaround shouldn't be needed elsewhere.
80756
80757 2005-02-24  Bruno Haible  <bruno@clisp.org>
80758
80759         * modules/gettext (Files): Add m4/glibc2.m4.
80760
80761 2005-02-24  Bruno Haible  <bruno@clisp.org>
80762
80763         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
80764         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
80765         * m4/progtest.m4:
80766         Update from GNU gettext 0.14.2.
80767         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
80768
80769 2005-02-24  Bruno Haible  <bruno@clisp.org>
80770
80771         * lib/localcharset.c: Update from GNU gettext 0.14.2.
80772         * lib/config.charset: Update from GNU gettext 0.14.2.
80773
80774 2005-02-24  Bruno Haible  <bruno@clisp.org>
80775
80776         * lib/gettext.h: Update from GNU gettext 0.14.2.
80777
80778 2005-02-23  Simon Josefsson  <jas@extundo.com>
80779
80780         * m4/iconvme.m4: New file.
80781
80782 2005-02-23  Jim Meyering  <jim@meyering.net>
80783
80784         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
80785         change.
80786         Thanks to Bruno Haible for catching it.
80787
80788 2005-02-22  Simon Josefsson  <jas@extundo.com>
80789
80790         * modules/iconvme: New file.
80791
80792         * MODULES.html.sh: Add iconvme.
80793
80794 2005-02-22  Simon Josefsson  <jas@extundo.com>
80795
80796         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
80797
80798 2005-02-22  Simon Josefsson  <jas@extundo.com>
80799
80800         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
80801
80802 2005-02-22  Jim Meyering  <jim@meyering.net>
80803
80804         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
80805         s/ifndef/ifdef/.
80806
80807 2005-02-20  Neil Conway  <neilc@samurai.com>
80808
80809         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
80810         returned by OSX/Darwin if the specified buffer is not large
80811         enough for the hostname.
80812
80813 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80814
80815         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
80816         pass it to _help, otherwise the latter coredumps trying to
80817         dereference state.root_argp.
80818
80819 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80820
80821         * modules/chdir-long (Depends-on): Add memrchr.
80822         * modules/memrchr (Files): Add lib/memrchr.h.
80823         (Include): "memrchr.h".
80824
80825 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
80828
80829 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80830
80831         * lib/memrchr.h: New file.
80832         * lib/chdir-long.c: Include it.
80833         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
80834         Don't bother including stddef.h.
80835
80836 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
80837
80838         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
80839         inclusion.
80840         Include <sys/types.h>, for dev_t.
80841         (ME_DUMMY, ME_REMOTE): Move from here....
80842         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
80843         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
80844         Dmitry V. Levin.
80845         Include mountlist.h first, to test the interface.
80846
80847 2005-01-29  Bruno Haible  <bruno@clisp.org>
80848
80849         * lib/progname.c (program_name): Initialize.
80850         Needed when linking statically on MacOS X.
80851
80852 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80853
80854         Sync from coreutils.
80855         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
80856         (Depends-on): Add c-strtod.
80857         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
80858
80859 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80860
80861         Sync from coreutils.
80862         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
80863
80864         Remove files that are specific to coreutils.
80865         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
80866
80867 2005-01-28  Bruno Haible  <bruno@clisp.org>
80868
80869         * modules/javacomp: New file.
80870         * MODULES.html.sh (Java): Add javacomp.
80871
80872 2005-01-28  Bruno Haible  <bruno@clisp.org>
80873
80874         * m4/javacomp.m4: New file, from GNU gettext.
80875
80876 2005-01-28  Bruno Haible  <bruno@clisp.org>
80877
80878         * lib/javacomp.sh.in: New file, from GNU gettext.
80879         * lib/javacomp.h: New file, from GNU gettext.
80880         * lib/javacomp.c: New file, from GNU gettext.
80881
80882 2005-01-26  Simon Josefsson  <jas@extundo.com>
80883
80884         * lib/gai_strerror.c: Use GPL in header.
80885
80886 2005-01-26  Bruno Haible  <bruno@clisp.org>
80887
80888         * modules/javaexec: New file.
80889         * MODULES.html.sh (Java): Add javaexec.
80890
80891 2005-01-26  Bruno Haible  <bruno@clisp.org>
80892
80893         * m4/javaexec.m4: New file, from GNU gettext.
80894
80895 2005-01-26  Bruno Haible  <bruno@clisp.org>
80896
80897         * lib/javaexec.sh.in: New file, from GNU gettext.
80898         * lib/javaexec.h: New file, from GNU gettext.
80899         * lib/javaexec.c: New file, from GNU gettext.
80900
80901 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80902
80903         * modules/lchown (Depends-on): Remove lchown.h
80904
80905 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80906
80907         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
80908         must be defined if the header file was not found, in order
80909         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
80910
80911 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80912
80913         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
80914         initializers for struct pentry_state.
80915         (__argp_error): Check return value of __asprintf
80916         (__argp_failure): Translate error message
80917
80918         * lib/argp-parse.c: Removed braces around the expansion of N_()
80919
80920 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80921
80922         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
80923         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
80924         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
80925         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
80926         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
80927         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
80928         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
80929         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
80930         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
80931         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
80932         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
80933         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
80934         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
80935         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
80936         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
80937         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
80938         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
80939         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
80940         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
80941         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
80942         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
80943         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
80944         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
80945         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
80946         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
80947         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
80948         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
80949         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
80950         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
80951         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
80952         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
80953         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
80954         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
80955         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
80956         xstrtol.m4, xstrtoumax.m4, yesno.m4:
80957         Use an all-permissive copyright notice, recommended by RMS.
80958
80959 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
80960
80961         * modules/chdir-long (Depends-on): Remove mempcpy.
80962
80963 2005-01-21  Jim Meyering  <jim@meyering.net>
80964
80965         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
80966         same value as for Solaris 9.
80967
80968         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
80969         component length.  This included changing the parameter to be
80970         of type `char *' rather than `char const *'.
80971         * lib/chdir-long.h (chdir_long): Update prototype.
80972
80973         * lib/openat.c (fdopendir, fstatat): New functions.
80974         * lib/openat.h: Include headers required for use of DIR and struct
80975         stat.
80976         [AT_SYMLINK_NOFOLLOW]: Define.
80977         (fdopendir, fstatat): Add prototypes.
80978
80979 2005-01-21  Bruno Haible  <bruno@clisp.org>
80980
80981         * modules/classpath: New file.
80982         * MODULES.html.sh (Java): Add classpath.
80983
80984 2005-01-21  Bruno Haible  <bruno@clisp.org>
80985
80986         * lib/classpath.h: New file, from GNU gettext.
80987         * lib/classpath.c: New file, from GNU gettext.
80988
80989 2005-01-20  Simon Josefsson  <jas@extundo.com>
80990
80991         * modules/version-etc-fsf: New file.
80992
80993 2005-01-20  Simon Josefsson  <jas@extundo.com>
80994
80995         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
80996         * lib/version-etc.c: Remove version_etc_copyright.
80997         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
80998         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
80999
81000 2005-01-20  Simon Josefsson  <jas@extundo.com>
81001
81002         * lib/base64.h (isbase64): Add.
81003
81004         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
81005         using a unsigned prototype, don't inline.
81006         (base64_decode): Use it.
81007
81008 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81009
81010         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
81011         it.
81012
81013 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81014
81015         * lib/save-cwd.c (save_cwd): Remove code to support the case
81016         where fchdir is missing or flaky.
81017
81018 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81019
81020         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
81021
81022 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
81023
81024         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
81025         AC_LIBSOURCES now does this.
81026         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
81027         with new ullong_max module.
81028
81029 2005-01-19  Bruno Haible  <bruno@clisp.org>
81030
81031         * modules/sh-quote: New file.
81032         * MODULES.html.sh (Executing programs): Add sh-quote.
81033
81034 2005-01-19  Bruno Haible  <bruno@clisp.org>
81035
81036         * lib/sh-quote.h: New file, from GNU gettext.
81037         * lib/sh-quote.c: New file, from GNU gettext.
81038
81039 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81040
81041         Merge from coreutils.
81042         * m4/ullong_max.m4: New file.
81043         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
81044         (gl_MACROS): Assume localeconv exists.
81045
81046 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81047
81048         Merge changes from coreutils, as described below in several
81049         changelogs dated today.
81050
81051         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
81052         (O_DIRECTORY): Remove; not needed here, since "." must be
81053         a directory.  All uses removed.
81054         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
81055         universal on Suns, and we also need to test for IRIX.
81056         Revamp code to use 'if' rather than '#if'.
81057         Avoid unnecessary comparison of cwd->desc to 0.
81058
81059         * lib/utimens.c (futimens): Robustify the previous patch, by checking
81060         for known valid error numbers rather than observed invalid ones.
81061
81062 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81063
81064         * modules/ullong_max: New file.
81065
81066         * modules/chdir-long, modules/openat: New files.
81067         * modules/save-cwd (Depends-on): Depend on chdir-long.
81068         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
81069
81070 2005-01-18  Jim Meyering  <jim@meyering.net>
81071
81072         Merge from coreutils.
81073         * m4/chdir-long.m4, m4/openat.m4: New files.
81074         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
81075         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
81076         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
81077         is sane and DOES follow symlinks.  Besides, testing 20 different
81078         systems found no broken chown implementations.
81079         Prompted by a change in rsync's copy of this macro.
81080         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
81081
81082         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
81083
81084         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
81085         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
81086         NULL-means-set-to-current-time semantics.
81087         Remove temporary file immediately, rather than waiting
81088         for configure's at-exit trap code to do it.
81089
81090 2005-01-18  Jim Meyering  <jim@meyering.net>
81091
81092         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81093
81094         * lib/utimens.c (futimens): Account for the fact that futimes
81095         can also fail with errno == ENOSYS or errno == ENOENT.
81096         Patch from Dmitry V. Levin.
81097
81098         Change the name of the robust chdir function from chdir to chdir_long.
81099         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
81100         (restore_cwd): Use chdir_long, not chdir.
81101         * lib/chdir-long.c: Renamed from chdir.c.
81102         * lib/chdir-long.h: Renamed from chdir.h.
81103         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
81104         Hurd.
81105
81106 2005-01-18  Bruno Haible  <bruno@clisp.org>
81107
81108         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
81109         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
81110         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
81111         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
81112         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
81113         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
81114         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
81115         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
81116         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
81117         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
81118         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
81119         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
81120         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
81121         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
81122         Use an all-permissive copyright notice, recommended by RMS.
81123
81124 2005-01-18  Bob Proulx  <bob@proulx.com>
81125
81126         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
81127         simplify offsetof() macro construct to avoid compile failure with
81128         native HP-UX 11.0 ANSI C compiler.
81129
81130 2005-01-17  Bruno Haible  <bruno@clisp.org>
81131
81132         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
81133         redundant because stpncpy.m4 takes care of it.
81134
81135 2005-01-17  Bruno Haible  <bruno@clisp.org>
81136
81137         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
81138
81139 2005-01-17  Bruno Haible  <bruno@clisp.org>
81140
81141         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
81142         used.
81143
81144 2005-01-17  Bruno Haible  <bruno@clisp.org>
81145
81146         * lib/fwriteerror.h (fwriteerror): Change specification to include
81147         fclose.
81148         * lib/fwriteerror.c: Include <stdbool.h>.
81149         (fwriteerror): At the end, close the file stream. Record whether
81150         stdout was already closed.
81151
81152 2005-01-17  Bruno Haible  <bruno@clisp.org>
81153
81154         * lib/execute.c (environ): Declare if needed.
81155         * lib/pipe.c (environ): Likewise.
81156         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
81157
81158 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81159
81160         * modules/argp: Depend on vsnprintf
81161
81162 2005-01-10  Jim Meyering  <jim@meyering.net>
81163
81164         * modules/closeout (Depends-on): Add atexit.
81165
81166 2005-01-06  Bruno Haible  <bruno@clisp.org>
81167
81168         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
81169
81170 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81171
81172         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
81173         definitions to be after all include files, to avoid collisions.
81174         Problem reported by Bob Proulx.
81175
81176 2005-01-04  Jim Meyering  <jim@meyering.net>
81177
81178         Changes imported from coreutils.
81179         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
81180         as the mkstemp template, use a temporary directory and an
81181         8.3-friendly template to avoid trouble on systems like DJGPP.
81182         Reported by Juan M. Guerrero via Stepan Kasal.
81183         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
81184         close. Remove the temporary directory right away, rather than waiting
81185         for configure's at-exit trap code to do it.
81186         Suggestion from Stepan Kasal.
81187
81188 2005-01-01  Simon Josefsson  <jas@extundo.com>
81189
81190         * gnulib-tool: Print #include directives when --import'ing.
81191
81192 2004-12-28  Simon Josefsson  <jas@extundo.com>
81193
81194         * tests/test-base64.c: Include required header files.  Remove
81195         unused variables.
81196
81197 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81198
81199         * modules/error (Depends-on): Remove gettext.
81200
81201 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81202
81203         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
81204         not needed.  This removes a dependency on the gettext module.
81205         [defined _LIBC]: Do not include <libintl.h>; not needed.
81206
81207 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81208
81209         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
81210         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
81211
81212 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81213
81214         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
81215         HAVE_DECL_STRTOLD.
81216
81217 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81218
81219         * modules/getdate (Depends-on): Remove alloca-opt.
81220
81221 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81222
81223         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
81224
81225 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81226
81227         * lib/argp-parse.c: Include <stddef.h>.
81228         (alignof, alignto): New macros.
81229         (parser_init): Don't assume that void * is aligned sufficiently
81230         for struct option.
81231
81232         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
81233         need to extend the stack.
81234         (YYINITDEPTH): New macro, so that the initial stack isn't overly
81235         large.
81236
81237 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81238
81239         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
81240
81241 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81242
81243         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
81244         (2004-10-24) change.  Apparently this was a false alarm.
81245
81246         * modules/getdate: Depend on alloca-opt, not alloca.
81247
81248 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81249
81250         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
81251         Remove now-obsolete comment about AIX.
81252         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
81253         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
81254         (YYMAXDEPTH): New macro.
81255
81256 2004-12-18  Simon Josefsson  <jas@extundo.com>
81257
81258         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
81259
81260 2004-12-18  Bruno Haible  <bruno@clisp.org>
81261
81262         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
81263
81264 2004-12-18  Bruno Haible  <bruno@clisp.org>
81265
81266         * lib/fatal-signal.c (fatal_signals): Make non-const.
81267         (init_fatal_signals): New function.
81268         (uninstall_handlers, install_handlers): Ignore signals that were set to
81269         SIG_IGN.
81270         (at_fatal_signal): Call init_fatal_signals.
81271         (init_fatal_signal_set): Likewise. Ignore signals that were set to
81272         SIG_IGN.
81273         Reported by Paul Eggert.
81274
81275 2004-12-18  Bruno Haible  <bruno@clisp.org>
81276
81277         * doc/alloca.texi: New file.
81278         * doc/alloca-opt.texi: New file.
81279
81280 2004-12-17  Jim Meyering  <jim@meyering.net>
81281
81282         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
81283         Otherwise, install-sh could exit with improper exit status when
81284         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
81285
81286 2004-12-16  Simon Josefsson  <jas@extundo.com>
81287
81288         * tests/test-base64.c: Add license.
81289
81290 2004-12-15  Stepan Kasal  <address@hidden>
81291
81292         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
81293
81294 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
81295
81296         * modules/getcwd (Files): Add m4/d-ino.m4.
81297         Suggested by Mark D. Baushke.
81298
81299 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81300
81301         * lib/getdate.y (textint): New member "negative".
81302         (time_zone_hhmm): New function.
81303         Expect 14 shift-reduce conflicts, not 13.
81304         (o_colon_minutes): New rule.
81305         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
81306         (yylex): Set the "negative" member of signed numbers.
81307
81308 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81309
81310         * doc/getdate.texi (Time of day items, Time zone items):
81311         Describe new formats +00:00, UTC+00:00.
81312
81313 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81314
81315         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
81316         spurious "-l"s.  Problem reported by Stepan Kasal.
81317
81318 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
81319
81320         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
81321         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
81322
81323 2004-12-04  Simon Josefsson  <jas@extundo.com>
81324
81325         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
81326         Vandoorselaere <yoann@prelude-ids.org>.
81327
81328 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81329
81330         Changes imported from coreutils.
81331         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
81332         exist.
81333         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
81334
81335 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81336
81337         Changes imported from coreutils.
81338         * lib/hard-locale.c: Assume <locale.h> exists.
81339         Include "strdup.h".
81340         (GLIBC_VERSION): New macro.
81341         (hard_locale): Assume setlocale exists.
81342         Rewrite to avoid #ifdef.
81343         Use strdup rather than malloc + strcpy.
81344         * lib/human.c: Assume <locale.h> exists.
81345         (human_readable): Assume localeconv exists.
81346
81347 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81348
81349         * modules/hard-locale (Depends-on): Add strdup.
81350
81351 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
81352
81353         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
81354         convert T2, not T.  (Imported from libc.)
81355
81356 2004-11-30  Simon Josefsson  <jas@extundo.com>
81357
81358         * modules/restrict (License): Change to LGPL.
81359
81360 2004-11-30  Simon Josefsson  <jas@extundo.com>
81361
81362         * m4/restrict.m4: Add copyright and copying conditions.
81363
81364 2004-11-30  Simon Josefsson  <jas@extundo.com>
81365
81366         * m4/base64.m4: New file.
81367
81368 2004-11-30  Simon Josefsson  <jas@extundo.com>
81369
81370         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
81371         base64.
81372
81373         * tests/test-base64.c: New file.
81374
81375         * modules/base64: New file.
81376
81377 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81378
81379         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
81380         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
81381
81382         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
81383
81384 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81385
81386         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
81387         (__getcwd.c): Don't restore errno; glibc doesn't.
81388         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
81389         first, falling back to our code only if its results look suspicious.
81390         Ensure that the resulting buffer is only as large as necessary.
81391
81392         * lib/readutmp.c: Include readutmp.h first.
81393         Include <errno.h>, since readutmp.h no longer does that.
81394         * lib/readutmp.h: Don't include <errno.h>,
81395         <sys/param.h>, <time.h>; not needed to establish interface.
81396         (errno): Remove decl.
81397         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
81398         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
81399         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
81400
81401 2004-11-28  Simon Josefsson  <jas@extundo.com>
81402
81403         * lib/base64.h, base64.c: New file.
81404
81405 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
81406
81407         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
81408
81409 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
81410
81411         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
81412         (Depends-on): Remove pathmax, same.  Add mempcpy.
81413         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
81414         (Makefile.am): Append getcwd.h to lib_SOURCES.
81415         (Include): Add getcwd.h.
81416         (Maintainer): Change from Jim Meyering to "all, glibc",
81417         since getdate now uses intended-for-glibc code.
81418         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
81419         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
81420
81421 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81422
81423         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
81424         HP's ANSI C compiler.
81425         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
81426         Declaring int functions causes warnings on some modern systems and
81427         shouldn't be needed to compile on ancient ones.
81428         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
81429         defined.
81430
81431         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
81432         with the following changes.
81433         (__set_errno): Parenthesize properly.
81434         Include <stdbool.h>.
81435         (MIN, MAX, MATCHING_INO): New macros.
81436         (__getcwd): Define with prototype, not K&R form.
81437         Use heuristics to allocate default buffer on stack if possible.
81438         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
81439         behavior, and to avoid the PATH_MAX limit when computing
81440         ../../../../...
81441         Use MATCHING_INO to compare inode number to file.
81442         Check for arithmetic overflow in size calculations.
81443         Fix bug in reallocation of dot array that caused getcwd to fail
81444         on directories nested deeper than 75.
81445         Be more careful about saving errno on error.
81446         Do not use realloc; use only free+malloc, as this is a bit
81447         more flexible and avoids a needless copy operation.
81448         Do not inspect st_dev and st_ino for symbolic links; POSIX
81449         doesn't specify the latter.
81450         Check for closedir errors.
81451         Avoid needless casts.
81452         Use "#ifdef weak_alias" around weak_alias, to be like other
81453         glibc code.
81454         The following changes to getcwd.c have effect only when used in
81455         gnulib; they have no effect inside glibc proper.
81456         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
81457         as alloca isn't used.
81458         (alloca, __alloca): Likewise.
81459         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
81460         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81461         unconditionally, as gnulib assumes C89 or better.
81462         Do not include <sys/param.h>.
81463         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
81464         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
81465         better.
81466         (NULL) [!defined NULL]: Remove; we assume C89 or better.
81467         Include <dirent.h> in a way that is compatible with modern Autoconf.
81468         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
81469         New macros, if not already defined.
81470         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
81471         Use "_LIBC", not "defined _LIBC", for consistency.
81472         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
81473         a mempcpy module.
81474         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
81475         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
81476         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
81477         credit only to Jim Meyering and adjust the copyright dates.
81478         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
81479         <stdlib.h>, <unistd.h>, "pathmax.h".
81480         Instead, include "xgetcwd.h" (first) and "getcwd.h".
81481         (INITIAL_BUFFER_SIZE): Remove.
81482         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
81483
81484 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81485
81486         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
81487         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
81488         Use the _ONCE methods, for efficiency.
81489         Check for fcntl.h.  In test program, include <errno.h>
81490         and <fcntl.h> if available.  Remove old K&R cruft from
81491         test program.  Check for common errors in GNU/Linux,
81492         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
81493         don't do AC_LIBOBJ, as that's getcwd.m4's job.
81494         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
81495         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
81496         name accordingly.
81497         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
81498         accommodate new getcwd.c.
81499         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
81500         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
81501         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
81502         that's all we need now.
81503
81504 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81505
81506         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
81507         argp-parse.c depends on getopt internals, that means we should
81508         always use our getopt, to be on the safe side.
81509         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
81510         order not to spoil the result of an eventual previous invocation
81511         of gl_GETOPT_SUBSTITUTE.
81512
81513 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81514
81515         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
81516         redefinition warnings. To avoid them, include the defines
81517         in `#if !defined __need_getopt ... #endif'. The only place
81518         where __getopt_argv_const is used is in definitions
81519         of getopt_long and getopt_long_only below, which are as well
81520         protected by `#ifndef __need_getopt'.
81521         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
81522         __need_getopt after including <stdio.h> and <unistd.h> These
81523         headers might have defined it.
81524
81525 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81526
81527         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
81528
81529 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81530
81531         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
81532         (futimens): New function, which uses futimes if available.
81533         (futimens, utimens): Support timespec==NULL, with same semantics
81534         as utime and utimens.
81535         * lib/utimens.h (futimens): New decl.
81536
81537 2004-11-23  Jim Meyering  <jim@meyering.net>
81538
81539         * lib/getopt_.h: Remove trailing blanks.
81540
81541 2004-11-23  Jim Meyering  <jim@meyering.net>
81542
81543         * lib/__fpending.c: Add comment.
81544
81545 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
81546
81547         * modules/canonicalize (Depends-on): Add xreadlink.
81548         Problem reported by James Youngman.
81549
81550 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
81551
81552         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
81553         New macros.
81554         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
81555         optopt): Use them instead of invoking ## directly; otherwise, the
81556         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
81557
81558 2004-11-19  Bruno Haible  <bruno@clisp.org>
81559
81560         * lib/strtok_r.c: Move comments from here...
81561         * lib/strtok_r.h: ... to here.
81562
81563 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81564
81565         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
81566         implementations that mishandle size_t overflow.
81567
81568 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81569
81570         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
81571         might fail.  Problem reported by Yoann Vandoorselaere.
81572         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
81573         implementations that mishandle size_t overflow.
81574
81575 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81576
81577         * modules/canon-host (Depends-on): Add strdup.
81578
81579 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81580
81581         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
81582
81583 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81584
81585         * lib/canon-host.c: Include "strdup.h".
81586         (canon_host): Use getaddrinfo if available, so that IPv6 works.
81587         Use strdup instead of malloc/strcpy to duplicate strings.
81588
81589         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
81590         (human_space_before_unit): New constant.
81591         * lib/human.c (human_readable): Support it.
81592
81593         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
81594         (xgetcwd): Set errno correctly when failing.
81595         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
81596         the failure is actually due to a PATH_MAX problem.
81597
81598         Further getopt changes to make it more likely that glibc will
81599         buy the changes back.
81600         * lib/getopt.c (POSIXLY_CORRECT): New constant.
81601         (getopt): Use it, so to preserve glibc semantic
81602         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
81603         when compiling for libc.
81604         * lib/getopt_.h (__getopt_argv_const): Bring it back.
81605         (getopt_long, getopt_long_only): Use it.
81606
81607         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81608         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
81609         (getopt): Argv is now char * const *, as per standard.
81610         (_getopt_internal_r, _getopt_internal): Argv is now char **,
81611         not char *__getopt_argv_const *.
81612         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81613         _getopt_long_only_r): Likewise.
81614         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
81615         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81616         _getopt_long_r, _getopt_long_only_r): Likewise.
81617         * lib/getopt_.h (__getopt_argv_const): Remove.
81618         (getopt): Argv is now char * const *, as per standard.
81619
81620         * lib/getdate.y (tORDINAL): New token.
81621         (day, relunit): Allow it for relative times.
81622         (relative_time_table): Use tORDINAL for ordinals.
81623
81624 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
81627         Document that "second" isn't allowed as an ordinal number.
81628
81629 2004-11-16  Jim Meyering  <jim@meyering.net>
81630
81631         * modules/closeout (Depends-on): Add fpending.
81632
81633 2004-11-15  Jim Meyering  <jim@meyering.net>
81634
81635         * lib/closeout.c: Include "__fpending.h" once again.
81636         Include <stdbool.h>.
81637         (close_stdout): Don't fail just because stdout was closed initially,
81638         since some programs don't write to stdout in the normal course of
81639         operation (other than --version and --help), and we don't want this
81640         function to make e.g. `touch file >&-' fail.
81641         But do fail if it was closed and someone has tried to write to it.
81642         E.g., `printf foo >&-' must fail.
81643
81644 2004-11-13  Jim Meyering  <jim@meyering.net>
81645
81646         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
81647
81648 2004-11-12  Simon Josefsson  <jas@extundo.com>
81649
81650         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
81651         small doc fix is still pending.
81652
81653 2004-11-11  Simon Josefsson  <jas@extundo.com>
81654
81655         * modules/strtok_r: New file.
81656
81657         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81658         strtok_r.
81659
81660 2004-11-11  Simon Josefsson  <jas@extundo.com>
81661
81662         * m4/strtok_r.m4: New file.
81663
81664         * m4/getopt.m4: Replace opterr.
81665
81666 2004-11-11  Simon Josefsson  <jas@extundo.com>
81667
81668         * lib/strtok_r.h, strtok_r.c: New file.
81669
81670 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81671
81672         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
81673         of replacing opterr, getopt, etc.  This should handle the
81674         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
81675
81676 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81677
81678         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
81679         we can stop lying to compilers about the constness of argv when we
81680         are compiled outside glibc.
81681         (getopt, getopt_long, getopt_long_only): Use it.
81682         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81683         _getopt_internal, getopt): Likewise.
81684         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81685         _getopt_long_only_r): Likewise.
81686         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81687         _getopt_long_r, _getopt_long_only_r): Likewise.
81688
81689         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
81690         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
81691         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
81692         the other external symbols.
81693         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
81694         declaration, since the above renaming now works around collisions.
81695
81696 2004-11-11  Jim Meyering  <jim@meyering.net>
81697
81698         * lib/linebreak.c: Remove trailing blanks.
81699         * lib/alloca_.h: Likewise.
81700         * lib/acosl.c: Likewise.
81701         * lib/euidaccess.c: Likewise.
81702         * lib/allocsa.h: Likewise.
81703
81704 2004-11-10  Simon Josefsson  <jas@extundo.com>
81705
81706         * m4/getaddrinfo.m4: New file.
81707
81708 2004-11-10  Simon Josefsson  <jas@extundo.com>
81709
81710         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
81711
81712 2004-11-10  Simon Josefsson  <jas@extundo.com>
81713
81714         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81715         getaddrinfo.
81716
81717         * modules/getaddrinfo: New file.
81718
81719 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81720
81721         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
81722
81723 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81724
81725         * lib/mktime.c (SHR): New macro, which is a portable
81726         substitute for >> that should work even on Crays.
81727         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
81728         Problem reported by Mark D. Baushke in
81729         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
81730         * lib/getdate.y (SHR): Likewise.
81731         (tm_diff): Use it.
81732         * lib/strftime.c (SHR): Likewise.
81733         (tm_diff): Use it.
81734         * lib/quotearg.c (struct quoting_options): Use unsigned int for
81735         quote_these_too, so that right shifts are well defined.  All uses
81736         changed.
81737
81738 2004-11-10  Jim Meyering  <jim@meyering.net>
81739
81740         Ensure that no close failure goes unreported.
81741         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
81742         return early when it seems there's nothing to flush.
81743         Don't include __fpending.h.
81744
81745 2004-11-10  Jim Meyering  <jim@meyering.net>
81746
81747         * modules/closeout (Depends-on): Remove fpending.
81748
81749 2004-11-10  Jim Meyering  <jim@meyering.net>
81750
81751         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
81752
81753 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81754
81755         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
81756         gl_FUNC_STRFTIME.
81757         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
81758         and AC_REQUIRE when possible, to avoid duplicate checks.
81759         Check for <wchar.h>.
81760
81761 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81762
81763         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
81764
81765 2004-11-09  Bruno Haible  <bruno@clisp.org>
81766
81767         * m4/sockpfaf.m4: New file.
81768
81769 2004-11-05  Bruno Haible  <bruno@clisp.org>
81770
81771         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
81772         Reported by Mark D. Baushke <mdb@cvshome.org>.
81773
81774 2004-11-04  Bruno Haible  <bruno@clisp.org>
81775
81776         2004-09-11  Bruno Haible  <bruno@clisp.org>
81777                 * allocsa.valgrind: New file.
81778         2004-02-06  Bruno Haible  <bruno@clisp.org>
81779                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
81780                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
81781                 Reported by Christopher Seip <chris.seip@hp.com>.
81782
81783 2004-11-04  Bruno Haible  <bruno@clisp.org>
81784
81785         * modules/allocsa (Files): Add lib/allocsa.valgrind.
81786         (Makefile.am): Distribute it.
81787
81788 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
81789
81790         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
81791         with errno == ERANGE if the buffer is too small.
81792         Problem reported by Mark D. Baushke.
81793
81794 2004-11-03  Albert Chin  <china@thewrittenword.com>
81795             Paul Eggert  <eggert@cs.ucla.edu>
81796
81797         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
81798         equivalent, substitute $ac_type for equivalent type rather than
81799         blindly using uint32_t *always* which won't work if uint32_t is not
81800         available.  Define _UINT32_T to work around typedef of uint32_t if
81801         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
81802         2.5.1.
81803
81804 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81805
81806         * m4/jm-macros.m4: Sync from coreutils.
81807         (gl_MACROS): Check for mbrlen, for pathchk.
81808         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
81809
81810 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81811
81812         * lib/xreadlink.c (MAXSIZE): New macro.
81813         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
81814         size does not exceed MAXSIZE.  Avoid cast.
81815         As suggested by Mark D. Baushke in
81816         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
81817         if readlink fails with buffer size just under MAXSIZE, try again
81818         with MAXSIZE.
81819
81820 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81821
81822         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
81823
81824 2004-11-02  Derek R. Price  <derek@ximbiot.com>
81825         and  Paul Eggert  <eggert@cs.ucla.edu>
81826
81827         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
81828         (get_date): Overparenthesize to avoid GCC warning.
81829
81830 2004-11-02  Bruno Haible  <bruno@clisp.org>
81831
81832         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
81833         returns void.
81834
81835 2004-11-02  Bruno Haible  <bruno@clisp.org>
81836
81837         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
81838         function returns void.
81839
81840 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81841
81842         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
81843         fflush_unlocked, flockfile, funlockfile, funlockfile,
81844         fputs_unlocked, putc_unlocked.
81845
81846 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81847
81848         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81849         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
81850         already declared.
81851
81852 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81853
81854         * modules/getdate (Files): Add doc/getdate.texi.
81855         (Depends-on): Add setenv, xalloc.
81856
81857 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81858
81859         * lib/getdate.y: Add support for TZ="foo" within a date string.
81860         Fix some bugs near time_t boundaries.  Reject dates with
81861         out-of-range components, e.g., "Sept 31".
81862         Include <stdlib.h>, "setenv.h", "xalloc.h".
81863         (ISDIGIT_LOCALE): Remove; unused.
81864         Note that the TZ and time functions used here are not reentrant.
81865         (mktime_ok, get_tz): New functions.
81866         (TZBUFSIZE): New constant.
81867         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
81868         This requires that we sometimes generate our own TZ="XXX..." setting.
81869
81870 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81871
81872         * doc/getdate.texi: New file, from coreutils with modifications for
81873         the new TZ parsing.
81874
81875 2004-10-27  Derek R. Price  <derek@ximbiot.com>
81876
81877         * lib/mktime.c (not_equal_tm): Remove redundant check.
81878
81879 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81880
81881         * modules/regex (lib_SOURCES): Add regex.c.
81882         Reported by James Youngman in
81883         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
81884
81885 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81886
81887         * lib/getdate.y: Use Bison 1.875 features, and some minor
81888         code cleanups.  This change does not affect semantics.
81889         Don't include <stdlib.h>; no longer needed.
81890         Don't include unlocked-io.h; only the "#if TEST" code uses
81891         stdio, and performance isn't crucial there.
81892         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
81893         Bison 1.875 features as described below.
81894         All uses of "PC." replaced by "pc->".
81895         (YYSTYPE): Add a forward declaration.
81896         (yylex, yyerror): Use full prototypes in forward decls.
81897         Use "%pure-parser" rather than obsolescent "%pure_parser".
81898         Use %parse-param and %lex-param instead of obsolescent
81899         YYPARSE_PARAM and YYLEX_PARAM.
81900         (meridian_table, month_and_day_table, time_units_table,
81901         relative_time_table, time_zone_table, military_table,
81902         lookup_zone, lookup_word, get_date):
81903         Use NULL instead of 0 where appropriate.
81904         (to_hour): Avoid abort (), to avoid a dependency on
81905         stdlib.h.
81906         (yyerror, yylex): Now accepts parser_control * arg.
81907         (main) [TEST]: Use '\0' rather than 0 for char.
81908
81909 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81910
81911         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
81912
81913 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81914
81915         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
81916         It's now the caller's responsibility to handle the case where
81917         !HAVE_GETPAGESIZE && !defined getpagesize.
81918
81919         * lib/mktime.c (leapyear): Arg is long int, not int.
81920
81921 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
81922
81923         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
81924
81925 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
81926
81927         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
81928         missing.  Problem reported by James Youngman.
81929
81930 2004-10-16  Simon Josefsson  <jas@extundo.com>
81931
81932         * gnulib-tool: Fix comments.  Fix parse problem.
81933         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
81934
81935 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
81936
81937         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
81938         implementation of getopt_long.  Problem reported by Alexander Taler in:
81939         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
81940
81941 2004-10-15  Bruno Haible  <bruno@clisp.org>
81942
81943         * gnulib-tool: Untabify. Initialize supplied_libname.
81944         (func_usage): More homogenous output.
81945         (func_modules_transitive_closure, func_modules_to_filelist,
81946         func_emit_lib_Makefile_am): New functions.
81947         (func_import): New function, extracted from big case statement. Use
81948         func_get_license, func_modules_transitive_closure,
81949         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
81950         opt_lgpl. Don't use test -a, as it's not portable.
81951         (func_create_testdir): Use func_modules_transitive_closure,
81952         func_modules_to_filelist, func_emit_lib_Makefile_am.
81953
81954 2004-10-15  Bruno Haible  <bruno@clisp.org>
81955
81956         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
81957
81958 2004-10-15  Bruno Haible  <bruno@clisp.org>
81959
81960         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
81961         the portions belonging to each module.
81962         Suggested by Derek Robert Price <derek@ximbiot.com>.
81963
81964 2004-10-12  Simon Josefsson  <jas@extundo.com>
81965
81966         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81967         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
81968         to real functions.
81969
81970 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81971
81972         * modules/vsnprintf: New file.
81973
81974 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81975
81976         * m4/vsnprintf.m4: New file.
81977
81978 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81979
81980         * lib/vsnprintf.h: New file.
81981         * lib/vsnprintf.c: New file.
81982
81983 2004-10-11  Bruno Haible  <bruno@clisp.org>
81984
81985         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
81986         vsnprintf.
81987
81988 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81989
81990         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
81991
81992 2004-10-07  Bruno Haible  <bruno@clisp.org>
81993
81994         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
81995         fits into the provided buffer.
81996
81997 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81998
81999         * lib/diacrit.c, diacrit.h: Add GPL notice.
82000
82001         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
82002         notice.
82003         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
82004         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
82005         This avoids a potential constant-folding bug.
82006
82007 2004-10-05  Bruno Haible  <bruno@clisp.org>
82008
82009         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
82010         for the declaration of strsep.
82011
82012 2004-10-05  Bruno Haible  <bruno@clisp.org>
82013
82014         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
82015
82016 2004-10-04  Simon Josefsson  <jas@extundo.com>
82017
82018         * modules/memmem: New file.
82019         * tests/test-memmem.c: New file.
82020         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
82021
82022 2004-10-04  Simon Josefsson  <jas@extundo.com>
82023
82024         * m4/memmem.m4: New file.
82025
82026 2004-10-04  Simon Josefsson  <jas@extundo.com>
82027
82028         * lib/memmem.h: New file.
82029         * lib/memmem.c: New file, taken from glibc.
82030
82031 2004-10-04  Simon Josefsson  <jas@extundo.com>
82032
82033         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
82034         '#ifdef USE_UNLOCKED_IO'.
82035
82036 2004-10-04  Simon Josefsson  <jas@extundo.com>
82037
82038         * config/srclist.txt: Add memmem from glibc.
82039
82040 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82041
82042         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
82043
82044         * modules/argmatch, modules/argp, modules/closeout, modules/error,
82045         modules/exclude, modules/getdate, modules/getline,
82046         modules/getndelim2, modules/getpass, modules/getpass-gnu,
82047         modules/getusershell, modules/linebuffer, modules/md5,
82048         modules/mountlist, modules/posixtm, modules/readtokens,
82049         modules/readutmp, modules/regex, modules/sha1,
82050         modules/version-etc, modules/yesno:
82051         Remove dependency on unlocked-io.
82052
82053 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82054
82055         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
82056
82057         * m4/unlocked-io.m4: Add copyright notice.
82058         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
82059
82060 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82061
82062         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
82063         * lib/xmalloc.c (xmemdup): Likewise.
82064         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
82065         XFREE): Remove these long-obsolescent macros.
82066         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
82067         * lib/xstrdup.c: Remove.
82068
82069         * lib/regex.c (re_comp): Cast gettext return value to char *,
82070         Problem reported by Martin Neitzel via Mark D. Baushke.
82071
82072 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82073
82074         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
82075         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
82076         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
82077         regex.c, sha1.c, version-etc.c, yesno.c:
82078         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
82079         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
82080         the includer's responsibility.
82081
82082         Sync from coreutils.
82083
82084         * lib/modechange.c (mode_compile): Don't decrement a pointer that
82085         points to the start of a string, as the C Standard says the
82086         resulting behavior is undefined.
82087
82088         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
82089         simple -> simple_backups, numbered_existing ->
82090         numbered_existing_backups, numbered -> numbered_backups
82091         to avoid shadowing problems.  All uses changed.
82092         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
82093         * lib/backupfile.c (check_extension, numbered_backup):
82094         Rename locals to avoid shadowing 'basename'.
82095         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
82096         once.
82097
82098         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
82099         * lib/.cvsignore: Add getopt.h.
82100
82101 2004-10-04  Bruno Haible  <bruno@clisp.org>
82102
82103         * modules/README: New file.
82104         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
82105         not a module.
82106
82107 2004-10-02  Jim Meyering  <jim@meyering.net>
82108
82109         * lib/dirfd.h, getpagesize.h: Add copyright notice.
82110
82111 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82112
82113         * modules/strsep: New file.
82114
82115 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82116
82117         * m4/strsep.m4: New file.
82118
82119 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82120
82121         * lib/strsep.h: New file.
82122         * lib/strsep.c: New file.
82123
82124 2004-10-01  Simon Josefsson  <jas@extundo.com>
82125
82126         * lib/snprintf.c (snprintf): Handle size==0.
82127
82128 2004-10-01  Simon Josefsson  <jas@extundo.com>
82129             Bruno Haible  <bruno@clisp.org>
82130
82131         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
82132         (snprintf): Declare 'args'.
82133
82134 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
82135
82136         * lib/snprintf.c: Remove comments as to why each header is needed.
82137
82138 2004-10-01  Bruno Haible  <bruno@clisp.org>
82139
82140         * MODULES.html.sh: Add strsep.
82141
82142 2004-09-30  Simon Josefsson  <jas@extundo.com>
82143
82144         * modules/snprintf: New file.
82145
82146 2004-09-30  Simon Josefsson  <jas@extundo.com>
82147
82148         * m4/snprintf.m4: New file.
82149
82150 2004-09-30  Simon Josefsson  <jas@extundo.com>
82151
82152         * lib/snprintf.h, lib/snprintf.c: New files.
82153
82154 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82155
82156         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
82157         (hol_entry_help): Never translate an empty string.
82158         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
82159         * lib/argp.h (OPTION_NO_TRANS): New option.
82160
82161 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82162
82163         * modules/argp (Maintainer): Replace Simon Josefsson
82164         by Sergey Poznyakoff.
82165
82166 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82167
82168         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
82169         changes merged back into glibc.
82170
82171 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82172
82173         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
82174
82175 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82176
82177         * lib/xvasprintf.c: Include xalloc.h.
82178         (xvasprintf): Use xalloc_die, not xmalloc_die.
82179
82180 2004-09-29  Bruno Haible  <bruno@clisp.org>
82181
82182         * modules/alloca-opt: New file, derived from modules/alloca.
82183         * modules/allocsa: Depend on alloca-opt instead of alloca.
82184         * modules/setenv: Likewise.
82185         * modules/vasnprintf: Likewise.
82186         * MODULES.html.sh: Add alloca-opt.
82187
82188 2004-09-28  Simon Josefsson  <jas@extundo.com>
82189
82190         * gnulib-tool: New parameter --lgpl, to asseert that modules are
82191         LGPL, and to replace license template from GPL to LGPL.
82192
82193 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82194
82195         * modules/dummy: Change license to LGPL.
82196
82197 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82198
82199         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
82200
82201 2004-09-24  Simon Josefsson  <jas@extundo.com>
82202
82203         * modules/minmax (License): Change from GPL to LGPL.
82204
82205 2004-09-23  Simon Josefsson  <jas@extundo.com>
82206
82207         * gnulib-tool (--import): Typo.
82208
82209 2004-09-23  Simon Josefsson  <jas@extundo.com>
82210
82211         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
82212
82213 2004-09-22  Bruno Haible  <bruno@clisp.org>
82214
82215         * modules/*: Add 'License' field.
82216         * gnulib-tool: Accept --extract-license option.
82217         (func_get_license): New function.
82218
82219 2004-09-21  Bruno Haible  <bruno@clisp.org>
82220
82221         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
82222         Reported by Simon Josefsson.
82223
82224 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82225
82226         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
82227         gl_AC_TYPE_LONG_LONG.
82228
82229 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82230
82231         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
82232
82233 2004-09-18  Simon Josefsson  <jas@extundo.com>
82234         and  Paul Eggert  <eggert@cs.ucla.edu>
82235
82236         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
82237         calls with autoreconf.  Define GL_LIB.
82238
82239 2004-09-14  Karl Berry  <karl@gnu.org>
82240
82241         * config/srclist.txt: unsync setenv.c, sigh.
82242
82243 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82244
82245         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
82246         Problem reported by Bruno Haible in:
82247         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
82248
82249 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82250
82251         * config/srclist.txt: Comment out argp-pvh.c.
82252
82253 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
82254
82255         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
82256         in case some system header has #define'd it.  Problem reported by
82257         Soeren D. Schulze in
82258         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
82259
82260 2004-09-09  Karl Berry  <karl@gnu.org>
82261
82262         * regex.[ch]: delete from the root.  These were supposed to be
82263                 synced with emacs cvs, but this has not happened for about
82264                 a year, and anyway nothing else uses emacs regex.[ch].
82265                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
82266                 lib/regex[.ch] is untouched.
82267
82268 2004-09-09  Bruno Haible  <bruno@clisp.org>
82269
82270         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
82271
82272 2004-09-09  Bruno Haible  <bruno@clisp.org>
82273
82274         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
82275         modifications.
82276         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
82277
82278 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82279
82280         * modules/xvasprintf: New file.
82281         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
82282
82283 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82284
82285         * lib/xvasprintf.h: New file.
82286         * lib/xvasprintf.c: New file.
82287         * lib/xasprintf.c: New file.
82288
82289 2004-09-08  Bruno Haible  <bruno@clisp.org>
82290
82291         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
82292
82293 2004-09-08  Bruno Haible  <bruno@clisp.org>
82294
82295         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
82296         length is > INT_MAX.
82297         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
82298         more.
82299
82300 2004-09-08  Bruno Haible  <bruno@clisp.org>
82301
82302         * lib/stdint_.h: New file, taken from GNU clisp.
82303
82304 2004-09-08  Bruno Haible  <bruno@clisp.org>
82305             Oskar Liljeblad  <oskar@osk.mine.nu>
82306
82307         * modules/stdint: New file.
82308         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
82309
82310 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82311
82312         Import from coreutils.
82313         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
82314         strings on unbounded length.  alloca's performance benefits aren't
82315         that important here.
82316         (V_STRDUP): Remove.
82317         (parse_with_separator): New function, with most of the internals
82318         of the old parse_user_spec.  Allow user to omit both user and group,
82319         for compatibility with FreeBSD.
82320         Clone only the user name, not the entire spec.
82321         Do not set *uid, *gid unless entirely successful.
82322         Avoid memory leak in some failing cases.
82323         Fix regression for USER.GROUP reported by Dmitry V. Levin in
82324         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
82325         (parse_user_spec): Rewrite to use parse_with_separator.
82326
82327 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82328
82329         * modules/userspec: Don't depend on alloca.
82330
82331 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82332
82333         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
82334
82335 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82336
82337         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
82338         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
82339         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
82340
82341 2004-08-16  Simon Josefsson  <jas@extundo.com>
82342
82343         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
82344         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
82345         Add --dry-run for --import.
82346         Let user provided command line parameters override configure.ac
82347         settings.
82348
82349 2004-08-12  Simon Josefsson  <jas@extundo.com>
82350
82351         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
82352         as discussed with Paul Eggert in threads rooted at
82353         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
82354         and
82355         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
82356         Before, the test was empty, and relied on ELIDE_CODE in source
82357         code.)
82358         (gl_PREREQ_GETOPT): New macro.
82359         (gl_GETOPT): Use them.
82360
82361 2004-08-12  Simon Josefsson  <jas@extundo.com>
82362
82363         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
82364         * lib/getopt_.h: Renamed from getopt.h.
82365
82366 2004-08-12  Simon Josefsson  <jas@extundo.com>
82367
82368         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
82369         Change default library name from libfoo to libgnu.
82370         Now, if you have a configure.ac that says:
82371                 gl_SOURCE_BASE(gl)
82372                 gl_M4_BASE(gl/m4)
82373                 gl_MODULES(error getopt etcetera)
82374                 gl_INIT
82375         you can import all you need by running:
82376                 ../gnulib/gnulib-tool --import
82377
82378         * modules/getopt (Files): Rename getopt.h to getopt_.h.
82379         (Makefile.am): Rewrite, use logic from argz.
82380         (Include): Use <getopt.h> instead of "getopt.h".
82381
82382 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82383
82384         * modules/argp (Files): Add m4/unlocked-io.m4.
82385         (Depends-on): Add extensions.
82386
82387 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82388
82389         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
82390         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
82391         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
82392         Check for program_invocation_name, program_invocation_short_name,
82393         flockfile, funlockfile, features.h, _getopt_long_only_r.
82394
82395 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82396
82397         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
82398         its complicated substitute.
82399         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
82400         and program_invocation_name.
82401         (__argp_basename) [!_LIBC]: Remove; the only use was
82402         replaced by its body.
82403         (__argp_short_program_name): Change condition from
82404         !defined __argp_short_program_name to
82405         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
82406         to match argp-namefrob.h.
82407         (__argp_failure): Don't assume strerror_r returns char *.
82408         * lib/argp-parse.c (N_): Define unconditionally.
82409         (argp_default_options): Fill out initializers with 0 to avoid
82410         gcc warnings.
82411
82412 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82413
82414         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
82415         getopt1.c.
82416
82417 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82418
82419         Merge from coreutils.
82420
82421         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
82422
82423         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
82424         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
82425
82426 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82427
82428         Merge from coreutils.
82429
82430         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
82431         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
82432         for Reliant Unix 5.43.
82433
82434         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
82435         (union fooround): Use uintmax_t, not long int.
82436         The rest is a merge from libc:
82437         [defined _LIBC]: Include <shlib-compat.h>.
82438         (_obstack) [defined _LIBC]: Remove after 2.3.4.
82439
82440         * lib/settime.c (settime): Recode to avoid warning with
82441         Sun Forte C 6U2.
82442
82443         * lib/strverscmp.c: Convert to UTF-8.
82444
82445 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82446
82447         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82448         m4/uintmax_t.m4.
82449
82450 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82451
82452         * modules/xalloc-die: New file.
82453         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
82454
82455         * modules/md5 (Files): Add m4/uint32_t.m4.
82456         * modules/sha1: Renamed from modules/sha.
82457         (Files):
82458         Rename lib/sha.h to lib/sha1.h.
82459         Rename lib/sha.c to lib/sha1.c.
82460         Rename m4/sha.m4 to m4/sha1.m4.
82461         (lib_SOURCES): Likewise.
82462         (configure.ac): Rename gl_SHA to gl_SHA1.
82463         (Include): sha.h -> sha1.h.
82464
82465 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82466
82467         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
82468         * m4/sha1.m4: Renamed from sha.m4.
82469         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
82470
82471 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82472
82473         * lib/obstack.h (obstack_empty_p):
82474         Don't assume that chunk->contents is suitably aligned.
82475         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
82476         Likewise. Problem reported by Benno in
82477         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
82478
82479         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
82480         readable.  This could be improved further but it'd take some work.
82481
82482 2004-08-08  Simon Josefsson  <jas@extundo.com>
82483
82484         * modules/xgethostname (Depends-on): Remove exit and error (not
82485         used).
82486
82487         * modules/getpass-gnu: Add getpass.h.
82488         (Depends-on): Add stdbool.
82489         * modules/getpass: Add getpass.h.
82490
82491 2004-08-08  Simon Josefsson  <jas@extundo.com>
82492
82493         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
82494         Check getpass declaration.
82495
82496 2004-08-08  Simon Josefsson  <jas@extundo.com>
82497
82498         * lib/xgethostname.c: Don't include error.h (not used).
82499
82500         * lib/getpass.h: Add.
82501         * lib/getpass.c: Include getpass.h first.
82502
82503 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
82504
82505         * lib/xalloc-die.c: New file.
82506         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
82507         All uses removed.
82508         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
82509         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
82510         xalloc-die.c.
82511         (_, N_, xalloc_die): Move to xalloc-die.c.
82512         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
82513         so that we needn't mess with xalloc_msg_memory_exhausted.
82514
82515         * lib/sha1.h: Renamed from sha.h.
82516         (SHA1_H): Renamed from _SHA_H.
82517         (sha1_ctx): Renamed from sha_ctx.
82518         (sha1_init_ctx): Renamed from sha_init_ctx.
82519         (sha1_process_block): Renamed from sha_process_block.
82520         (sha1_process_bytes): Renamed from sha_process_bytes.
82521         (sha1_finish_ctx): Renamed from sha_finish_ctx.
82522         (sha1_read_ctx): Renamed from sha_read_ctx.
82523         (sha1_stream): Renamed from sha_stream.
82524         (sha1_buffer): Renamed from sha_buffer.
82525         * lib/sha1.c: Likewise; renamed from sha.c.
82526         Do not include <sys/types.h>.
82527         Include <stddef.h> rather than <stdlib.h>.
82528
82529 2004-08-08  Bruno Haible  <bruno@clisp.org>
82530
82531         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
82532         FILESYSTEM_PREFIX_LEN.
82533         * lib/progreloc.c: Likewise.
82534         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
82535
82536 2004-08-06  Simon Josefsson  <jas@extundo.com>
82537
82538         * modules/progname (Depends-on): Don't depend on stdbool.
82539
82540 2004-08-06  Simon Josefsson  <jas@extundo.com>
82541
82542         * modules/getsubopt: New file.
82543         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82544         getsubopt.
82545
82546 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82547
82548         More merge from coreutils.
82549
82550         * m4/utimens.m4, m4/utimecmp.m4: New files.
82551         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
82552         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
82553         prereq.m4, sha.m4: Import changes from coreutils.
82554
82555 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82556
82557         More merge from coreutils.
82558         * modules/raise, modules/readtokens0, modules/utimens:
82559         * modules/utimecmp, module/xnanosleep: New files.
82560         * modules/strftime: Add lib/strftime.h.
82561         Change include from <time.h> to "strftime.h".
82562         * modules/yesno: Add lib/yesno.h.
82563         * modules/backupfile: Remove lib/addext.c.
82564         * modules/euidaccess: Add stat-macros.h.
82565         * modules/canonicalize, modules/euidaccess,
82566         modules/filemode, modules/lchown, modules/makepath,
82567         modules/rmdir, modules/stat: Likewise.
82568
82569 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82570
82571         Merge from tar.
82572         * lib/argp-help.c (make_hol, hol_append): Don't assume that
82573         SIZE_MAX is a valid preprocessor constant.
82574         (__argp_basename): Change from "#ifndef _LIBC"
82575         to "#ifndef __argp_short_program_name", so that
82576         we don't compile these functions for tar.
82577
82578         More merges from coreutils.
82579         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
82580         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
82581         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
82582         * lib/addext.c: Remove; no longer needed.
82583         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
82584         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
82585         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
82586         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
82587         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
82588         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
82589         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
82590         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
82591         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
82592         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82593         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
82594         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
82595         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
82596         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
82597         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
82598         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
82599         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
82600         Import changes from coreutils.
82601
82602 2004-08-05  Simon Josefsson  <jas@extundo.com>
82603
82604         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
82605
82606 2004-08-05  Simon Josefsson  <jas@extundo.com>
82607
82608         * m4/getsubopt.m4: New file.
82609
82610 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82611
82612         Merge from coreutils.
82613
82614         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
82615         * m4/getcwd-path-max.m4: New files.
82616
82617         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
82618         FILESYSTEM_PREFIX_LEN ->
82619         FILE_SYSTEM_PREFIX_LEN.
82620         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
82621         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
82622         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
82623         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
82624
82625         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
82626         prerequisite modules now handle the DOS stuff.
82627         Don't check for unistd.h.
82628
82629 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82630
82631         Merge from coreutils.
82632
82633         * lib/.gdb-history: Remove; this doesn't belong here.
82634
82635         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
82636         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
82637         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
82638         * lib/getcwd.c: New files.
82639
82640         * lib/dirname.h: Include <stdbool.h>.
82641         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
82642         for consistency with POSIX terminology.  All uses changed.
82643         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
82644         (strip_trailing_slashes): Use bool for booleans.
82645         * lib/stripslash.c (strip_trailing_slashes): Likewise.
82646
82647         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
82648         sometimes returns a positive errno value even when it succeeds.
82649         (print_errno_message) [!LIBC]: Fall back on strerror if
82650         __strerror_r fails.
82651
82652         * lib/path-concat.c (mempcpy): Don't define if a system header defines
82653         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
82654         (longest_relative_suffix): New function.
82655         (path_concat): Use it.  Assume first argument is not NULL.
82656         Port to DOS.  Omit redundant separators.
82657         Report an error instead of returning NULL.
82658         Use mempcpy instead of memcpy.
82659         (xpath_concat): Remove: not declared or used.
82660
82661         * lib/same.h: Include <stdbool.h>
82662         (same_name): Return bool, not int.
82663         * lib/same.c (same_name): Likewise.
82664         (errno): Don't declare; we assume C89 or better now.
82665
82666         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
82667         if not already defined.
82668
82669         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
82670         * lib/dup-safer.c (errno): Likewise.
82671
82672 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82673
82674         Merge from coreutils.
82675         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
82676         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
82677         * modules/path-concat: Don't depend on strdup.
82678
82679 2004-08-03  Simon Josefsson  <jas@extundo.com>
82680
82681         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
82682         * lib/progname.h: Don't include stdbool.h.
82683
82684 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82685
82686         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
82687         * MODULES.html.sh (func_all_modules): Remove fatal.
82688
82689 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82690
82691         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
82692
82693 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82694
82695         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
82696         working.
82697
82698 2004-08-02  Simon Josefsson  <jas@extundo.com>
82699
82700         * lib/getsubopt.h: New file, with comments from Bruno Haible.
82701         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
82702         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
82703
82704 2004-08-01  Simon Josefsson  <jas@extundo.com>
82705
82706         * lib/xgetdomainname.c: Include stdlib.h, for free().
82707
82708 2004-07-19  Bruno Haible  <bruno@clisp.org>
82709
82710         * MODULES.html.sh (func_all_modules): Add dummy.
82711
82712 2004-07-16  Simon Josefsson  <jas@extundo.com>
82713
82714         * modules/dummy: New file.
82715
82716 2004-07-16  Simon Josefsson  <jas@extundo.com>
82717
82718         * lib/dummy.c: New file.
82719
82720 2004-07-16  Bruno Haible  <bruno@clisp.org>
82721
82722         * lib/backupfile.h: Add extern "C" for C++.
82723         * lib/closeout.h: Likewise.
82724         * lib/copy-file.h: Likewise.
82725         * lib/findprog.h: Likewise.
82726         * lib/full-write.h: Likewise.
82727         * lib/pathname.h: Likewise.
82728         * lib/progname.h: Likewise.
82729         * lib/stpcpy.h: Likewise.
82730         * lib/stpncpy.h: Likewise.
82731         * lib/strcase.h: Likewise.
82732         * lib/strstr.h: Likewise.
82733         * lib/xalloc.h: Likewise.
82734
82735         * lib/mbswidth.h: Add extern "C" for C++.
82736         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
82737
82738 2004-07-13  Robert Millan  <robertmh@gnu.org>
82739
82740         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
82741
82742 2004-07-09  Simon Josefsson  <jas@extundo.com>
82743
82744         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
82745         failed without this.)
82746
82747 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82748
82749         * modules/chown (Files): Add lib/fchown-stub.c, since
82750         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
82751
82752 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82753
82754         * lib/fchown-stub.c: New file.
82755
82756 2004-06-24  Jim Meyering  <jim@meyering.net>
82757
82758         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
82759
82760 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82761
82762         * modules/argz: Omit "#include".
82763
82764         * MODULES.html.sh (func_all_modules): Add calloc, to match
82765         2004-06-01 addition of calloc module.
82766
82767 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82768
82769         * m4/argz.m4: New file, which is autoupdated from libtool.
82770
82771 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82772
82773         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
82774         libtool.
82775
82776 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82777
82778         * config/srclist-update: Don't insist on "USA." before the
82779         close-comment, as libtool omits the period and puts the */ on a
82780         separate line.
82781         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
82782         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
82783
82784 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
82785
82786         * modules/argz: New file.
82787         * MODULES.html.sh (func_all_modules): Add argz.
82788
82789 2004-06-12  Jim Meyering  <jim@meyering.net>
82790         and  Paul Eggert  <eggert@cs.ucla.edu>
82791
82792         * modules/hash (Files): Add lib/xalloc.h.
82793         * modules/pipe (Depends-on): Add wait-process.
82794         * modules/stat (Depends-on): Add xalloc.
82795         * modules/userspec (Files): Add lib/userspec.h.
82796         * modules/xstrto
82797
82798         Upgrade from gettext-0.13.
82799         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
82800         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
82801         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
82802
82803 2004-06-10  Jim Meyering  <jim@meyering.net>
82804
82805         * lib/calloc.c: New file.
82806
82807 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82808
82809         * lib/getdate.y (yylex): Allow space between sign and number.
82810         Problem reported by Dan Jacobson.
82811
82812 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82813
82814         Merge from coreutils CVS.
82815
82816         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
82817         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
82818         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
82819         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
82820         xstrtol.m4: Fix copyright date and/or serial number.
82821
82822         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
82823         See if we need an fchown replacement.
82824         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
82825         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
82826         and use the replacement function if we detect either defect.
82827
82828         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
82829         gl_UTIMECMP.
82830
82831 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82832         and  Jim Meyering  <jim@meyering.net>
82833
82834         Merge from coreutils CVS.
82835
82836         * lib/stat-macros.h: New file, with contents from file-type.h
82837         and coreutils' system.h.
82838         * lib/file-type.c: Include "stat-macros.h".
82839         * lib/file-type.h (file_type): Move all macro definitions to new file,
82840         stat-macros.h.
82841
82842         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
82843         Wrap old code with this conditional.
82844         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
82845         function that does not dereference symlinks.
82846         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
82847
82848         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
82849         dependency problems.
82850         (xreadlink): Accept new arg SIZE, for efficiency.
82851         All decls and uses changed.
82852         * lib/xreadlink.h: Include <stddef.h>, for size_t.
82853
82854         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
82855         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
82856
82857         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
82858         sysexits.h.
82859
82860 2004-06-01  Jim Meyering  <jim@meyering.net>
82861
82862         * m4/calloc.m4: New file.
82863
82864 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
82865
82866         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
82867         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
82868         Also, fix a typo in a diagnostic.
82869
82870 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82871
82872         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
82873         or AC_FUNC_REALLOC.
82874
82875 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82876
82877         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
82878         macros to be defined.
82879         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
82880         the allocator returns NULL because the requested size is zero.
82881
82882 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82883
82884         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
82885         var.  Add comment explaining why libc still defines it.  This
82886         merges the following patch from glibc:
82887         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
82888
82889 2004-05-20  Andreas Schwab  <schwab@suse.de>
82890
82891         * m4/free.m4: Replace free if it not known to work, not the other
82892         way round.
82893
82894 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82895
82896         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
82897         present in glibc since revision 1.1 of this file.
82898         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
82899         obstack_alignment_mask, obstack_alloc, obstack_base,
82900         obstack_blank, obstack_blank_fast, obstack_chunk_size,
82901         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
82902         obstack_grow0, obstack_init, obstack_int_grow,
82903         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
82904         obstack_next_free, obstack_object_size, obstack_ptr_grow,
82905         obstack_ptr_grow_fast, obstack_room): Remove declarations of
82906         nonexistent functions.
82907
82908 2004-05-18  Karl Berry  <karl@gnu.org>
82909
82910         * config/srclist.txt: break link for vasnprintf.c.
82911
82912 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82913
82914         Port obstack to the AS/400, where pointers are 16 bytes wide and
82915         you cannot cast an integer to a valid pointer.  This patch is
82916         currently waiting to be integrated into glibc; see
82917         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
82918
82919         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
82920         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
82921         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
82922         (struct obstack): temp member is now a union of a pointer and
82923         an integer, instead of an integer.  All integer uses changed.
82924         This does not affect the physical layout of struct obstack,
82925         except on hosts (like the AS/400) where the size or alignment of
82926         void * is greater than that of ptrdiff_t.
82927         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
82928         __STDC__)]: Store temporary in pointer member of union, not
82929         integer member.
82930         * lib/obstack.c: Include <stddef.h>, for offsetof.
82931         (struct fooalign): Remove; it doesn't need a name.
82932         (union fooround): Change double to long double, and add void *.
82933         (DEFAULT_ALIGNMENT): Use offsetof to compute.
82934         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
82935         not a macro.  Hence the values are always int; so remove all
82936         casts-to-int in uses.
82937
82938 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82939
82940         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
82941         we can get this patch merged into glibc.
82942
82943 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82944             Paul Eggert  <eggert@cs.ucla.edu>
82945
82946         * m4/argp: Depend on alloca.
82947
82948 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82949             Paul Eggert  <eggert@cs.ucla.edu>
82950
82951         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
82952         freecoding.
82953
82954 2004-05-17  Bruno Haible  <bruno@clisp.org>
82955
82956         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
82957         precision that consists of a '.' followed by an empty digit string.
82958         Patch by Tor Lillqvist <tml@iki.fi>.
82959
82960 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82961
82962         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
82963         for backward compatibility with older code.  We need our own
82964         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
82965         it under some other name, and our alloca.h will define it.
82966
82967 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82968             Derek Price  <derek@ximbiot.com>
82969
82970         * lib/alloca.c: Include <alloca.h>, to get our interface.
82971         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
82972         include <alloca.h> first.  Use C89 prototype for alloca; this
82973         requires including <stddef.h> for size_t.  Use extern "C" if C++.
82974         Use #elif for simplicity, since we can assume C89 now.
82975         Don't try to source the system alloca.h since it will not be found
82976         and to prevent recursively including its replacement.
82977         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
82978         * lib/regex.c: Likewise.
82979
82980 2004-05-16  Derek Price  <derek@ximbiot.com>
82981             Paul Eggert  <eggert@cs.ucla.edu>
82982
82983         getline cleanup.  This changes the getndelim2 API: both order of
82984         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
82985         no delimiter).
82986
82987         * lib/getline.c: Don't include stddef.h or stdio.h, since our
82988         interface does that.
82989         (getline): Always use getdelim, so that we don't have two
82990         copies of this code.
82991         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
82992         if available.
82993         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
82994         (GETNDELIM2_MAXIMUM): New macro.
82995         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
82996         instead of the old practice of delim2==0.  All callers changed.
82997         Return -1 on overflow, instead of returning junk.
82998         Do not set *linesize unless allocation succeeds.
82999         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
83000         that we include sys/types.h.
83001         * lib/getnline.h: Likewise.
83002         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
83003         (getndelim2): Reorder arguments.
83004         * lib/getnline.c (getnline, getndelim):
83005         Don't discard the NMAX argument.
83006         (getnline): Invoke getndelim, to avoid code duplication.
83007         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
83008         of (size_t) -1 by callers of the getnline family.
83009
83010 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83011
83012         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
83013         Check for gettimeofday.
83014         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
83015         Check for settimeofday, stime.
83016
83017 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83018
83019         * lib/nanosleep.c (suspended): Change its type from int to
83020         sig_atomic_t volatile.
83021         (first_call): Make it private to rpl_nanosleep, and have it
83022         be zero initially as that's a bit faster.
83023         (my_usleep): Round up fractional times instead of truncating them,
83024         as this is the usual meaning for 'sleep'.
83025
83026         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
83027         doesn't work.
83028         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
83029         (ENOSYS): Define if not defined.
83030         (settime): Fall back on stime if it exists and settimeofday fails.
83031         But don't bother with fallbacks if a method fails with errno == EPERM.
83032
83033 2004-05-11  Jim Meyering  <jim@meyering.net>
83034
83035         Prior to this change, the save_cwd caller required read access to the
83036         current directory on most systems (ones with the fchdir function).
83037
83038         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
83039         fails, try write-only, and finally, resort to using xgetcwd.
83040
83041 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83042
83043         * lib/obstack.c, obstack.h: Import changes from libc.
83044
83045 2004-04-28  Bruno Haible  <bruno@clisp.org>
83046
83047         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
83048         also implicitly appends .exe to executables.
83049         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
83050         accepts Windows pathnames.
83051         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83052         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83053         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83054         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83055         Reported by Derek Robert Price <derek@ximbiot.com>.
83056
83057 2004-04-21  Karl Berry  <karl@gnu.org>
83058
83059         * config/srclist.txt (localcharset.c): break sync.
83060
83061 2004-04-20  Paul Eggert  <eggert@twinsun.com>
83062
83063         * m4/host-os.m4: Add a copyright notice.
83064
83065 2004-04-20  Jim Meyering  <jim@meyering.net>
83066
83067         Change UTILS_ to gl_ in AC_DEFINE'd names.
83068         Change utils_- and jm_-prefixed variables, too.
83069         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
83070         UTILS_FUNC_MKDIR_TRAILING_SLASH.
83071         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
83072
83073         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
83074         Don't emit trailing blanks.
83075         Also rename jm_-prefixed variables to have gl_ prefix.
83076
83077         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
83078         Also rename jm_-prefixed variables to have gl_ prefix.
83079
83080         * m4/jm-macros.m4: Reflect the renamings.
83081         * m4/prereq.m4: Likewise.
83082
83083 2004-04-20  Jim Meyering  <jim@meyering.net>
83084
83085         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
83086         memory.
83087
83088 2004-04-20  Jim Meyering  <jim@meyering.net>
83089             Bruno Haible  <bruno@clisp.org>
83090
83091         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
83092         memory when realloc fails.
83093
83094 2004-04-19  Jim Meyering  <jim@meyering.net>
83095
83096         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
83097         now that readutmp.c may call `free (0)'.
83098
83099 2004-04-19  Bruno Haible  <bruno@clisp.org>
83100
83101         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
83102         * m4/inttypes_h.m4: Likewise.
83103         * m4/stdint_h.m4: Likewise.
83104         * m4/intmax_t.m4: Likewise.
83105         * m4/uintmax_t.m4: Likewise.
83106
83107 2004-04-18  Jim Meyering  <jim@meyering.net>
83108
83109         * m4/prereq.m4: Don't forbid jm_ prefix.
83110
83111         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
83112         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
83113         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
83114         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
83115         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
83116         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
83117         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
83118         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
83119         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
83120         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
83121         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
83122         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
83123         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
83124         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
83125         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
83126         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
83127         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
83128         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
83129         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
83130
83131 2004-04-18  Jim Meyering  <jim@meyering.net>
83132
83133         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
83134         failure, don't leak memory and do call END_UTMP_ENT.
83135
83136 2004-04-16  Jim Meyering  <jim@meyering.net>
83137
83138         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
83139         coreutils' stat program.
83140         (gl_PREREQ): Don't require jm_PREREQ_STAT.
83141
83142 2004-04-11  Paul Eggert  <eggert@twinsun.com>
83143
83144         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
83145         C89.
83146         (CHAR_BIT): Remove, since we assume C89.
83147         Include <stdint.h> if available, as per current Autoconf CVS advice.
83148
83149 2004-03-31  Jim Meyering  <jim@meyering.net>
83150
83151         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
83152         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
83153         * m4/xalloc.m4: Likewise.
83154
83155 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83156
83157         Merge from coreutils.
83158
83159         * m4/inttostr.m4: New file.
83160         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
83161         Require AM_STDBOOL_H and gl_TIMESPEC instead.
83162         Require gl_CLOCK_TIME.
83163         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
83164
83165 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83166
83167         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
83168         not bool, to be more consistent with Unix conventions.
83169         Suggested by Bruno Haible.
83170
83171         Merge from coreutils.
83172
83173         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
83174         * lib/umaxtostr.c: New files.
83175
83176         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
83177         the usual <time.h> dance.
83178         (get_date): Change signature to support fractional time stamps.
83179         All callers changed.
83180         * lib/getdate.y: Include "getdate.h" first, as we can now
83181         assume C89 and don't need to worry about 'const'.
83182         Similarly, include "unlocked-io.h" near start, not in middle.
83183         Include <limits.h>.
83184         (textint.value): Use long int rather than int.
83185         (textint.digits): Use size_t rather than int.
83186         (BILLION, LOG10_BILLION): New constants.
83187         (parser_control): New member rel_ns.  Members day_ordinal,
83188         time_zone, month, day, hour, minutes, rel_year, rel_month,
83189         rel_day, rel_hour, rel_minutes, rel_seconds
83190         are now long int, not int.  Member seconds is now struct timespec,
83191         not int.  New member timespec_seen.  Members dates_seen, days_seen,
83192         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
83193         not int.
83194         (%union.intval): Now long int, not int.
83195         New member timespec.
83196         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
83197         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
83198         (spec): Now is a timespec or an item list.
83199         (timespec, items): New nonterminals.
83200         (time, rel, relunit, number, get_date):
83201         Add support for fractional seconds.
83202         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
83203         (gmtime, localtime, mktime): Remove decls; not needed with C89.
83204         (to_hour): First arg is now long int, not int.
83205         (to_year): Returns long int, not int.
83206         Don't treat year -70 like 70.
83207         (tm_diff): Returns long int, not int.
83208         (lookup_word): Use bool instead of int when appropriate.
83209         (yylex): Use size_t for count, not int.
83210         Detect overflow when parsing large integer constants.
83211         Add support for fractions.
83212         (get_date): Make pointers 'const' if possible.
83213         Use more-portable code to detect integer overflow.
83214         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
83215         Don't use ctime; it's not reliable if the year has >4 digits.
83216
83217         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
83218         This is for compatibility with BSD.
83219
83220         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
83221         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
83222         From coreutils' system.h.
83223
83224         * lib/userspec.c: Don't include "posixver.h".
83225         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
83226         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
83227         compatible extension.  Simplify code by removing a boolean int
83228         that was always nonzero if a string was nonnull.
83229
83230 2004-03-30  Jim Meyering  <jim@meyering.net>
83231
83232         Merge from coreutils.
83233
83234         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
83235         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
83236         on some systems one must include <grp.h> before it.
83237         Reported by Christian Krackowizer.
83238
83239 2004-03-30  Jim Meyering  <jim@meyering.net>
83240
83241         Merge from coreutils.
83242
83243         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
83244
83245         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
83246         an empty input stream.
83247
83248         * lib/readtokens.c: Include <stdbool.h>.
83249         (readtoken): Use `size_t' rather than int/long.
83250         All callers adjusted.
83251         Use `bool' rather than `int' where appropriate.
83252         Use memset rather than an explicit loop.
83253         Use x2nrealloc rather than xrealloc.
83254         Allow the use of `\0' as a delimiter.
83255         (readtokens): Likewise.
83256         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
83257
83258 2004-03-30  Jim Meyering  <jim@meyering.net>
83259
83260         * m4/realloc.m4: Remove file, since now it does no more than
83261         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
83262         the `configure.ac' section of module/realloc.
83263         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
83264
83265 2004-03-30  Bruno Haible  <bruno@clisp.org>
83266
83267         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
83268         nonnull.
83269
83270 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83271
83272         Merge changes to getloadavg.c from coreutils and Emacs.
83273
83274         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
83275         Define to an expression, not to the empty string.
83276         Include cloexec.h and xalloc.h.
83277         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
83278         Use set_cloexec_flag rather than rolling our own.
83279         * lib/cloexec.c, lib/cloexec.h: New files.
83280
83281 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83282
83283         * m4/cloexec.m4: New file.
83284
83285 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83286
83287         * lib/getopt.h: Sync with libc CVS.
83288
83289 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83290             Bruno Haible  <bruno@clisp.org>
83291
83292         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
83293         mbswidth.
83294
83295 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83296             Bruno Haible  <bruno@clisp.org>
83297
83298         * lib/mbswidth.h: Include <wchar.h> only if
83299         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
83300         <wchar.h>.
83301         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
83302
83303 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83304
83305         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
83306         Sync with libc CVS.
83307         * lib/getopt_int.h: New file, also synced from libc.
83308
83309 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83310
83311         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
83312         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
83313         Bring back getopt.c, getopt.h, getopt1.c.
83314
83315 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83316
83317         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
83318         All uses changed.  Check for sa_sigaction member; this fixes
83319         a bug first reported by Jason Andrade in
83320         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83321
83322 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83323
83324         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
83325         '#if' expressions.  Unlike the code it replaces, it does not
83326         depend on (defined _SC_PAGESIZE).  However, it does depend on
83327         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
83328         first reported by Jason Andrade in
83329         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83330
83331 2004-02-25  Simon Josefsson  <jas@extundo.com>
83332
83333         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
83334
83335 2004-02-25  Simon Josefsson  <jas@extundo.com>
83336
83337         * lib/strdup.h: New file.
83338         * lib/strdup.c: Include it.
83339         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
83340         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
83341
83342 2004-02-23  Karl Berry  <karl@gnu.org>
83343
83344         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
83345         (from fencepost.gnu.org:/gd/gnuorg).
83346
83347 2004-02-23  Karl Berry  <karl@gnu.org>
83348
83349         * config/srclistvars.sh (GNUORG) [karl]: redefine.
83350         * config/srclist.txt: add maintain/standards documents.
83351
83352 2004-02-18  Bruno Haible  <bruno@clisp.org>
83353
83354         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
83355         Reported by Derek Robert Price <derek@ximbiot.com>.
83356
83357 2004-02-16  Karl Berry  <karl@gnu.org>
83358
83359         * config/mkinstalldirs, install-sh: update from automake.
83360
83361 2004-02-06  Karl Berry  <karl@gnu.org>
83362
83363         * m4/po.m4: update from gettext 0.14.1.
83364
83365 2004-02-06  Karl Berry  <karl@gnu.org>
83366
83367         * lib/config.charset: update from gettext 0.14.1.
83368
83369 2004-02-05  Paul Eggert  <eggert@twinsun.com>
83370
83371         Add comments and code, prompted by suggestions from Bruno Haible
83372         for sh-quote.
83373         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
83374         describing the enum quoting_style values.
83375         * lib/quotearg.c (quotearg_alloc): New function.
83376         (quotearg_buffer_restyled): Treat lone { and } as special.
83377         Treat = as special.  Work around bug with older shells
83378         that "see" a '\' that is really the 2nd byte of a multibyte char.
83379         Quote empty string with shell_quoting_style.
83380
83381 2004-02-03  Bruno Haible  <bruno@clisp.org>
83382
83383         * m4/pipe.m4: New file, from GNU gettext.
83384
83385 2004-02-03  Bruno Haible  <bruno@clisp.org>
83386
83387         * lib/pipe.h: New file, from GNU gettext.
83388         * lib/pipe.c: New file, from GNU gettext.
83389
83390 2004-01-27  Bruno Haible  <bruno@clisp.org>
83391
83392         * m4/execute.m4: New file, from GNU gettext.
83393
83394 2004-01-27  Bruno Haible  <bruno@clisp.org>
83395
83396         * lib/execute.h: New file, from GNU gettext.
83397         * lib/execute.c: New file, from GNU gettext.
83398         * lib/w32spawn.h: New file, from GNU gettext.
83399
83400 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83401
83402         Merge from diffutils.
83403
83404         * lib/file-type.c (file_type): Add typed memory objects.
83405         * lib/file-type.h (S_TYPEISTMO): New macro.
83406
83407         * lib/c-stack.h (c_stack_action): Remove argv argument.
83408         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
83409         (die): Don't calculate message unless segv_action returns.
83410         (get_stack_location, min_address_from_argv, max_address_from_argv,
83411         volatile stack_base, volatile_stack_size): Remove.
83412         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
83413         that every segmentation violation is a stack overflow.  (Ouch!)
83414         See Debian bug 136249 (still outstanding) for more info about why
83415         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
83416
83417 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83418
83419         Exit-status fix from coreutils.
83420
83421         Use exit_failure consistently in place of EXIT_FAILURE,
83422         so that program exit statuses are consistent on failure.
83423
83424         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
83425         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
83426         * lib/argmatch.h: Comment fix to match the above.
83427         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
83428         Now a macro referring to exit_failure, instead of a separate
83429         variable.  Include "exitfail.h" to get it.
83430         * lib/xstrtol.h: Include "exitfail.h".
83431         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
83432
83433         * lib/long-options.c (parse_long_options): Use prototype
83434         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
83435         for clarity.
83436
83437 2004-01-21  Jim Meyering  <jim@meyering.net>
83438
83439         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
83440         so as not to conflict with a different-sized __mktime_internal
83441         function in GNU libc.
83442         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
83443         Problem building statically-linked `ls' reported by Michael Brunnbauer.
83444
83445 2004-01-20  Karl Berry  <karl@gnu.org>
83446
83447         * config/config.guess: update from config.
83448
83449         * config/srclistvars.sh: GNUWWWLICENSES for karl.
83450
83451 2004-01-20  Bruno Haible  <bruno@clisp.org>
83452
83453         Safer stack allocation.
83454         * lib/setenv.c: Include allocsa.h.
83455         (alloca): Remove fallback definition.
83456         (freea): Remove macro.
83457         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
83458         instead of freea.
83459
83460 2004-01-20  Bruno Haible  <bruno@clisp.org>
83461
83462         * m4/eealloc.m4: New file, from GNU gettext.
83463
83464 2004-01-20  Bruno Haible  <bruno@clisp.org>
83465
83466         * m4/allocsa.m4: New file, from GNU gettext.
83467
83468 2004-01-20  Bruno Haible  <bruno@clisp.org>
83469
83470         * lib/xallocsa.h: New file, from GNU gettext.
83471         * lib/xallocsa.c: New file, from GNU gettext.
83472
83473 2004-01-20  Bruno Haible  <bruno@clisp.org>
83474
83475         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
83476
83477 2004-01-20  Bruno Haible  <bruno@clisp.org>
83478
83479         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
83480         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
83481         specially.
83482
83483 2004-01-20  Bruno Haible  <bruno@clisp.org>
83484
83485         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
83486         patch.
83487
83488 2004-01-20  Bruno Haible  <bruno@clisp.org>
83489
83490         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
83491
83492 2004-01-20  Bruno Haible  <bruno@clisp.org>
83493
83494         * lib/eealloc.h: New file.
83495
83496 2004-01-20  Bruno Haible  <bruno@clisp.org>
83497
83498         * lib/binary-io.h: Avoid warnings on Cygwin.
83499
83500 2004-01-20  Bruno Haible  <bruno@clisp.org>
83501
83502         * lib/allocsa.h: New file, from GNU gettext.
83503         * lib/allocsa.c: New file, from GNU gettext.
83504
83505 2004-01-18  Karl Berry  <karl@gnu.org>
83506
83507         * doc/gpl.texi, doc/lgpl.texi: new files.
83508
83509 2004-01-18  Karl Berry  <karl@gnu.org>
83510
83511         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
83512         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
83513
83514 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83515
83516         Merge from coreutils.
83517
83518         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
83519         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
83520         (gl_DEFAULT_POSIX2_VERSION): Move
83521         the documentation from 'configure' into 'config.hin',
83522         so that 'configure --help' isn't burdened by it and
83523         we don't have to worry about its formatting there.
83524         Reword the documentation so that it's more succinct
83525         and can be run together into a single paragraph.
83526         * m4/same.m4 (gl_SAME): Check for pathconf.
83527
83528 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83529
83530         Merge from coreutils.
83531
83532         * lib/posixver.c: Include posixver.h.
83533
83534         * lib/same.c: Include <stdbool.h>, <limits.h>.
83535         (_POSIX_NAME_MAX): Define if not defined.
83536         (MIN): New macro.
83537         (same_name): If file names are silently truncated, report
83538         that the file names are the same if they are the same after
83539         the silent truncation.
83540
83541         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
83542         conversion function.
83543         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
83544         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
83545         longer needed.
83546
83547 2004-01-15  Jim Meyering  <jim@meyering.net>
83548
83549         Merge from coreutils.
83550
83551         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
83552         if no library is required.
83553         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
83554         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
83555         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
83556         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
83557         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
83558         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
83559         value, $ac_cv_search_crypt, if it's "none required".
83560         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
83561         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
83562         not gl_FUNC_GETLOADAVG.
83563         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
83564         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
83565
83566 2004-01-15  Jim Meyering  <jim@meyering.net>
83567
83568         Merge from coreutils.
83569
83570         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
83571         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
83572         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
83573
83574         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
83575         optional configure-time default.
83576
83577         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83578
83579         * lib/xreadlink.c (xreadlink): Correct outdated comment.
83580
83581 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
83582
83583         Merge from coreutils.
83584
83585         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
83586         value, $ac_cv_search_nanosleep, if it's "none required".
83587
83588 2004-01-14  Paul Eggert  <eggert@twinsun.com>
83589
83590         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
83591         with like-named macro in fnmatch.c.
83592         (EXT): Use an internal constant instead.
83593
83594         Merge fnmatch patches from glibc.
83595         * lib/fnmatch.c (mbsinit): Remove define.
83596         Add libc_hidden_ver (__fnmatch, fnmatch).
83597         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
83598         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
83599
83600 2004-01-14  Karl Berry  <karl@gnu.org>
83601
83602         * config/install-sh: update from automake.
83603
83604 2004-01-13  Karl Berry  <karl@gnu.org>
83605
83606         * config/install-sh: update from automake.
83607
83608 2004-01-09  Karl Berry  <karl@gnu.org>
83609
83610         * config/install-sh: update from automake.
83611
83612 2004-01-05  Karl Berry  <karl@gnu.org>
83613
83614         * config/config.{sub,guess}: update from config.
83615
83616 2003-12-31  Karl Berry  <karl@gnu.org>
83617
83618         * config/depcomp: update from automake.
83619
83620 2003-12-14  Karl Berry  <karl@gnu.org>
83621
83622         * lib/config.charset: update from gettext-runtime.
83623
83624 2003-12-03  Paul Eggert  <eggert@twinsun.com>
83625
83626         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
83627         Bug reported by Alfred M. Szmidt.
83628
83629 2003-12-03  Bruno Haible  <bruno@clisp.org>
83630
83631         * m4/gettext.m4: Upgrade from gettext-0.13.
83632         * m4/po.m4: Upgrade from gettext-0.13.
83633         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
83634         * m4/intmax.m4: New file, from gettext-0.13.
83635         * m4/printf-posix.m4: New file, from gettext-0.13.
83636
83637 2003-11-29  Karl Berry  <karl@gnu.org>
83638
83639         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
83640
83641 2003-11-25  Paul Eggert  <eggert@twinsun.com>
83642             Bruno Haible  <bruno@clisp.org>
83643
83644         * lib/printf-parse.h: Don't include sys/types.h.
83645         (ARG_NONE): New macro.
83646         (char_directive): Change type of *arg_index fields to size_t.
83647         * lib/printf-parse.c: Don't include sys/types.h.
83648         (SSIZE_MAX): Remove macro.
83649         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
83650         Remove unnecessary overflow check.
83651         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
83652         fields.
83653
83654 2003-11-25  Bruno Haible  <bruno@clisp.org>
83655
83656         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
83657
83658 2003-11-25  Bruno Haible  <bruno@clisp.org>
83659
83660         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
83661         gt_TYPE_SSIZE_T.
83662
83663 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83664
83665         * modules/alloca: Remove dependency on xalloc.
83666
83667 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83668
83669         * lib/alloca.c: Remove dependency on xalloc module.
83670         (xalloc_die): Remove.
83671         (memory_full) [!defined emacs]: New macro.
83672         [!defined emacs]: Don't include xalloc.h.
83673         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
83674         address arithmetic overflows.  Change datatypes a bit to avoid
83675         unnecessary casts.
83676
83677 2003-11-22  Jim Meyering  <jim@meyering.net>
83678
83679         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
83680         s/size/size_t/.
83681
83682 2003-11-21  Karl Berry  <karl@gnu.org>
83683
83684         * config/config.{sub,guess}: update from config.
83685
83686 2003-11-18  Karl Berry  <karl@gnu.org>
83687
83688         * config/config.{sub,guess}: update from config.
83689
83690         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
83691
83692 2003-11-17  Paul Eggert  <eggert@twinsun.com>
83693
83694         * README: Mention that S+T cannot overflow if S is the size of
83695         an existing object and T is sufficiently small.
83696
83697 2003-11-17  Jim Meyering  <jim@meyering.net>
83698
83699         On systems without utime and without a utimes function capable of
83700         dealing with a NULL struct utimbuf* argument, this utime replacement
83701         could -- in unusual circumstances -- leak a file descriptor.
83702         * lib/utime.c: Include <unistd.h> and <errno.h>.
83703         (utime_null): Be sure to close `fd' and to preserve errno.
83704         Reported by Geoff Collyer via Arnold Robbins.
83705
83706 2003-11-17  Bruno Haible  <bruno@clisp.org>
83707
83708         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
83709         (Depends-on): Add xsize.
83710
83711 2003-11-17  Bruno Haible  <bruno@clisp.org>
83712
83713         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
83714
83715 2003-11-17  Bruno Haible  <bruno@clisp.org>
83716
83717         * lib/vasnprintf.c (alloca): Remove fallback definition.
83718         (freea): Remove definition.
83719         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
83720         Reported by Paul Eggert.
83721
83722 2003-11-16  Paul Eggert  <eggert@twinsun.com>
83723             Bruno Haible  <bruno@clisp.org>
83724
83725         Protect against address arithmetic overflow.
83726         * lib/printf-args.h: Include stddef.h.
83727         (arguments): Change type of field 'count' to size_t.
83728         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
83729         'unsigned int' where appropriate.
83730         * lib/printf-parse.h: Include sys/types.h.
83731         (char_directive): Change type of *arg_index fields to ssize_t.
83732         (char_directives): Change type of fields 'count', max_*_length to
83733         size_t.
83734         * lib/printf-parse.c: Include sys/types.h and xsize.h.
83735         (SSIZE_MAX): Define fallback value.
83736         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
83737         instead of 'int' where appropriate. Check a_allocated, d_allocated
83738         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
83739         * lib/vasnprintf.c: Include xsize.h.
83740         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
83741         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
83742         overflow. Avoid wraparound when converting a width or precision from
83743         decimal to binary.
83744
83745 2003-11-16  Bruno Haible  <bruno@clisp.org>
83746
83747         Update from GNU gettext.
83748         * lib/printf-parse.c: Generalize to it can be compiled for wide
83749         strings.
83750         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
83751         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
83752         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
83753         SNPRINTF): New macros.
83754         Don't include <alloca.h> if the file is used inside libintl.
83755         (local_wcslen): New function, for Solaris 2.5.1.
83756         (VASNPRINTF): Use it instead of wcslen.
83757
83758 2003-11-16  Bruno Haible  <bruno@clisp.org>
83759
83760         * lib/xsize.h (xmax): New function.
83761         (xsum, xsum3, xsum4): Declare as "pure" functions.
83762
83763 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83764
83765         * modules/xalloc (Files): Undo latest change, since xalloc.h
83766         no longer needs SIZE_MAX or PTRDIFF_MAX.
83767
83768 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83769
83770         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
83771         gl_PTRDIFF_MAX.
83772
83773 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83774
83775         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
83776         "return", to pacify some unknown compiler.  Problem reported
83777         by Joerg Schilling.
83778
83779 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83780
83781         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
83782         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
83783         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
83784         heuristic is just as accurate as far as we know, and it removes a
83785         dependency on size_max.m4 and ptrdiff_max.m4.
83786
83787 2003-11-11  Bruno Haible  <bruno@clisp.org>
83788
83789         * modules/xsize (Files): Add m4/size_max.m4.
83790         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
83791
83792 2003-11-11  Bruno Haible  <bruno@clisp.org>
83793
83794         * m4/size_max.m4: New file.
83795         * m4/ptrdiff_max.m4: New file.
83796         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
83797         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
83798         (gl_XALLOC): Invoke it.
83799
83800 2003-11-11  Bruno Haible  <bruno@clisp.org>
83801
83802         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
83803         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
83804         defined.
83805
83806 2003-11-10  Paul Eggert  <eggert@twinsun.com>
83807
83808         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
83809         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
83810         rejected some allocations of exactly SIZE_MAX - 2 bytes.
83811         From Bruno Haible.
83812         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
83813         not (size_t) -1, since it's defined here.
83814
83815 2003-11-09  Karl Berry  <karl@gnu.org>
83816
83817         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
83818
83819 2003-11-06  Paul Eggert  <eggert@twinsun.com>
83820
83821         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
83822         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
83823         Reject sizes of exactly SIZE_MAX bytes.
83824         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
83825         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
83826
83827 2003-11-05  Bruno Haible  <bruno@clisp.org>
83828
83829         * lib/xsize.h: Include limits.h, to avoid a possible collision with
83830         SIZE_MAX defined in <limits.h> on Solaris.
83831
83832 2003-11-04  Jim Meyering  <jim@meyering.net>
83833
83834         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
83835         variable names, rather than @VAR@.
83836         * modules/poll: Likewise.
83837
83838 2003-11-04  Bruno Haible  <bruno@clisp.org>
83839
83840         * modules/xsize: New file.
83841         * modules/linebreak: Depend on xsize.
83842         * MODULES.html.sh (func_all_modules): Add xsize.
83843
83844 2003-11-04  Bruno Haible  <bruno@clisp.org>
83845
83846         * m4/xsize.m4: New file.
83847
83848 2003-11-04  Bruno Haible  <bruno@clisp.org>
83849
83850         * lib/xsize.h: New file.
83851         * lib/linebreak.c: Include xsize.h.
83852         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
83853         argument for overflow.
83854         Suggested by Paul Eggert.
83855
83856 2003-11-03  Karl Berry  <karl@gnu.org>
83857
83858         * config/config.{guess,sub}: update from config.
83859
83860 2003-11-03  Jim Meyering  <jim@meyering.net>
83861
83862         * modules/userspec (lib_SOURCES): Add userspec.h.
83863         (Include): Add "userspec.h".
83864         Improve description.
83865
83866 2003-11-03  Jim Meyering  <jim@meyering.net>
83867
83868         * lib/userspec.c: Include "userspec.h".
83869         * lib/userspec.h: New file.
83870
83871 2003-11-03  Bruno Haible  <bruno@clisp.org>
83872
83873         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
83874
83875 2003-11-03  Bruno Haible  <bruno@clisp.org>
83876
83877         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
83878         available, to avoid (extremely rare) race condition.
83879         Suggested by Paul Eggert.
83880
83881 2003-11-02  Karl Berry  <karl@gnu.org>
83882
83883         * config/srclist.txt (vasprintf.c): sync broken, sigh.
83884
83885 2003-10-31  Paul Eggert  <eggert@twinsun.com>
83886
83887         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
83888         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
83889         (read_filesystem_list): Set and use me_type_malloced.
83890         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
83891         whatever the type happens to be), for brevity and consistency.
83892         Check for size calculation overflow on Alphas running OSF/1.
83893
83894 2003-10-31  Jim Meyering  <jim@meyering.net>
83895
83896         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
83897
83898         * lib/linebuffer.c: Include <string.h> for declaration of memset.
83899
83900 2003-10-30  Paul Eggert  <eggert@twinsun.com>
83901             Bruno Haible  <bruno@clisp.org>
83902
83903         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
83904         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
83905
83906 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83907
83908         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
83909         netbsd*-gnu*.  Suggested by Robert Millan.
83910
83911 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83912
83913         * modules/group-member: Depend on stdbool.
83914
83915 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83916
83917         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
83918
83919 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83920
83921         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
83922         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
83923         after the 'gnu' in these cases.  This fixes some bugs in the
83924         previous change, and is based on suggestions by Robert Millan.
83925
83926 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83927
83928         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
83929         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
83930         no longer needed.
83931         * lib/quotearg.c (quotearg_n_options): Use it.
83932         * lib/group-member.c: Include <stdbool.h>.
83933         (free_group_info): Arg is now const *; don't free arg.
83934         (get_group_info): Now returns bool and accepts struct group_info *,
83935         rather than returning a malloc'ed struct group_info *.
83936         All uses changed.  Check for overflow in internal size calculation.
83937
83938         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
83939         rather than xmalloc/xrealloc.
83940         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
83941         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
83942         conformance bug: the old code used a pointer after freeing the
83943         storage that it addressed.
83944         * lib/hash.c (hash_initialize): Simplify the code by using
83945         xalloc_oversized rather than doing it by hand.
83946         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
83947         the buffer preserved.  Use free and xmalloc instead.
83948         * lib/quotearg.c (quotearg_n_options): Likewise.
83949         Use a simpler test for size overflow.  Don't use xalloc_oversized
83950         because unsigned int might be wider than size_t (!); this suggests
83951         that we should switch from unsigned int to size_t for slot numbers.
83952
83953 2003-10-28  Paul Eggert  <eggert@twinsun.com>
83954
83955         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
83956         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
83957         NetBSD kernels.  Requested by Richard Stallman.
83958
83959 2003-10-27  Paul Eggert  <eggert@twinsun.com>
83960
83961         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
83962         to allocate the returned structure.  Do not allocate a subarray,
83963         as x2nrealloc will do that.
83964         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
83965         instead of xnrealloc.
83966         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
83967
83968 2003-10-27  Bruno Haible  <bruno@clisp.org>
83969
83970         * lib/stdbool_.h: Better support for BeOS.
83971
83972 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83973
83974         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
83975         now uses inline.
83976
83977 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83978
83979         * lib/xalloc.h (xalloc_oversized): New static inline function, for
83980         callers that want to do their own size-overflow checking.  Include
83981         <stdbool.h>, since xalloc_oversized returns bool.
83982         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
83983         to use xalloc_oversized.
83984
83985         Add two functions x2realloc, x2nrealloc, for programs that grow
83986         arrays dynamically by doubling their sizes.
83987         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
83988         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
83989         New functions.
83990
83991         Port to C99 semantics for 'inline' of external functions.
83992         Bug reported by Bruno Haible.
83993         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
83994         with the old contents of xnmalloc.
83995         (xnmalloc, xmalloc): Use it.
83996         (xnrealloc_inline): New static inline function,
83997         with the old contents of xnrealloc.
83998         (xnrealloc, xrealloc): Use it.
83999
84000         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
84001         that.
84002
84003 2003-10-26  Karl Berry  <karl@gnu.org>
84004
84005         * config/srclist.txt (COPYING.DOC): no longer available from
84006         /gd/gnuorg; don't know where the ultimate source is.
84007
84008 2003-10-25  Paul Eggert  <eggert@twinsun.com>
84009
84010         Fix several address-calculation bugs in the hash modules,
84011         plus some minor code cleanup.
84012
84013         * lib/hash.h: Include <stdbool.h>, for bool.
84014         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
84015         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
84016         hash_get_n_entries, hash_get_max_bucket_length,
84017         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
84018         hash_rehash): Use size_t rather than unsigned.
84019         * lib/hash.c (struct hash_table, hash_get_n_buckets,
84020         hash_get_n_buckets_used, hash_get_n_entries,
84021         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
84022         hash_get_entries, hash_do_for_each, hash_string, is_prime,
84023         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
84024         Likewise.
84025         (SIZE_MAX): Define if not defined.
84026         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
84027         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
84028         hash_print):
84029         Use const * when possible.
84030         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
84031         (check_tuning): Fix bug: if tuning parameters were very close to
84032         0 or 1, rounding errors could have caused subscript violations.
84033         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
84034         (hash_initialize): Add 'fail:' label
84035         to free table and return NULL, and use it to simplify code.
84036         Use calloc rather than clearing the storage ourself.
84037         (hash_initialize, hash_rehash): Check for arithmetic overflow in
84038         buffer size calculations.
84039         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
84040         Include <stddef.h>, for size_t.
84041         * lib/hash-pjw.c (hash_pjw): Likewise.
84042         Switch to method described by Bruno Haible.
84043         Include <limits.h>, for CHAR_BIT.
84044         (SIZE_BITS): New macro.
84045
84046 2003-10-23  Paul Eggert  <eggert@twinsun.com>
84047
84048         * m4/getline.m4 (AM_FUNC_GETLINE):
84049         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
84050         hosts.  Problem reported by Derek Robert Price in
84051         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
84052         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
84053         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
84054
84055 2003-10-21  Paul Eggert  <eggert@twinsun.com>
84056
84057         * lib/getndelim2.c (getndelim2): When size calculation overflows,
84058         ceiling the allocation at NMAX bytes rather than silently
84059         discarding input bytes before NMAX is reached.  This makes
84060         a difference only if NMAX exceeds SIZE_MAX / 2.
84061
84062         * lib/obstack.c: Merge from glibc.
84063         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
84064         Add libc_hidden_def (_obstack_newchunk).
84065         (_obstack_free) [! defined _LIBC]: Remove.
84066         [defined _LIBC]: Make a strong alias from obstack_free, rather than
84067         a clone of the function body.
84068         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
84069         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
84070
84071         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
84072         glibc.
84073         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
84074         arg to memcpy.
84075
84076         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
84077         (obstack_ptr_grow_fast, obstack_int_grow_fast):
84078         Don't use lvalue casts, as GCC plans to remove support for them
84079         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
84080         was also present in the non-GCC version, indicating that this
84081         code had always been buggy and had never been widely used.
84082         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
84083         Use the fast variant of each macro, rather than copying the
84084         definiens of the fast variant; that way, we'll be more likely to
84085         catch future bugs in the fast variants.
84086
84087 2003-10-20  Bruno Haible  <bruno@clisp.org>
84088
84089         * modules/wait-process: New file.
84090         * MODULES.html.sh (func_all_modules): Add wait-process.
84091
84092 2003-10-20  Bruno Haible  <bruno@clisp.org>
84093
84094         * m4/wait-process.m4: New file.
84095
84096 2003-10-20  Bruno Haible  <bruno@clisp.org>
84097
84098         * lib/wait-process.h: New file, from GNU gettext.
84099         * lib/wait-process.c: New file, from GNU gettext.
84100
84101 2003-10-19  Jim Meyering  <jim@meyering.net>
84102
84103         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
84104         HPUX 10.20.
84105
84106 2003-10-18  Karl Berry  <karl@gnu.org>
84107
84108         * config/config.guess: update from config.
84109
84110 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84111
84112         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
84113         (getgroups): First arg is int, not size_t.
84114         Don't let 'free' mangle errno.
84115
84116 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84117
84118         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
84119
84120 2003-10-16  Karl Berry  <karl@gnu.org>
84121
84122         * config/config.{guess,sub}: update from config.
84123
84124 2003-10-16  Jim Meyering  <jim@meyering.net>
84125
84126         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
84127         memcpy.
84128
84129 2003-10-15  Paul Eggert  <eggert@twinsun.com>
84130
84131         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
84132         (SIZE_MAX): Remove.
84133         (new_exclude, add_exclude_file): Initial size no longer needs to
84134         be a power of 2.
84135         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
84136         our own address arithmetic overflow checking.
84137
84138         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
84139         (fnmatch): Do not alloca more than 2000 wide characters;
84140         instead, use malloc for large buffers.
84141         Check for address arithmetic overflow, and return -1
84142         with errno set to ENOMEM in that case.
84143         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
84144         (NEW_PATTERN): Do not alloca more than 8000 bytes;
84145         instead, return -1.  Check for address arithmetic overflow.
84146
84147 2003-10-14  Paul Eggert  <eggert@twinsun.com>
84148
84149         Handle invalid suffixes and overflow independently, so that
84150         callers can treat them independently as needed.  Fix some bugs in
84151         suffix handling, e.g., "100k@" was not diagnosed as an invalid
84152         suffix for a human-readable blocksize.  The major caller-visible
84153         change is the addition of a new
84154         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
84155         that both overflow and suffix chars were found.
84156
84157         * lib/human.c (humblock): Don't check separately for invalid suffix
84158         char; that is xstrtoumax's job (now that its bug is fixed).
84159         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
84160         INTMAX_MAX]: New macros.
84161         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
84162         TYPE_MAXIMUM): New macros.
84163         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
84164         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
84165         if overflow occurs, as it's what __strtol does and it's more useful
84166         in practice.
84167         (__xstrtol): If __strtol reports some error other than ERANGE,
84168         reflect it to the caller as LONGINT_INVALID.  If it reports
84169         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
84170         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
84171         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
84172         value.
84173         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
84174         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
84175         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
84176         [defined UINTMAX_MAX]: New macros.
84177
84178 2003-10-14  Bruno Haible  <bruno@clisp.org>
84179
84180         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
84181
84182 2003-10-14  Bruno Haible  <bruno@clisp.org>
84183
84184         * m4/sig_atomic_t: New file, from GNU gettext.
84185         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
84186
84187 2003-10-14  Bruno Haible  <bruno@clisp.org>
84188
84189         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
84190         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
84191         Also use volatile where needed.
84192
84193 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84194
84195         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
84196         Change maintainer from Bruno Haible to 'all'.
84197
84198 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84199
84200         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
84201
84202 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84203
84204         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
84205         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
84206         and define in terms of the other primitives.
84207         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
84208         (SIZE_MAX): Define if not already defined.
84209         (array_size_overflow): New function.
84210         (xalloc_die): Abort instead of exiting if 'error' returns.
84211         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
84212         (xmalloc, xrealloc): Use them.
84213         (xcalloc): Check for address arithmetic overflow.
84214         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
84215         a bit faster than strcpy.
84216
84217 2003-10-10  Simon Josefsson  <jas@extundo.com>
84218
84219         * modules/argp (Depends-on): Add restrict and strcase.
84220
84221 2003-10-10  Simon Josefsson  <jas@extundo.com>
84222
84223         * m4/argp.m4: Add AC_C_INLINE.
84224
84225 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84226
84227         Merge getpass from libc, plus a few fixes.
84228
84229         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
84230         Include <stdbool.h>.
84231         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
84232         __fsetlocking to empty.
84233         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
84234         do include <bits/libc-lock.h>.
84235         Do not include <fcntl.h>; not needed.
84236         [_LIBC]: Include <wchar.h>.
84237         (NOTCANCEL_MODE): New macro.
84238         (flockfile, funlockfile) [_LIBC]: New macros.
84239         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
84240         [!_LIBC]: New macros.
84241         (call_fclose): New function.
84242         (getpass): Use it.  Save tty stream separately; this simplifies the
84243         code and makes it more reliable if stdin happens to equal stdout.
84244         Invoke __fsetlocking on tty.
84245         Handle thread cancellation if needed.
84246         Namespace cleanup (use __tcgetattr, __getline).
84247         Use bool for Booleans.
84248         [USE_IN_LIBIO]: Handle wide streams.
84249         [!_LIBC]: Unconditionally do the fseek, since we don't know what
84250         stream might go where.
84251
84252         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
84253         doesn't have to include <stdio.h> before us.
84254         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
84255         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
84256         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
84257         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
84258         if not declared, so that we can use getpass.c code from libc without
84259         rewriting it.
84260         (flockfile, ftrylockfile, funlockfile): New macros.
84261
84262 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84263
84264         * modules/getpass: Depend on stdbool.
84265
84266 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84267
84268         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
84269
84270 2003-10-07  Karl Berry  <karl@gnu.org>
84271
84272         * config/config.{guess,sub}: update from config.
84273
84274 2003-10-06  Jim Meyering  <jim@meyering.net>
84275             Bruno Haible  <bruno@clisp.org>
84276
84277         This lets translators provide better translations for the
84278         "Written by ..." part of --version output.
84279         * lib/version-etc.h: Include stdarg.h.
84280         (version_etc_copyright): Declare as readonly.
84281         (version_etc): Make this function variadic with a NULL-terminated list
84282         of author name strings.
84283         (version_etc_va): New declaration.
84284         * lib/version-etc.c: Include stdarg.h, stdlib.h.
84285         (version_etc_copyright): Declare as readonly.
84286         (version_etc_va): New function. Provide a different translatable string
84287         for each possible number of authors < 10. Abbreviate when there are 10
84288         authors or more.
84289         (version_etc): Make this function variadic. Call version_etc_va.
84290         Suggestion from Gary V. Vaughan.
84291
84292         * lib/long-options.h (parse_long_options): Change prototype: the
84293         authors string is moved to the end and becomes variadic.
84294         * lib/long-options.c: Include stdarg.h.
84295         (parse_long_options): Make this function variadic, too.
84296         Call version_etc_va, not version_etc.
84297
84298 2003-10-06  Bruno Haible  <bruno@clisp.org>
84299
84300         * modules/version-etc-2: Remove file.
84301         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
84302
84303 2003-10-06  Bruno Haible  <bruno@clisp.org>
84304
84305         * modules/fatal-signal: New file.
84306         * MODULES.html.sh (func_all_modules): Add fatal-signal.
84307
84308 2003-10-06  Bruno Haible  <bruno@clisp.org>
84309
84310         * m4/fatal-signal.m4: New file.
84311         * m4/signalblocking.m4: New file, from GNU gettext.
84312
84313 2003-10-06  Bruno Haible  <bruno@clisp.org>
84314
84315         * lib/version-etc-2.h: Remove file.
84316         * lib/version-etc-2.c: Remove file.
84317
84318 2003-10-06  Bruno Haible  <bruno@clisp.org>
84319
84320         * lib/fatal-signal.h: New file, from GNU gettext.
84321         * lib/fatal-signal.c: New file, from GNU gettext.
84322
84323 2003-10-05  Paul Eggert  <eggert@twinsun.com>
84324
84325         * README: Rework advice for preventing empty .o files.
84326         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
84327         not <sys/types.h>.
84328
84329 2003-10-04  Karl Berry  <karl@gnu.org>
84330
84331         * lib/argp*: update from libc.
84332
84333 2003-10-04  Karl Berry  <karl@gnu.org>
84334
84335         * config/config.{guess,sub}: update from config.
84336
84337 2003-10-02  Bruno Haible  <bruno@clisp.org>
84338
84339         * modules/lchown (Include): Add lchown.h.
84340         * modules/time_r (Include): Use "..." syntax.
84341         * modules/xgetdomainname (Include): Add xgetdomainname.h.
84342
84343 2003-10-01  Simon Josefsson  <jas@extundo.com>
84344
84345         * MODULES.html.sh (func_all_modules): Move gethostname from section
84346         'based on' to section 'lacking' POSIX:2001.
84347
84348 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
84349
84350         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
84351         to output mode on the same stream.
84352
84353 2003-09-29  Paul Eggert  <eggert@twinsun.com>
84354
84355         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
84356         Fix arg typo in previous patch.
84357
84358 2003-09-28  Jim Meyering  <jim@meyering.net>
84359
84360         * lib/error.c: Correct cpp indentation.
84361
84362 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84363
84364         * modules/free: New file.
84365
84366 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84367
84368         * m4/free.m4: New file.
84369
84370 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84371
84372         * lib/minmax.h (MIN, MAX)
84373         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
84374         Omit the special code that used __typeof__, since we worry that
84375         it could be more trouble than it's worth.  See:
84376         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
84377         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
84378
84379         * lib/free.c: New file.
84380
84381 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
84382
84383         Trivial fixes to Makefile.am parts of module listings.
84384         * modules/strstr: Append strstr.h to lib_SOURCES.
84385         * modules/strcase: Likewise, for strcase.h.
84386
84387 2003-09-27  Karl Berry  <karl@gnu.org>
84388
84389         * config/mkinstalldirs: update from automake.
84390
84391 2003-09-26  Paul Eggert  <eggert@twinsun.com>
84392
84393         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
84394         (error_tail): Do not loop, reallocating temporary buffer, since
84395         the output cannot contain more wide characters than the input
84396         contains bytes, the size must be big enough already.  This avoids
84397         one potential size overflow calculation.  Check for size overflow
84398         when calculating temporary buffer size.  Free temporary buffer
84399         when done, if it was allocated with malloc; this plugs a memory
84400         leak.  Remove casts from void * to pointers, that are no longer
84401         needed now that we're assuming C89 or better.
84402
84403         Merge error changes from glibc.
84404
84405         * lib/error.c, error.h: Update copyright notice header to match glibc.
84406         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
84407         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
84408         Disable cancellation while printing error.
84409         * lib/error.h: Prepend __ to parameter names.
84410
84411 2003-09-26  Jim Meyering  <jim@meyering.net>
84412
84413         * lib/error.c (error_tail): Move some declarations
84414         into inner scope where the local variables are used.
84415
84416 2003-09-26  Bruno Haible  <bruno@clisp.org>
84417
84418         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
84419         stpncpy().
84420         Don't define stpncpy through config.h; it's now done through stpncpy.h.
84421
84422 2003-09-26  Bruno Haible  <bruno@clisp.org>
84423
84424         * lib/stpncpy.h (gnu_stpncpy): New declaration.
84425         (stpncpy): Define as alias for gnu_stpncpy.
84426         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
84427
84428 2003-09-25  Simon Josefsson  <jas@extundo.com>
84429
84430         * lib/xgetdomainname.h: New file.
84431         * lib/xgetdomainname.c: New file.
84432
84433 2003-09-25  Simon Josefsson  <jas@extundo.com>
84434             Bruno Haible  <bruno@clisp.org>
84435
84436         * modules/getdomainname: New file.
84437         * modules/xgetdomainname: New file.
84438         * MODULES.html.sh (func_all_modules): Add getdomainname,
84439         xgetdomainname.
84440
84441 2003-09-25  Simon Josefsson  <jas@extundo.com>
84442             Bruno Haible  <bruno@clisp.org>
84443
84444         * m4/getdomainname.m4: New file.
84445
84446 2003-09-25  Simon Josefsson  <jas@extundo.com>
84447             Bruno Haible  <bruno@clisp.org>
84448
84449         * lib/getdomainname.h: New file.
84450         * lib/getdomainname.c: New file.
84451
84452 2003-09-25  Karl Berry  <karl@gnu.org>
84453
84454         * lib/argp-fmtstream.c, argp-help.c: update from libc.
84455
84456 2003-09-25  Karl Berry  <karl@gnu.org>
84457
84458         * config/install-sh: update from automake.
84459
84460 2003-09-25  Bruno Haible  <bruno@clisp.org>
84461
84462         * modules/version-etc-2: New file, from modules/version-etc with
84463         modifications.
84464         * MODULES.html.sh (func_all_modules): Add version-etc-2.
84465
84466 2003-09-25  Bruno Haible  <bruno@clisp.org>
84467
84468         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
84469         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
84470
84471 2003-09-24  Simon Josefsson  <jas@extundo.com>
84472
84473         * modules/xgethostname: Add xgethostname.h.
84474
84475 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84476
84477         * lib/linebuffer.c (freebuffer): Don't free the argument, just
84478         the buffer associated with the argument.  Bug reported by
84479         Simon Josefsson.
84480
84481 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84482
84483         * README: Document assumptions that 'int' is at least 32 bits
84484         wide, that integer arithmetic is 2's complement without overflow,
84485         that there are no holes in integer values, that adding sizes of
84486         two nonoverlapping objects can't overflow, and that all-bits-zero
84487         yields scalar zero.  Fix spelling and capitalization typos.
84488
84489 2003-09-19  Karl Berry  <karl@gnu.org>
84490
84491         * lib/argp.h: update from libc.
84492
84493 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84494
84495         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
84496         to avoid spurious warnings like "AC_RUN_IFELSE was called before
84497         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
84498
84499 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84500
84501         * gnulib-tool: Use "test -h", not "test -L", for portability
84502         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
84503         (tags_regexp): Remove, since \| doesn't conform to POSIX.
84504         (sed_extract_prog): Issue s commands one-by-one, rather than
84505         using \| in one s command.
84506
84507 2003-09-16  Paul Eggert  <eggert@twinsun.com>
84508
84509         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
84510         input error, instead of returning NULL the next time we are called
84511         (and therefore losing track of errno).
84512
84513 2003-09-16  Bruno Haible  <bruno@clisp.org>
84514
84515         * gnulib-tool (func_create_testdir): Warn about duplicated
84516         dependencies.
84517
84518 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84519
84520         * modules/argmatch, modules/fatal, modules/obstack,
84521         modules/xalloc, modules/xgethostname: Sort dependencies by
84522         importance, not alphabetically.
84523
84524 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84525
84526         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
84527         fails, so that the caller gets the proper errno.
84528
84529         * lib/readutmp.c (read_utmp): Likewise.
84530         Check for fstat error.  Close stream and free storage
84531         when failing.
84532
84533 2003-09-14  Karl Berry  <karl@gnu.org>
84534
84535         * config/srclist.txt (strdup.c): disable for c89 changes.
84536
84537 2003-09-14  Jim Meyering  <jim@meyering.net>
84538
84539         * lib/getloadavg.c: Correct cpp indentation.
84540         * lib/strdup.c: Likewise.
84541         * lib/vasnprintf.c: Likewise.
84542
84543 2003-09-14  Bruno Haible  <bruno@clisp.org>
84544
84545         * modules/fwriteerror: New file.
84546         * MODULES.html.sh (func_all_modules): Add fwriteerror.
84547
84548 2003-09-14  Bruno Haible  <bruno@clisp.org>
84549
84550         * lib/fwriteerror.h: New file.
84551         * lib/fwriteerror.c: New file.
84552
84553 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84554
84555         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
84556         modules/xgethostname, modules/xalloc: Depend on exit.
84557
84558 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84559
84560         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
84561
84562         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
84563         and AC_MINIX, too, so that their extensions are available.
84564
84565         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
84566         This macro has been superseded by gl_BACKUPFILE.
84567
84568         More patches to assume C89 or better.
84569
84570         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
84571
84572         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
84573         unconditionally.
84574         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
84575         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
84576         Include <string.h>, <stdlib.h> unconditionally.
84577         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
84578         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
84579         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
84580         headers or for string.h.
84581         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
84582         or strtoul.
84583
84584         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
84585         headers.
84586         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
84587         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84588         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
84589         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
84590         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84591         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
84592         memcpy, memset.
84593         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
84594         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
84595         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
84596         strtol.
84597         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
84598         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
84599         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
84600         strtoul.
84601
84602 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84603
84604         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
84605         * lib/obstack.c [!defined _LIBC]: Likewise.
84606         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
84607         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
84608         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
84609
84610         More changes to assume C89 or better.
84611
84612         * lib/error.c (error_tail): Assume vprintf.
84613
84614         * lib/argmatch.c (getenv): Remove decl.
84615         * lib/progreloc.c (get_full_program_name): Define via prototype.
84616         * lib/setenv.c (clearenv): Likewise.
84617         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
84618         needed.
84619         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
84620         (malloc, memcpy): Remove decls.
84621         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
84622         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
84623         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84624         (memcpy): Remove macro.
84625         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
84626         (__P): Remove.  All uses removed.
84627         (PTR): Remove.  All uses changed to void *.
84628         (CHAR_BIT, NULL): Remove.
84629         (spaces, zeros, memset_space, memset_zero)
84630         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
84631         Remove.
84632         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
84633         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
84634         Define with prototype.
84635         Remove now-unnecessary prototype decl.
84636         (extra_args_spec): Assume ANSI C.  All uses changed.
84637         (extra_args_spec_iso): Remove.
84638         (my_strftime, emacs_strftimeu): Define via prototype.
84639         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
84640         unconditionally.
84641         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
84642         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
84643         (strtoul, strtol): Remove decls.
84644         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
84645         LONG_MAX): Remove.
84646         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84647         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
84648         (LOCALE_PARAM_PROTO): New macro.
84649         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
84650         (INTERNAL (strtol), strtol): Define with a prototype.
84651         (PARAMS): Remove.  All uses removed.
84652         * lib/tempname.c: Include <string.h> unconditionally.
84653         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
84654         * lib/xgethostname.c (main): Define with a prototype.
84655         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
84656         Include <stdlib.h> unconditionally.
84657         (calloc, malloc, realloc, free): Remove decls.
84658         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
84659         Include <stdlib.h> unconditionally.  Sort include file names.
84660         (strtod): Remove.
84661         (xstrtod): Define with a prototype.
84662         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
84663         (strtol, strtoul): Remove decls.
84664
84665 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84666
84667         More patches to assume C89 or better.
84668         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
84669         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
84670         string.h, memchr, STDC_HEADERS.
84671
84672 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84673
84674         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
84675         Include <stdlib.h>, <string.h> unconditionally.
84676         Remove now-unnecessary cast to char *.
84677         * lib/strnlen.c: Include <string.h> unconditionally.
84678         * lib/yesno.c (yesno): Define with a prototype.
84679
84680 2003-09-11  Bruno Haible  <bruno@clisp.org>
84681
84682         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
84683
84684 2003-09-10  Jim Meyering  <jim@meyering.net>
84685
84686         * lib/error.c: Correct indentation of cpp directives.
84687
84688 2003-09-10  Bruno Haible  <bruno@clisp.org>
84689
84690         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
84691         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
84692         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
84693         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
84694         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
84695         <stdlib.h> and <string.h> checks.
84696         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
84697         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
84698
84699 2003-09-10  Bruno Haible  <bruno@clisp.org>
84700
84701         * lib/strcspn.c: Include <string.h> unconditionally.
84702         * lib/strpbrk.c: Include <string.h> unconditionally.
84703         * lib/strstr.c: Include <string.h> unconditionally.
84704         * lib/unicodeio.c: Include <string.h> unconditionally.
84705         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
84706         * lib/unsetenv.c: Likewise.
84707         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
84708         * lib/yesno.c: Include <stdlib.h> unconditionally.
84709         (rpmatch): Add prototype.
84710
84711 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84712
84713         More patches to assume C89 or better.
84714         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
84715         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
84716         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
84717         or for string.h.
84718         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
84719         stdlib.h.
84720         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
84721         C headers.
84722         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
84723         string.h.
84724         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
84725         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
84726         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
84727         or for string.h.
84728         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
84729         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
84730         C headers.
84731         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
84732         memcpy.
84733         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
84734         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
84735         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
84736         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
84737         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
84738         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
84739         string.h, free.
84740         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
84741         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
84742         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
84743         C headers, or for string.h.
84744         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
84745         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
84746         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
84747         headers, memory.h, stdlib.h, string.h, strings.h.
84748         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
84749         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
84750         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
84751         strchr.
84752         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
84753         headers, memory.h, string.h.
84754         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
84755         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
84756         free.
84757         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
84758         headers.
84759         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
84760         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
84761         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
84762         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
84763         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
84764
84765 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84766
84767         More K&R removal.
84768
84769         * lib/acosl.c (main): Use a prototype.
84770         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
84771         tanl.c: Likewise.
84772
84773         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
84774
84775         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
84776         (getopt, etopt_long, getopt_long_only, _getopt_internal)
84777         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
84778         with a prototype.
84779         * lib/getopt.c (const): Remove macro.
84780         Include <string.h> unconditionally.
84781         (my_index): Remove; all uses changed to strchr.
84782         (strlen): Remove decl.
84783         (exchange): Remove forward decl; no longer needed.
84784         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
84785         Define with prototype.
84786         * lib/getopt1.c (const): Remove macro.
84787         (getopt_long, getopt_long_only, main): Define with prototype.
84788
84789         * lib/getugroups.c: Include <string.h> unconditionally.
84790
84791         * lib/getusershell.c: Include <stdlib.h> unconditionally.
84792         (getusershell, setusershell, endusershell, readname, main):
84793         Define with prototypes.
84794
84795         * lib/group-member.c: Include group-member.h first.
84796         Include <stdlib.h> unconditionally.
84797
84798         * lib/hard-locale.c: Include hard-locale.h first.
84799         Include <stdlib.h>, <string.h> unconditionally.
84800
84801         * lib/hash.c (free, malloc): Remove decls.
84802         Include <stdlib.h> unconditionally.
84803
84804         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
84805         (getenv): Do not declare.
84806
84807         * lib/idcache.c: Include <string.h> unconditionally.
84808
84809         * lib/long-options.c: Include long-options.h first, to test interface.
84810         Include <stdlib.h> unconditionally.
84811
84812         * lib/makepath.c: Include makepath.h first, to test interface.
84813         Include <stdlib.h> and <string.h> unconditionally.
84814
84815         * lib/linebuffer.c: Include <stdlib.h>.
84816         (free): Remove decl.
84817
84818         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
84819         stddef.h. rpl_malloc returns void *, not char *.
84820         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
84821         prototype.
84822
84823         * lib/md5.h: Include <limits.h> unconditionally.
84824         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
84825         (__P): Remove; all uses removed.
84826         * lib/md5.c: Include "md5.h" first.
84827         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
84828         md5_buffer, md5_process_bytes, md5_process_block):
84829         Define with prototypes.
84830         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
84831         * lib/sha.c: Include "sha.h" first.
84832         Include <stdlib.h>, <string.h> unconditionally.
84833
84834         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
84835         * lib/memcmp.c (__ptr_t): Likewise.
84836         * lib/memrchr.c (__ptr_t): Likewise.
84837         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
84838         Include <string.h> unconditionally.
84839         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
84840         * lib/memchr.c: Include <stdlib.h> unconditionally.
84841         * lib/memchr.c (LONG_MAX): Remove.
84842         * lib/memrchr.c (LONG_MAX): Likewise.
84843         * lib/memchr.c (__memchr): Define via a prototype.
84844         * lib/memrchr.c (__memrchr): Likewise.
84845         * lib/memcmp.c (__P): Remove, and remove all uses.
84846         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
84847         Remove forward decls; no longer needed.
84848         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
84849         Use types required by C89 in prototype.
84850
84851         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
84852         * lib/savedir.c: Likewise.
84853         * lib/mkdir.c (free): Remove decl.
84854         * lib/rmdir.c (rmdir): Define with a prototype.
84855         * lib/savedir.c: Include savedir.h first, to test interface.
84856
84857         * lib/mktime.c (STDC_HEADERS): Remove.
84858         Include <stdlib.h>, <string.h> unconditionally.
84859
84860         * lib/modechange.c: Include <stdlib.h> unconditionally.
84861         (malloc): Remove decl.
84862
84863         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
84864         (free): Remove decl.
84865
84866         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
84867         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
84868         (This type really should be intptr_t, but that's a C99ism.)
84869         (_obstack_memcpy): Remove: all uses changed to memcpy.
84870         Include <string.h> unconditionally.
84871         (struct obstack): Assume __STDC__ for types of members
84872         chunkfun, freefun, extra_arg.
84873         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
84874         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
84875         obstack_begin, obstack_specify_allocation,
84876         obstack_specify_allocation_with_arg, obstack_chunkfun,
84877         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
84878         Remove unprototyped decls and the macros that use them.
84879         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
84880         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
84881         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
84882         (defined __STDC__ && __STDC__)]:
84883         Remove nonprototyped code.
84884         Include <stdlib.h> unconditionally.
84885         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
84886         _obstack_allocated_p, _obstack_free, obstack_free,
84887         _obstack_memory_used, print_and_abort):
84888         Define using prototypes.
84889         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
84890         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
84891         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
84892         obstack_next_free, obstack_object_size, obstack_room) [0]:
84893         Remove unused, unprototyped code.
84894
84895         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
84896
84897         * lib/physmem.c (physmem_total, physmem_available, main): Define
84898         with prototypes.
84899
84900         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
84901         (main): Define with a prototype.
84902
84903         * lib/posixver.c (getenv): Remove decl.
84904
84905         * lib/putenv.c (malloc): Returns void *, not char *.
84906         Include <string.h> unconditionally.
84907         (strchr, memcpy, NULL): Do not define.
84908
84909         * lib/readtokens.c: Include readtokens.h first, to test interface.
84910         Include <stdlib.h>, <string.h> unconditionally.
84911         (init_tokenbuffer): Define with a prototype.
84912
84913         * lib/regex.c (PARAMS): Remove.  All uses removed.
84914         All uses of _RE_ARGS removed, too.
84915         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84916         unconditionally.
84917         (bzero): Assume memset exists.
84918         (memcmp, memcpy, NULL): Remove.
84919         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
84920         char, or assignments to local vars of type signed char.
84921         (init_syntax_once, PREFIX(extract_number_and_incr),
84922         PREFIX(print_partial_compiled_pattern),
84923         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
84924         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
84925         PREFIX(regex_grow_registers), PREFIX(regex_compile),
84926         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
84927         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
84928         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
84929         wcs_compile_range, byte_compile_range, truncate_wchar,
84930         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
84931         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
84932         count_mbs_length, wcs_re_match_2_internal,
84933         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
84934         PREFIX(alt_match_null_string_p),
84935         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
84936         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
84937         regfree, PREFIX(extract_number)): Define with prototype.  Remove
84938         now-unnecessary declaration, if any.
84939         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
84940         regcomp, regexec):
84941         Remove now-unnecessary casts among pointer types.
84942         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
84943
84944         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
84945         (free): Remove decl.
84946
84947         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
84948
84949         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
84950         (free): Remove decl.
84951
84952         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
84953         * lib/xgetcwd.c: Likewise.
84954
84955         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
84956         (free): Remove decl.
84957
84958         * lib/strchrnul.c (strchrnul): Define with a prototype.
84959         Fix bug: c_in was not converted to char before searching.
84960
84961         The following changes are not K&R related:
84962
84963         * lib/group-member.h: Include <sys/types.h>, so that this file is
84964         self-contained.
84965         * lib/makepath.h: Likewise.
84966
84967         * lib/getusershell.c (readname, default_index, line_size, readname):
84968         Use size_t, not int, for sizes.
84969         (readname): If the size overflows, report an error instead of
84970         looping forever.
84971
84972 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84973
84974         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
84975         libc.
84976
84977 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84978
84979         * README: New section: portability guidelines.
84980
84981 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84982
84983         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
84984         C89 spec.
84985
84986 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84987
84988         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
84989
84990 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84991
84992         Assume C89 or better; remove K&R cruft.
84993         A few of these changes were first proposed by Derek Robert Price
84994         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
84995
84996         * lib/addext.c: Include <string.h> unconditionally.
84997         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
84998         Don't declare getenv or malloc.
84999
85000         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
85001         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
85002         (NULL): Remove.
85003         (find_stack_direction, alloca): Use prototypes.
85004
85005         * lib/atexit.c (atexit): Define using a prototype.
85006
85007         * lib/basename.c, dirname.c, stripslash.c:
85008         Include <string.h> unconditionally.
85009
85010         * lib/bcopy.c: Include <stddef.h>.
85011         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
85012
85013         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
85014
85015         * lib/error.h (error, error_at_line, error_print_progname)
85016         [! (defined (__STDC__) && __STDC__)]: Remove decls.
85017         * lib/error.c: Include error.h first, to check interface.
85018         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85019         (VA_START): Remove; all uses changeed to va_start.
85020         (exit, strerror): Remove decls.
85021         (error_print_progname): Prototype uncondionally.
85022         Don't include <errno.h>; no longer needed.
85023         (private_strerror): Remove.
85024         (error_tail): Always define.
85025         (error, error_at_line): Assume C89 or better; always use prototypes.
85026         * lib/fatal.c: Include "fatal.h" first, to test interface.
85027         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85028         (VA_START): Remove; all uses changed to va_start.
85029         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
85030         this case.
85031         (exit): Remove decl.
85032         (fatal): Prototype unconditionally.  Assume va_start works.
85033         Abort at end, to pacify gcc.
85034
85035         * lib/euidaccess.c (main): Define with a prototype.
85036
85037         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
85038
85039         * lib/exitfail.c: Include <stdlib.h> unconditionally.
85040
85041         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
85042         prototypes.
85043         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
85044         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
85045         (getenv): Remove decl.
85046         (fnmatch): Define using a prototype.
85047         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
85048         (FCT): Define using a prototype.
85049
85050         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
85051
85052         * lib/gethostname.c: Include <stddef.h>.
85053         (gethostname): Define with prototype.  Length is size_t, not int.
85054
85055 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85056
85057         Assume C89 or better; remove K&R cruft.
85058         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
85059         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
85060         string.h, getenv, malloc.
85061         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
85062         headers.
85063         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
85064         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
85065         do not check for strerror.
85066         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
85067         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
85068         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
85069         do not check for doprnt or vprintf.
85070         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
85071         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
85072
85073 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85074
85075         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
85076         getversion.c should have been removed then, but was accidentally
85077         preserved.
85078
85079         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
85080         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
85081
85082 2003-09-08  Karl Berry  <karl@gnu.org>
85083
85084         * config/config.sub, config.guess, srclistvars.sh: update from savannah
85085                 config, forget about prep.
85086
85087         * config/depcomp, missing: update from automake.
85088
85089 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85090
85091         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
85092         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85093
85094 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85095
85096         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
85097         copy_tm_result.  Bug reported by Simon Josefsson in
85098         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85099
85100 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85101
85102         * m4/time_r.m4: New file.
85103         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
85104         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
85105         is. Check for timegm declaration.
85106         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
85107         Do not check for gmtime_r.
85108         Replace mktime if __mktime_internal does not exist and if mktime
85109         hasn't been replaced already.
85110
85111 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85112
85113         * lib/time_r.c, lib/time_r.h: New files.
85114
85115         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
85116         __localtime_r.
85117         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
85118         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
85119
85120         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
85121         __gmtime_r.
85122         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
85123         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
85124         Include <time_r.h>.
85125
85126         * lib/timegm.c: Switch to glibc implementation, with the following
85127         changes:
85128         [defined HAVE_CONFIG_H]: Include <config.h>.
85129         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
85130         (__mktime_internal) [!defined _LIBC]: New decl.
85131         (__gmtime_r) [!defined _LIBC]: New macro and function.
85132         (timegm): Use a prototype, since gnulib assumes C89.
85133         Do not bother declaring tmp to be const, as it's not really usefu.
85134         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
85135         (timegm): Declare only if HAVE_DECL_TIMEGM.
85136
85137 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85138
85139         * MODULES.html.sh (func_all_modules): Add time_r.
85140         * modules/time_r: New file.
85141         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
85142         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
85143
85144 2003-09-03  Paul Eggert  <eggert@twinsun.com>
85145
85146         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
85147         Bug reported by Lute Kamstra in
85148         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
85149
85150         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
85151         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
85152         course with correspondingly smaller numbers for tomorrow and
85153         yesterday.  From Tadayoshi Funaba.  Originally installed into
85154         sh-utils on 1999-08-07, but the patch got lost (I guess during the
85155         coreutils merge?).
85156
85157 2003-08-31  Simon Josefsson  <jas@extundo.com>
85158
85159         * modules/timegm: New file.
85160         * MODULES.html.sh (func_all_modules): Add timegm.
85161
85162 2003-08-31  Simon Josefsson  <jas@extundo.com>
85163
85164         * m4/timegm.m4: New file.
85165
85166 2003-08-31  Simon Josefsson  <jas@extundo.com>
85167
85168         * lib/timegm.h: New file.
85169         * lib/timegm.c: New file.  Based on
85170         wget-1.8.2/src/http.c:mktime_from_utc.
85171
85172 2003-08-31  Karl Berry  <karl@gnu.org>
85173
85174         * lib/argp.h: update from libc.
85175
85176 2003-08-28  Bruno Haible  <bruno@clisp.org>
85177
85178         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
85179         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
85180         followed by '#define fnmatch fnmatch_posix' gives an error.
85181
85182 2003-08-28  Bruno Haible  <bruno@clisp.org>
85183
85184         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
85185         warning on QNX, which defines O_BINARY to 000000.
85186
85187 2003-08-27  Jim Meyering  <jim@meyering.net>
85188
85189         * m4/mkstemp.m4: Require that the system mkstemp be able to create
85190         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
85191         would fail after 32.  Reported by Danny Levinson.  Details here:
85192         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
85193
85194 2003-08-24  Bruno Haible  <bruno@clisp.org>
85195
85196         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
85197         MSVC7 <stdio.h> is included later.
85198
85199 2003-08-22  Simon Josefsson  <jas@extundo.com>
85200
85201         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
85202
85203 2003-08-20  Karl Berry  <karl@gnu.org>
85204
85205         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
85206
85207 2003-08-20  Bruno Haible  <bruno@clisp.org>
85208
85209         * modules/progname: New file.
85210         * MODULES.html.sh (func_all_modules): Add progname.
85211
85212 2003-08-20  Bruno Haible  <bruno@clisp.org>
85213
85214         * lib/progname.h: New file, from GNU gettext.
85215         * lib/progname.c: New file, from GNU gettext.
85216         * lib/progreloc.c: New file, from GNU gettext.
85217
85218 2003-08-19  Jim Meyering  <jim@meyering.net>
85219
85220         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
85221         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
85222
85223 2003-08-19  Bruno Haible  <bruno@clisp.org>
85224
85225         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
85226         more.
85227
85228 2003-08-19  Bruno Haible  <bruno@clisp.org>
85229
85230         * lib/xstrdup.c: Assume <string.h> exists.
85231
85232 2003-08-18  Paul Eggert  <eggert@twinsun.com>
85233
85234         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
85235         in makefile rules.
85236
85237 2003-08-18  Jim Meyering  <jim@meyering.net>
85238
85239         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
85240         * m4/lib-ld.m4: Likewise.
85241
85242 2003-08-18  Jim Meyering  <jim@meyering.net>
85243
85244         * lib/setenv.h: Indent nested cpp directive.
85245         * lib/vasnprintf.c: Remove trailing blanks.
85246
85247 2003-08-17  Simon Josefsson  <jas@extundo.com>
85248
85249         * modules/xstrndup: New file.
85250         * MODULES.html.sh (func_all_modules): Add xstrndup.
85251
85252 2003-08-17  Simon Josefsson  <jas@extundo.com>
85253
85254         * modules/argp: Fix autoconf macro name. Add more dependencies.
85255
85256 2003-08-17  Simon Josefsson  <jas@extundo.com>
85257
85258         * m4/xstrndup.m4: New file.
85259
85260 2003-08-17  Simon Josefsson  <jas@extundo.com>
85261
85262         * m4/argp.m4: New file.
85263
85264 2003-08-17  Simon Josefsson  <jas@extundo.com>
85265             Bruno Haible  <bruno@clisp.org>
85266
85267         * lib/xstrndup.h: New file.
85268         * lib/xstrndup.c: New file.
85269
85270 2003-08-17  Bruno Haible  <bruno@clisp.org>
85271
85272         * modules/strndup (Files, Include): Add lib/strndup.h.
85273
85274 2003-08-17  Bruno Haible  <bruno@clisp.org>
85275
85276         * modules/euidaccess (Files): Add lib/euidaccess.h.
85277
85278 2003-08-17  Bruno Haible  <bruno@clisp.org>
85279
85280         * lib/strndup.h: New file.
85281
85282 2003-08-17  Bruno Haible  <bruno@clisp.org>
85283
85284         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
85285         like AC_GNU_SOURCE.
85286         * modules/extensions (configure.ac): Comment out the invocation of
85287         gl_USE_SYSTEM_EXTENSIONS.
85288
85289 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85290
85291         Merges from coreutils, etc.
85292         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
85293         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
85294         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
85295         fixing a typo.
85296         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
85297         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
85298
85299 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85300
85301         Document merge from coreutils.
85302         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
85303         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
85304         * modules/utime: Add m4/utimes-null.m4.
85305
85306 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85307
85308         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
85309         space, undoing this 2003-08-12 change:
85310         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85311
85312 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85313
85314         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
85315         strtoul.c from libc, undoing this 2003-08-12 change:
85316         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85317
85318 2003-08-16  Jim Meyering  <jim@meyering.net>
85319
85320         Merges from coreutils.
85321         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
85322         prefix.  Adjust cache variables similarly.  Create 500 rather than
85323         just 300 files, to exercise bug on Darwin6.5, too.
85324         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
85325         $missing_dir.
85326         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
85327         AM_SYS_POSIX_TERMIOS.
85328         Reported by mkc@mathdogs.com.
85329         Also change use of $am_cv_sys_posix_termios
85330         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
85331         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
85332         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
85333         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
85334         in /proc/mounts until it finds one with matching device number.  This
85335         is unnecessary when the FILE argument *is* a mount point.  No stat call
85336         is necessary in that case.  So, disable the statvfs-testing code on
85337         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
85338         as RedHat bug# 84846.
85339         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85340         to 1MB, so as not to render systems with no stack size limit (e.g.,
85341         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85342         Include <unistd.h>.  On some systems,
85343         it is required for the definition of _SC_PAGESIZE.
85344
85345 2003-08-16  Jim Meyering  <jim@meyering.net>
85346
85347         Merge from coreutils.
85348         * lib/xstrtoimax.c: #else #if -> #elif.
85349         * lib/xstrtoumax.c: Likewise.
85350
85351 2003-08-16  Jim Meyering  <jim@meyering.net>
85352
85353         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
85354         * m4/utimes.m4: Removed.
85355         * m4/utimes-null.m4: Renamed from utimes.m4.
85356
85357         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85358         to 1MB, so as not to render systems with no stack size limit (e.g.,
85359         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85360         Include <unistd.h>.  On some systems,
85361         it is required for the definition of _SC_PAGESIZE.
85362
85363 2003-08-16  Jim Meyering  <jim@meyering.net>
85364         and Paul Eggert  <eggert@cs.ucla.edu>
85365
85366         Merges from coreutils, etc.
85367
85368         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
85369         using the latest version from cvs.  This avoids problems with #line
85370         directives using a vendor (Sun) compiler.
85371         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
85372         Don't set GETGROUPS_LIB here; now it's
85373         done via getgroups.m4's wrapper function.
85374         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
85375         rather than just in sh-util/configure.in, so that the
85376         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
85377         same.
85378         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
85379         AC_FUNC_GETLOADAVG where to find getloadavg.c.
85380         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
85381         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
85382         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
85383         Remove code that is now done by the newly-required macros.
85384         Append $(EXEEXT) to DF_PROG.
85385         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
85386         Do not invoke or require the following here,
85387         since prereq.m4 or some gnulib .m4 now does this for us:
85388         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
85389         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
85390         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
85391         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
85392         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
85393         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
85394         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
85395         AC_FUNC_OBSTACK.
85396         Do not replace the following functions, as this is now the job
85397         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
85398         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
85399         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
85400         atexit getpass, strdup, getpagesize.
85401         Replace 'raise'.
85402         Do not check for the following functions, as this is now the job
85403         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
85404         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
85405         setregid.
85406         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
85407         Check for sys/sysctl.h.
85408         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
85409         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
85410         of checking for ssize_t ourselves.
85411
85412         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
85413         Require every macro that gnulib/modules/* suggests for us.
85414         (jm_PREREQ_ADDEXT): New macro.
85415         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
85416         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
85417
85418         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
85419         (gl_PHYSMEM): Use it.
85420         Also check for `table' function.
85421         Check for new headers and functions.
85422         Add check for sys/sysmp.h.
85423         With suggestions from Kaveh Ghazi.
85424         Ignore headers that are present but cannot be compiled.  This
85425         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
85426         C 5.4.
85427
85428 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85429
85430         Document merge from coreutils.
85431         * modules/userspec: Depend on posixver.
85432         * modules/strftime: Depend on tzset.
85433
85434 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85435
85436         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
85437         rather than tab, after '#' in shell-script copyright notices.
85438         Suggested by Bruno Haible.
85439
85440 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85441
85442         * config/srclist-update: Use three spaces, rather than tab, after '#'
85443         in shell-script copyright notices.  Suggested by Bruno Haible.
85444         Remove unnecessary parenthesization in regular expression.
85445
85446 2003-08-15  Jim Meyering  <jim@meyering.net>
85447
85448         Merge from coreutils.
85449         * lib/xgethostname.c: Include <stdlib.h>.
85450         (xghostname): Don't exit for anything other than memory-related
85451         failure; just return NULL.
85452         * lib/userspec.c: Include "posixver.h".
85453         (parse_user_spec): Accept `.' as a separator only
85454         in pre-POSIX-200112 mode.
85455         * lib/strtoimax.c: Use #elif rather than #else #if.
85456         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
85457         Remove function, now that we can rely on a working tzset function.
85458         [!_LIBC]: Ensure that the required autoconf test has been run.
85459         [!defined _NL_CURRENT && HAVE_STRFTIME]:
85460         Use underlying_strftime for %r.
85461         * lib/sha.c: Merge in some clean-up and optimization changes from
85462         glibc.
85463         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
85464         Ensure that it is a multiple of 64.
85465         Rearrange loop exit tests so as to avoid performing an
85466         additional fread after encountering an error or EOF.
85467         * lib/realloc.c: Update copyright date.
85468
85469 2003-08-15  Jim Meyering  <jim@meyering.net>
85470         and Paul Eggert  <eggert@twinsun.com>
85471
85472         Merge from coreutils.
85473         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
85474         member but strut utmpx does not.  Needed for AIX 4.3.3.
85475         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
85476
85477 2003-08-15  Jim Meyering  <jim@meyering.net>
85478         and Paul Eggert  <eggert@cs.ucla.edu>
85479
85480         Merges from coreutils, etc.
85481         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
85482         Require gl_FUNC_TZSET_CLOBBER.
85483         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
85484         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
85485         members.
85486
85487 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85488
85489         Help the merge from coreutils.
85490         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
85491         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
85492         * m4/tzset.m4: Use it too.
85493
85494 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85495
85496         * modules/tzset: New file.
85497
85498 2003-08-14  Jim Meyering  <jim@meyering.net>
85499
85500         Merges from coreutils.
85501         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
85502         variable names, rather than @FNMATCH_H@.
85503         * modules/alloca: Likewise for $(ALLOCA_H).
85504
85505         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
85506         the three copies of the literal target, `fnmatch.h'.
85507         * modules/alloca (alloca.h): Likewise.
85508
85509 2003-08-14  Jim Meyering  <jim@meyering.net>
85510
85511         Merge from coreutils.
85512         * m4/tzset.m4: New file.
85513         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
85514         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
85515         otherwise, AIX 5.1 systems would end up using the latter.
85516         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
85517         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
85518         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
85519         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
85520
85521 2003-08-14  Jim Meyering  <jim@meyering.net>
85522
85523         Merge from coreutils.
85524         * lib/obstack.h: Whitespace changes.
85525         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
85526         and xcalloc return values.
85527         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
85528         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
85529         hang on OSF/1 5.1 for DIR on both local and remote file systems.
85530         Reported by (and fix confirmed by) Nelson H. F. Beebe.
85531         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85532         error from mntctl.
85533         Use mntctl's return value to drive the entry-processing loop, since
85534         we can't rely on the value of the vmt_length member in the last
85535         entry.  On some systems doing so could result in exhausting
85536         virtual memory.  Based in part on a patch from Mike Jetzer.
85537
85538 2003-08-14  Jim Meyering  <jim@meyering.net>
85539         and Paul Eggert  <eggert@twinsun.com>
85540
85541         Merges from coreutils, plus other fixes.
85542         * lib/physmem.c: Merge in portability changes from gcc/libiberty
85543         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
85544         for credits and details.  Thanks to Kaveh Ghazi for helping
85545         to keep these files in sync.
85546         (ARRAY_SIZE): Define it.
85547         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
85548         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
85549         (memcasecmp): Don't assume size_t fits in unsigned int.
85550         Remove casts and duplicate code.
85551         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
85552         (memcpy): Remove definition.
85553         Merge in some clean-up and optimization changes from glibc.
85554         [BLOCKSIZE]: Move definition to top of file.
85555         Ensure that it is a multiple of 64.
85556         Rearrange loop exit tests so as to avoid performing an
85557         additional fread after encountering an error or EOF.
85558         * lib/md5.h (md5_uintptr): Define.
85559         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
85560         return to the initial working directory.  Preserve errno
85561         for caller.
85562         * lib/idcache.c: Include "xalloc.h".
85563         (xmalloc, xrealloc): Remove decls.
85564         (getuser): Remove casts no longer required in C89.
85565         * lib/human.c: Include stdio.h, for sprintf.
85566         * lib/group-member.c: Include "xalloc.h".
85567         (xmalloc, xrealloc): Remove decls.
85568         (get_group_info): Remove casts no longer required in C89.
85569         * lib/getusershell.c (readname): Remove casts no longer required in
85570         C89.
85571         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
85572         * lib/getline.c: Whitespace fix, from coreutils.
85573
85574 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85575
85576         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
85577         Check for isascii.
85578
85579         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85580         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85581         Undo previous (whitespace-only) change.
85582
85583 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85584
85585         * lib/exclude.c: Include <ctype.h>
85586         (IN_CTYPE_DOMAIN): New macro.
85587         (is_space): New fn.
85588         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
85589         and empty lines.
85590
85591         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85592         Undo previous (whitespace-only) change.
85593
85594 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85595
85596         * config/srclist-update: Change update back to the old behavior,
85597         leaving whitespace alone.  Use one 'sed' command rather than a
85598         pipeline.
85599         (fixlicense): Now a variable, not a function.
85600         (remove_trailing_blanks): Remove.
85601         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
85602         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85603         Undo previous (whitespace-only) change.
85604
85605 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85606
85607         Merge from coreutils.
85608         * modules/euidaccess: Add lib_SOURCES, include for new
85609         file euidaccess.h
85610
85611 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85612
85613         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85614         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85615         Normalize leading white space and remove trailing white space.
85616
85617         Merge from coreutils
85618         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
85619
85620         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
85621         0.12.1.  These files are now being upgraded automatically by
85622         ../config/srclist-update.
85623
85624 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85625
85626         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85627         Normalize leading white space and remove trailing white space.
85628         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
85629         notice, as per ../config/srclist-update.
85630
85631         Merge from coreutils.
85632         * lib/euidaccess.h: New file.
85633         * lib/euidaccess.c: Include it.
85634         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
85635         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
85636         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
85637
85638 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85639
85640         * config/srclist-update: Add copyright notice.
85641         (remove_id_lines, remove_trailing_blanks): New constants.
85642         (fixfile): Use them to normalize spacing a bit in copied files.
85643         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85644         Normalize leading white space and remove trailing white space.
85645
85646         * config/texinfo.tex: Sync with texinfo.
85647
85648         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
85649         strtoul.c from libc, to merge coreutils whitespace changes.
85650
85651         * config/srclist.txt: Get the following m4 files from gettext:
85652         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
85653         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
85654         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
85655         wint_t.m4.
85656
85657 2003-08-12  Karl Berry  <karl@gnu.org>
85658
85659         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
85660         been made.
85661
85662 2003-08-11  Paul Eggert  <eggert@twinsun.com>
85663
85664         * modules/gnu-source, m4/gnu-source.m4:
85665         Remove; we're assuming Autoconf 2.54 or later now.
85666         Suggested by Bruno Haible.
85667         * MODULES.html.sh (func_all_modules): Remove gnu-source.
85668
85669 2003-08-11  Bruno Haible  <bruno@clisp.org>
85670
85671         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
85672
85673 2003-08-11  Bruno Haible  <bruno@clisp.org>
85674
85675         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
85676         (vasnprintf): Use it instead of wcslen.
85677
85678 2003-08-11  Bruno Haible  <bruno@clisp.org>
85679
85680         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
85681         value to ensure that _Bool promotes to int. Use #define for _Bool when
85682         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
85683
85684 2003-08-10  Karl Berry  <karl@gnu.org>
85685
85686         * lib/regex.h: update from libc (whitespace fix).
85687
85688 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85689
85690         Merge some files from coreutils.  These changes were
85691         originally made by Jim Meyering.
85692         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
85693         many older Unixes require this.
85694         * lib/alloca.c (alloca): Remove cast to argument of free;
85695         no longer needed in C89.
85696         * lib/alloca_.h, regex.h: Fix white space to match
85697         what GNU indent does.
85698
85699 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85700
85701         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
85702         apparently Emacs's Unicode mode got confused before my 2003-08-05
85703         checkin.
85704
85705 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85706
85707         * m4/extensions.m4: New file.
85708         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
85709         Require gl_USE_SYSTEM_EXTENSIONS.
85710         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
85711         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
85712
85713 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85714
85715         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
85716         * modules/extensions, modules/gnu-source: New files.
85717         * modules/timespec, modules/unlocked-io: Depend on extensions.
85718
85719 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85720
85721         * modules/restrict: New file.
85722         * MODULES.html.sh (func_all_modules): Add restrict.
85723         * modules/regex: Depend on restrict.
85724
85725 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85726
85727         * m4/restrict.m4: New file.
85728         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
85729
85730 2003-08-07  Bruno Haible  <bruno@clisp.org>
85731
85732         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
85733         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
85734
85735 2003-08-07  Bruno Haible  <bruno@clisp.org>
85736
85737         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
85738         makes the module 'getndelim2' compatible with the module 'getline'.
85739
85740 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85741
85742         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
85743         byte with "\201" to avoid glitches when editing that source file
85744         with multi-gnome-terminal.
85745
85746 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85747
85748         * lib/bumpalloc.h: Remove.
85749
85750 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85751
85752         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
85753         * modules/bumpalloc: Remove.
85754
85755 2003-08-04  Paul Eggert  <eggert@twinsun.com>
85756
85757         * lib/getloadavg.c: Change copyright notice and spacing to conform to
85758         GNU coding style.
85759
85760         Merge from coreutils.
85761         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
85762         1. From glibc.
85763         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
85764         from Karl Berry, implemented by Jim Meyering.
85765         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
85766         from Dmitry V. Levin.
85767         Remove anachronistic cast of xrealloc.
85768         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
85769         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
85770         type. Otherwise, it wouldn't compile with at least /bin/cc on
85771         ymp-cray-unicos9.0.2.X.
85772         Combine two mostly-identical uses of alloca into one.
85773         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
85774
85775 2003-08-04  Dave Love  <d.love@dl.ac.uk>
85776
85777         [From Emacs.]
85778
85779         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
85780         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
85781         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
85782         obsolete NLIST_NAME_UNION.
85783         [__GNU__]: Undef BSD and FSCALE.
85784         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
85785
85786 2003-08-03  Paul Eggert  <eggert@twinsun.com>
85787
85788         * lib/stdbool_.h (_Bool): Make it signed char, instead of
85789         an enum type, so that it's guaranteed to promote to int.  See:
85790         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
85791
85792 2003-08-03  Karl Berry  <karl@gnu.org>
85793
85794         * config/depcomp: update from automake.
85795
85796 2003-07-31  Paul Eggert  <eggert@twinsun.com>
85797
85798         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
85799         (strerror): Don't assume that a printable int fits in 14 bytes.
85800
85801 2003-07-31  Bruno Haible  <bruno@clisp.org>
85802
85803         * modules/getpass-gnu: New file.
85804         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
85805
85806 2003-07-31  Bruno Haible  <bruno@clisp.org>
85807
85808         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
85809
85810 2003-07-24  Karl Berry  <karl@gnu.org>
85811
85812         * config/missing: update from automake.
85813
85814 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
85815             Bruno Haible  <bruno@clisp.org>
85816
85817         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
85818         * lib/getline.c (getline, getdelim): Likewise.
85819         Remove _GNU_SOURCE define; now it's defined in config.h through
85820         m4/getline.m4.
85821
85822 2003-07-23  Karl Berry  <karl@gnu.org>
85823
85824         * config/config.sub: update from prep.
85825
85826 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85827
85828         * modules/xalloc (Depends-on): Add exitfail.
85829         * modules/xmemcoll: Likewise.
85830
85831 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85832
85833         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
85834         over-parenthesization in macros.
85835
85836         Sync with coreutils.
85837
85838         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
85839         required by C99.
85840
85841         Use `exit_failure' for xalloc and xmemcoll instead of their own
85842         private exit-failure variables.
85843         * lib/xalloc.h (xalloc_exit_failure): Remove.
85844         * lib/xmalloc.c: Likewise.  Include exitfail.h.
85845         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
85846         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
85847         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
85848         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
85849
85850 2003-07-20  Jim Meyering  <jim@meyering.net>
85851
85852         * modules/closeout (Depends-on): Add exitfail.
85853         Suggestion from Bruno Haible.
85854
85855 2003-07-19  Karl Berry  <karl@gnu.org>
85856
85857         * config/config.sub: update from prep.
85858
85859 2003-07-18  Paul Eggert  <eggert@twinsun.com>
85860
85861         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
85862         Remove.
85863         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
85864         to test that it can stand by itself.  Include "exitfail.h".
85865         Clients should set exit_failure instead.
85866         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
85867
85868 2003-07-18  Bruno Haible  <bruno@clisp.org>
85869
85870         * modules/getndelim2: New file.
85871         * modules/getline: Share files with module getndelim2.
85872         * modules/getnline: Depend on getndelim2 instead of sharing files with
85873         it. Add getnline.c to lib_SOURCES.
85874         * MODULES.html.sh (func_all_modules): Add getndelim2.
85875
85876 2003-07-18  Bruno Haible  <bruno@clisp.org>
85877
85878         * m4/getndelim2.m4: New file.
85879         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
85880         invoke gl_PREREQ_GETNDELIM2.
85881         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
85882         gl_PREREQ_GETNDELIM2.
85883         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
85884         gl_GETNDELIM2.
85885
85886 2003-07-18  Bruno Haible  <bruno@clisp.org>
85887
85888         * lib/getndelim2.h: New file.
85889         * lib/getndelim2.c: Make into a module of its own. Include config.h,
85890         getndelim2.h.
85891         (getndelim2): Make non-static. Change return type to ssize_t.
85892         * lib/getline.h: Change argument names.
85893         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
85894         * lib/getnline.c: Include getndelim2.h.
85895
85896 2003-07-18  Andreas Schwab  <schwab@suse.de>
85897
85898         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
85899
85900 2003-07-17  Karl Berry  <karl@gnu.org>
85901
85902         * config/config.sub: update from prep.
85903
85904 2003-07-17  Bruno Haible  <bruno@clisp.org>
85905
85906         * modules/getnline: New file.
85907         * modules/getline: Add lib/getndelim2.c to source file list.
85908         * MODULES.html.sh (func_all_modules): Add getnline.
85909
85910 2003-07-17  Bruno Haible  <bruno@clisp.org>
85911
85912         * m4/getnline.m4: New file.
85913
85914 2003-07-17  Bruno Haible  <bruno@clisp.org>
85915
85916         * m4/Makefile.am.in: Remove file.
85917         * m4/Makefile.am: Remove file.
85918         * m4/Makefile.in: Remove file.
85919
85920 2003-07-17  Bruno Haible  <bruno@clisp.org>
85921
85922         * lib/getnline.h: New file.
85923         * lib/getnline.c: New file.
85924         * lib/getndelim2.c: New file, extracted from getline.c.
85925         (getndelim2): Renamed from getdelim2, with added nmax argument.
85926         * lib/getline.c: Include getndelim2.c.
85927         (getdelim2): Moved out to getndelim2.c.
85928         (getline, getdelim): Update.
85929
85930 2003-07-17  Bruno Haible  <bruno@clisp.org>
85931
85932         * lib/Makefile.am: Remove file.
85933         * lib/Makefile.in: Remove file.
85934
85935 2003-07-17  Bruno Haible  <bruno@clisp.org>
85936
85937         * configure.in: Remove file.
85938         * Makefile.in: Remove file.
85939
85940 2003-07-17  Bruno Haible  <bruno@clisp.org>
85941
85942         * MODULES.html.sh: Put the </BODY> right before </HTML>.
85943
85944 2003-07-16  Karl Berry  <karl@gnu.org>
85945
85946         * config/srclist-update: was running fixlicense twice, which caused
85947                 texinfo.tex to be nullified for some reason.  Simplify,
85948                 $gplsrc is no longer needed as far as I can see?
85949
85950 2003-07-16  Jim Meyering  <jim@meyering.net>
85951
85952         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
85953
85954 2003-07-15  Paul Eggert  <eggert@twinsun.com>
85955
85956         * config/srclist.txt: Get the following files from gettext-runtime/intl
85957         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
85958         ref-del.sin.  From Bruno Haible.
85959         * config/srclist-update (fixfile): Change grep pattern again, since the
85960         previous fix didn't work (there was another trailing $).  Use
85961         '[$]' to escape the $s.
85962
85963 2003-07-15  Karl Berry  <karl@gnu.org>
85964
85965         * lib/vasnprintf.c: update from gettext.
85966
85967 2003-07-15  Karl Berry  <karl@gnu.org>
85968
85969         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
85970         gets expanded when surrounded by '$'.
85971
85972 2003-07-15  Jim Meyering  <jim@meyering.net>
85973
85974         * modules/save-cwd: Don't depend on error.  From Derek Price.
85975
85976 2003-07-15  Jim Meyering  <jim@meyering.net>
85977
85978         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
85979
85980 2003-07-14  Simon Josefsson  <jas@extundo.com>
85981
85982         * modules/mempcpy: New file.
85983         * MODULES.html.sh (func_all_modules): Add mempcpy.
85984
85985 2003-07-14  Simon Josefsson  <jas@extundo.com>
85986
85987         * m4/mempcpy.m4: New file.
85988
85989 2003-07-14  Simon Josefsson  <jas@extundo.com>
85990
85991         * lib/mempcpy.h: New file.
85992         * lib/mempcpy.c: New file.
85993
85994 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85995
85996         * modules/getdate, modules/posixtm: Depend on mktime.
85997
85998 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85999
86000         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
86001         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
86002         unicodeio.c, unicodeio.h, unlocked-io.h:
86003         Switch from LGPL to GPL.
86004
86005 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86006
86007         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
86008         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
86009         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
86010         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
86011         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
86012         updated automatically by ../config/srclist-update.  This changes
86013         their license from LPGL to GPL.
86014
86015 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86016
86017         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
86018         assumed to refer to the root of the most recent stable gettext version.
86019         * config/srclistvars.sh: Add defaults for eggert.
86020         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
86021         Match "This program" as well as "The program".  This is needed
86022         for gettext.
86023
86024 2003-07-14  Jim Meyering  <jim@meyering.net>
86025
86026         Don't emit diagnostics.  Let callers do that.
86027         * lib/save-cwd.c: Don't include "error.h".
86028         (save_cwd): Don't call error.  Ensure that errno is valid
86029         when returning nonzero.
86030
86031         * lib/save-cwd.h (restore_cwd): Update prototype.
86032         * lib/save-cwd.c (restore_cwd): Remove two parameters.
86033         Simplify.  Don't call error upon failure.  Let callers do that.
86034         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
86035         when auditing is enabled.  But don't bother updating the #if.
86036
86037 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
86038
86039         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
86040         it breaks C++ compilation.
86041         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
86042
86043 2003-07-10  Simon Josefsson  <jas@extundo.com>
86044
86045         * modules/strchrnul (Makefile.am): Add strchrnul.h.
86046
86047 2003-07-10  Jim Meyering  <jim@meyering.net>
86048
86049         * m4/clock_time.m4: Remove trailing blank.
86050         * m4/intmax_t.m4: Likewise.
86051
86052 2003-07-10  Jim Meyering  <jim@meyering.net>
86053
86054         * lib/vasnprintf.c: Remove trailing blanks.
86055         Make cpp indentation consistent.
86056
86057 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86058
86059         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
86060         posixver.c, strftime.c, strnlen.c, strverscmp.c:
86061         Switch from LGPL to GPL.
86062
86063 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86064
86065         * config/srclist.txt: Sort sublists.  Add
86066         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
86067         that differ from gnulib for one reason or another; we'd like this list
86068         to be smaller but for now let's document what we have.
86069
86070 2003-07-08  Paul Eggert  <eggert@twinsun.com>
86071
86072         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
86073         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
86074         and sweeter "eval x=$x".
86075         * config/srclist.txt: Get lib/argp* from glibc.
86076
86077 2003-07-07  Paul Eggert  <eggert@twinsun.com>
86078
86079         * lib/mktime.c: Fix some boundary cases and remove need for floating
86080         point.
86081
86082         Issue a compile-time diagnostic if time_t is floating point, or if
86083         two's complement arithmetic is not in effect, or if arithmetic
86084         right shift does not propagate the sign.  These assumptions were
86085         all in the original code but they weren't checked.
86086
86087         (TIME_T_MIDPOINT, verify): New macros.
86088         (__isleap): Remove; it has integer overflow problems.
86089         (leapyear): New function, without those problems.
86090         (ydhms_tm_diff): Remove; splitting into two parts.
86091         (ydhms_diff): New function, containing the arithmetic part of
86092         the old ydhms_tm_diff function.  Issue a compile-time
86093         diagnostic if we are not using C99 integer division.
86094         Avoid casts when possible.
86095         (guess_time_tm): New function, containing the checking part of
86096         the old ydhms_tm_diff function.  Return the new value, rather than
86097         the difference between it and the old.  Accept a new argument T
86098         so that *T specifies the old value.  Check for overflow in the result.
86099
86100         (__mktime_internal): Use a time_t offset, not a long int offset.
86101         This undoes the 2003-06-04 change, which is no longer needed now
86102         that we have better overflow checking.
86103         (localtime_offset): Likewise.
86104
86105         (__mktime_internal): Avoid harmful overflow on hosts where time_t
86106         and long are 64-bit but int is only 32-bit.
86107         (ydhms_diff): Use long int to store year1 and yday1.
86108         Issue a compile-time diagnostic if long int is not wide enough.
86109
86110         (__mktime_internal): Use long int to store adjusted year and yday.
86111         Use plain C rather than preprocessor commands, if that doesn't
86112         affect efficiency.
86113         Check for overflow (and try to repair) after each probe
86114         rather than checking only at the very end.  This avoids some bugs
86115         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
86116         does not equal GMT offset at maximum time).
86117         Use integer to check for overflow rather than floating point; this
86118         is more portable to non-IEEE hosts, and is a tad faster.
86119         When we detect that we are oscillating between two values,
86120         don't check whether tm_isdst has the requested value, since
86121         we already know the answer.  When tm_isdst has the wrong value,
86122         use a different heuristic to find the right one, based on the
86123         extreme values actually observed in practice in tz2003a,
86124         rather than the (overly optimistic) "previous 3 calendar quarters".
86125
86126         (not_equal_tm, print_tm, check_result): Use "const T" rather than
86127         "T const" to accommodate glibc style.
86128         (check_result): Use less-confusing report format.  "long" -> "long int.
86129         (main): Likewise.
86130         Don't loop if the iteration overflows time_t.
86131         Allow a negative step in the iteration.
86132
86133 2003-07-06  Karl Berry  <karl@gnu.org>
86134
86135         * config/depcomp: update from automake.
86136         * config/config.sub: update from prep.
86137
86138 2003-07-03  Karl Berry  <karl@gnu.org>
86139
86140         * config/config.guess: update from prep.
86141
86142 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86143
86144         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
86145         xreadlink.c now includes it unconditionally.
86146
86147 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86148
86149         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
86150         having it depend on HAVE_SYS_TYPES_H.
86151
86152 2003-07-01  Bruno Haible  <bruno@clisp.org>
86153
86154         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
86155         <sys/types.h> should be sufficient.
86156         Reported by Paul Eggert.
86157
86158 2003-06-26  Karl Berry  <karl@gnu.org>
86159
86160         * config/depcomp: update from automake.
86161
86162 2003-06-26  Bruno Haible  <bruno@clisp.org>
86163
86164         * modules/human: Depend on module stdbool.
86165
86166 2003-06-25  Bruno Haible  <bruno@clisp.org>
86167
86168         * modules/readlink: New file.
86169         * modules/xreadlink: Depend on it.
86170         * MODULES.html.sh (func_all_modules): Add readlink.
86171
86172 2003-06-25  Bruno Haible  <bruno@clisp.org>
86173
86174         * m4/readlink.m4: New file.
86175
86176 2003-06-25  Bruno Haible  <bruno@clisp.org>
86177
86178         * lib/readlink.c: New file.
86179
86180 2003-06-22  Karl Berry  <karl@gnu.org>
86181
86182         * config/srclist.txt: update mkinstalldirs from automake.
86183         * config/mkinstalldirs: update.
86184
86185 2003-06-22  Bruno Haible  <bruno@clisp.org>
86186
86187         Portability to mingw32.
86188         * m4/ssize_t.m4: New file, from GNU gettext.
86189         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
86190         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
86191
86192 2003-06-22  Bruno Haible  <bruno@clisp.org>
86193
86194         * modules/safe-read: Add m4/ssize_t.m4.
86195         * modules/xreadlink: Add m4/ssize_t.m4.
86196
86197 2003-06-20  Bruno Haible  <bruno@clisp.org>
86198
86199         Assume C89, so PARAMS isn't needed.
86200         * lib/unicodeio.h (PARAMS): Remove.
86201         * lib/unicodeio.c: Don't use PARAMS.
86202
86203 2003-06-18  Karl Berry  <karl@gnu.org>
86204
86205         * config/config.{guess,sub}: update from prep.
86206
86207 2003-06-18  Jim Meyering  <jim@meyering.net>
86208
86209         Merge changes from coreutils.
86210         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
86211         Remove explicit declarations of xmalloc and realloc.
86212         Include xalloc.h.
86213         (read_utmp): Remove anachronistic cast of xmalloc.
86214
86215 2003-06-17  Paul Eggert  <eggert@twinsun.com>
86216
86217         Assume C89, so PARAMS isn't needed.
86218         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
86219         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
86220         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
86221         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
86222         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
86223         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
86224         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
86225         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
86226         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
86227         lib/xstrtod.h, lib/xstrtol.h: Likewise.
86228         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
86229         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
86230         no longer needed. Anyway, config.h should always be included before any
86231         other file.
86232
86233 2003-06-11  Simon Josefsson  <jas@extundo.com>
86234
86235         * modules/sysexits: New file.
86236         * MODULES.html.sh (func_all_modules): Add sysexits.
86237
86238 2003-06-11  Simon Josefsson  <jas@extundo.com>
86239
86240         * lib/sysexit_.h: New file.
86241
86242 2003-06-11  Derek Price  <derek@ximbiot.com>
86243
86244         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
86245         necessary.
86246
86247 2003-06-11  Bruno Haible  <bruno@clisp.org>
86248
86249         * m4/sysexits.m4: New file.
86250
86251 2003-06-10  Simon Josefsson  <jas@extundo.com>
86252
86253         * lib/argp.h: New file, from glibc.
86254         * lib/argp-ba.c: New file, from glibc.
86255         * lib/argp-eexst.c: New file, from glibc.
86256         * lib/argp-fmtstream.c: New file, from glibc.
86257         * lib/argp-fmtstream.h: New file, from glibc.
86258         * lib/argp-fs-xinl.c: New file, from glibc.
86259         * lib/argp-help.c: New file, from glibc.
86260         * lib/argp-namefrob.h: New file, from glibc.
86261         * lib/argp-parse.c: New file, from glibc.
86262         * lib/argp-pv.c: New file, from glibc.
86263         * lib/argp-pvh.c: New file, from glibc.
86264         * lib/argp-xinl.c: New file, from glibc.
86265
86266 2003-06-10  Simon Josefsson  <jas@extundo.com>
86267
86268         * modules/strchrnul: New file.
86269
86270 2003-06-10  Simon Josefsson  <jas@extundo.com>
86271
86272         * modules/argp: New file.
86273
86274 2003-06-10  Simon Josefsson  <jas@extundo.com>
86275
86276         * m4/strchrnul.m4: New file.
86277
86278 2003-06-10  Simon Josefsson  <jas@extundo.com>
86279
86280         * lib/strchrnul.h: New file.
86281         * lib/strchrnul.c: New file.
86282
86283 2003-06-10  Bruno Haible  <bruno@clisp.org>
86284
86285         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
86286
86287 2003-06-07  Karl Berry  <karl@gnu.org>
86288
86289         * config/config.{guess,sub}: update from prep.
86290
86291 2003-06-07  Jim Meyering  <jim@meyering.net>
86292
86293         * modules/strtod: Use $(...) notation, not @...@ for
86294         AC_REPLACE'd variables.
86295         * modules/localcharset: Likewise.
86296
86297 2003-06-07  Jim Meyering  <jim@meyering.net>
86298
86299         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
86300         in place of my name in the copyright comment.
86301         Remove definition and uses of __P.
86302
86303         From coreutils.
86304         * lib/stat.c: Don't declare xmalloc explicitly.
86305         Instead, include "xalloc.h".
86306         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
86307         xrealloc, and xcalloc return values.
86308         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
86309         Improve comment.
86310         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
86311
86312 2003-06-07  Bruno Haible  <bruno@clisp.org>
86313
86314         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
86315         avoid AC_CONFIG_LINKS.
86316         * modules/fnmatch (Makefile.am): Use explicit creation rule for
86317         fnmatch.h, to avoid AC_CONFIG_LINKS.
86318         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
86319
86320 2003-06-07  Bruno Haible  <bruno@clisp.org>
86321
86322         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
86323         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
86324         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86325         directory.
86326         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
86327         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86328         directory.
86329
86330 2003-06-06  Jim Meyering  <jim@meyering.net>
86331
86332         Merge from coreutils.
86333         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
86334         Consolidate declarations and initializations of *_base* locals.
86335
86336         Merge from coreutils.
86337         This avoids a core dump on systems without GNU putenv,
86338         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
86339         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
86340         (unsetenv): New static function, from GNU libc.
86341         (rpl_putenv): Use it.
86342
86343         * lib/modechange.c: Remove trailing blanks.
86344
86345         Merge from coreutils.
86346         * lib/fsusage.c: Remove declaration of statfs.
86347         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
86348
86349         * lib/posixtm.c: Include <stdbool.h> unconditionally.
86350
86351 2003-06-06  Jim Meyering  <jim@meyering.net>
86352
86353         * lib/stdbool_.h: Renamed from stdbool.h.in.
86354
86355 2003-06-06  Jim Meyering  <jim@meyering.net>
86356             Bruno Haible  <bruno@clisp.org>
86357
86358         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
86359         Adjust Makefile.am snippet not to redirect directly to target.
86360         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
86361
86362 2003-06-05  Paul Eggert  <eggert@twinsun.com>
86363
86364         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
86365         mismatch, look in future quarters as well as past.  This fixes a
86366         bug when processing fall-backwards gaps immediately after a long
86367         period of daylight-saving time.
86368
86369         * lib/mktime.c: Assume freestanding C89 or better.
86370         (HAVE_LIMITS_H): Remove.  Assume it's 1.
86371         (__P): Remove; not used.
86372         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
86373         (mktime, not_equal_tm, print_tm, check_result,
86374         main): Use prototypes.  Use const * where appropriate.
86375         (main): Fix typo in testing code that uncovered by above changes.
86376         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
86377
86378 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86379
86380         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
86381         locale.h, localeconv.  This merges changes from coreutils.
86382
86383         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
86384         It can be removed after the next Autoconf is released.
86385         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
86386         needed.
86387
86388 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86389
86390         * lib/mktime.c: Fix Debian bug 177940
86391         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
86392         (localtime_offset): Now long int, not time_t, because we want it
86393         to be guaranteed to be signed.  All uses changed.
86394         (__mktime_internal): If overflow would occur when adding offset,
86395         don't add it.
86396
86397         Merge 'human' changes from coreutils.  Rewrite to support
86398         locale-specific notations like thousands separators.
86399         * lib/human.c: Simplify authorship notice.
86400         Include human.h immediately after config.h.
86401         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
86402         <limits.h>: Do not include, since human.h does.
86403         (SIZE_MAX, UINTMAX_MAX): New macros.
86404         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
86405         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
86406         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
86407         (power_letter): Renamed from suffixes.
86408         (generate_suffix_backwards): Remove.
86409         (adjust_value): Now takes int style (because of human.h changes)
86410         and long double value (for greater precision on some platforms).
86411         (group_number): New function.
86412         (human_readable): Use it.  Use integer options, not enum.
86413         Put the options before the sizes in the arg list.
86414         Support all the new options.
86415         The old human_readable function has been removed;
86416         use inttostr.h instead.
86417         (human_readable, default_block_size, humblock):
86418         Use uintmax_t, not int, for block sizes.
86419         (human_readable_inexact, block_size_types): Remove.
86420         (block_size_opts): New constant.
86421         (human_options): Renamed from human_block_size, with new signature
86422         that allows block sizes up to UINTMAX_MAX.  All callers changed.
86423         * lib/human.h: Add copyright and authorship notice.
86424         Include <limits.h> and <stdbool.h> unconditionally.
86425         (PARAMS): Remove.  All uses removed.
86426         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
86427         (enum human_inexact_style): Remove tag; now a nameless enum.
86428         (human_floor, human_ceiling, human_round_to_even): Now have
86429         values 2, 0, 1 rather than -1, 1, 0.
86430         (human_group_digits, human_suppress_point_zero, human_autoscale,
86431         human_base_1024, human_SI, human_B): New constants.
86432         (human_readable_inexact, human_block_size): Remove.
86433         (human_readable): Size args are now uintmax_t, not int.
86434         (human_options): New decl.
86435
86436         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
86437         unnecessary now that we assume C89 or better.  This change
86438         imported from coreutils.
86439
86440         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86441         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
86442         in the 2003-05-30 sync from glibc.
86443
86444         .h files should stand alone, but we shouldn't include <sys/types.h>
86445         if we can get away with just <stddef.h>.
86446
86447         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
86448         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
86449         rather than <sys/types.h>, as we merely need size_t.
86450         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
86451         to get size_t.
86452         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
86453         Include <stdio.h>, to get FILE.
86454         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
86455         memcasecmp.h has included <stddef.h> and all we need is size_t.
86456         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
86457         our interface, instead of including <sys/types.h>
86458
86459 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86460
86461         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
86462         now, as glibc mktime is buggy on non-glibc systems.
86463
86464 2003-06-03  Karl Berry  <karl@gnu.org>
86465
86466         * config/config.sub: update from prep.
86467
86468 2003-06-02  Paul Eggert  <eggert@twinsun.com>
86469
86470         [from coreutils]
86471         Fix some minor time-related bugs with POSIX time arguments.
86472         Some valid time stamps were being rejected (notably -1, and
86473         time stamps before 1900 on 64-bit hosts).  And some invalid
86474         time stamps were being accepted, e.g. September 31.
86475
86476         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
86477         that we can return (time_t) -1 successfully.
86478         * lib/posixtm.c: Likewise.
86479         [HAVE_STDBOOL_H]: Include <stdbool.h>.
86480         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
86481         (t): Remove static var.
86482         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
86483         of static var.  All uses changed.
86484         (year): Do not reject years before 1900; they can occur with
86485         64-bit time_t.
86486         (posix_time_parse): Do not check for out-of-range components;
86487         that is now the caller's responsibility, since our checks were
86488         only approximations.
86489         (posixtime): Use mktime to check for out-of-range components,
86490         since it knows them exactly.
86491         If mktime returns (time_t) -1, check whether an error actually occurred
86492         by invoking localtime on -1.
86493         (main) [TEST_POSIXTIME]: Check for input data errors, and report
86494         posixtime failures better.
86495         Improve the test data (in comments only).
86496
86497 2003-06-02  Karl Berry  <karl@gnu.org>
86498
86499         * config/mkinstalldirs (version): new variable.
86500         (--version): new option.
86501         (usage): improve message.
86502
86503 2003-05-30  Karl Berry  <karl@gnu.org>
86504
86505         * lib/mktime.c: update from libc.
86506
86507 2003-05-30  Bruno Haible  <bruno@clisp.org>
86508
86509         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
86510         * config/config.rpath: Upgrade to gettext-0.12.1.
86511
86512 2003-05-30  Bruno Haible  <bruno@clisp.org>
86513
86514         * m4/gettext.m4: Upgrade to gettext-0.12.1.
86515         * m4/nls.m4: New file, from gettext-0.12.1.
86516         * m4/po.m4: New file, from gettext-0.12.1.
86517         * m4/progtest.m4: Upgrade to gettext-0.12.1.
86518
86519 2003-05-30  Bruno Haible  <bruno@clisp.org>
86520
86521         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
86522         * lib/localcharset.h: Likewise.
86523         * lib/localcharset.c: Likewise.
86524
86525 2003-05-29  Karl Berry  <karl@gnu.org>
86526
86527         * config/config.rpath: update from gettext.
86528
86529 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86530
86531         Assume the headers required for C89 freestanding compilers.
86532         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
86533         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
86534         * m4/human.m4 (gl_HUMAN): Likewise.
86535         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
86536         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
86537         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86538         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
86539         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86540         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
86541
86542 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86543
86544         Assume the headers required for C89 freestanding compilers.
86545         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
86546         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
86547         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
86548         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
86549         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
86550         define, since <limits.h> is guaranteed to do that.
86551         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
86552         * lib/exclude.c: Include <stdbool.h> unconditionally.
86553         * lib/tempname.c: Include <stddef.h> unconditionally.
86554         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
86555         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
86556         <stddef.h> does that.
86557         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
86558         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
86559         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
86560         needed.
86561         * lib/xstrtol.c: Likewise.
86562         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
86563         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
86564
86565         * lib/addext.c (addext): Use assignment rather than cast, to avoid
86566         warnings on some platforms.
86567
86568         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86569         arbitrarily.
86570
86571 2003-05-26  Jim Meyering  <jim@meyering.net>
86572
86573         Merge in a change from coreutils:
86574         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
86575         that is guaranteed to be `no'.  Use `no_such_member' to indicate
86576         that condition, rather than `-1' which is slightly misleading.
86577         Change the name of the cache variable to have the gl_ prefix.
86578         Prompted by a patch from Richard Dawe for DJGPP.
86579
86580 2003-05-24  Karl Berry  <karl@gnu.org>
86581
86582         * config/config.guess: update from prep.
86583
86584 2003-05-22  Karl Berry  <karl@gnu.org>
86585
86586         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
86587
86588 2003-05-20  Karl Berry  <karl@gnu.org>
86589
86590         * config/config.guess: update from prep.
86591
86592 2003-05-18  Karl Berry  <karl@gnu.org>
86593
86594         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
86595         might actually be set by the user.
86596
86597         * config/depcomp, install-sh, mdate-sh: update from automake.
86598
86599 2003-05-17  Bruno Haible  <bruno@clisp.org>
86600
86601         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
86602         invalid expansion for AC_EGREP_CPP.
86603         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
86604         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
86605         Suggested by Akim Demaille <akim@epita.fr> in
86606         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
86607
86608 2003-05-12  Jim Meyering  <jim@meyering.net>
86609
86610         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
86611         the space-padded-by-default conversion specifiers, %e, %k, %l.
86612
86613 2003-05-12  Bruno Haible  <bruno@clisp.org>
86614
86615         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
86616         the string is longer than 4 KB.
86617
86618 2003-05-11  Karl Berry  <karl@gnu.org>
86619
86620         * config/config.{guess,sub}: update from prep.
86621
86622 2003-05-09  Bruno Haible  <bruno@clisp.org>
86623
86624         * modules/error: Add m4/strerror_r.m4 to file list.
86625
86626 2003-05-03  Bruno Haible  <bruno@clisp.org>
86627
86628         Upgrade to Unicode-4.0.
86629         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
86630         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
86631         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
86632         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
86633         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
86634         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
86635         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
86636         Change width of U+E0100..U+E01EF from 1 to 0.
86637
86638 2003-04-25  Jim Meyering  <jim@meyering.net>
86639
86640         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
86641         of type size_t, not int.
86642
86643 2003-04-25  Bruno Haible  <bruno@clisp.org>
86644
86645         * lib/copy-file.c: Include <stddef.h>, for size_t.
86646
86647 2003-04-21  Paul Eggert  <eggert@twinsun.com>
86648
86649         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
86650         code which expansion is under static control.  Patch imported from
86651         Akim Demaille's patch to Bison; see
86652         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
86653
86654 2003-04-14  Bruno Haible  <bruno@clisp.org>
86655
86656         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
86657
86658 2003-04-11  Jim Meyering  <jim@meyering.net>
86659
86660         Merge changes from Coreutils.
86661
86662         2003-03-22  Jim Meyering  <jim@meyering.net>
86663
86664         * lib/strftime.c (widen): Cast alloca return value to proper type.
86665
86666         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
86667
86668         From GNU libc.
86669         * lib/strftime.c (my_strftime): Handle very large width
86670         specifications for numeric values correctly.  Improve checks for
86671         overflow.
86672
86673         2003-01-19  Jim Meyering  <jim@meyering.net>
86674
86675         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
86676         definitions.
86677         (nl_get_alt_digit) [! defined my_strftime]: Define.
86678         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
86679         _nl_get_alt_digit and _nl_get_walt_digit.
86680
86681         * lib/strftime.c (my_strftime): Merge in locale-related changes from
86682         libc. These changes have no effect outside of _LIBC.
86683
86684 2003-04-10  Bruno Haible  <bruno@clisp.org>
86685
86686         * modules/findprog: New file.
86687         * MODULES.html.sh (func_all_modules): Add it.
86688
86689 2003-04-10  Bruno Haible  <bruno@clisp.org>
86690
86691         * m4/findprog.m4: New file.
86692         * m4/eaccess.m4: New file.
86693
86694 2003-04-10  Bruno Haible  <bruno@clisp.org>
86695
86696         * lib/findprog.h: New file, from GNU gettext.
86697         * lib/findprog.c: New file, from GNU gettext.
86698
86699 2003-04-05  Jim Meyering  <jim@meyering.net>
86700
86701         Merge changes from Coreutils.
86702
86703         * lib/exclude.h (PARAMS): Remove definition and uses.
86704         * lib/exclude.c: Remove uses of `PARAMS'.
86705
86706         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
86707         Add test-cases for DOS filenames. Declare program_name.
86708         (main): Set up program_name.  Patch by Rich Dawe.
86709
86710         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86711         error from mntctl.
86712         Use mntctl's return value to drive the entry-processing loop, since
86713         we can't rely on the value of the vmt_length member in the last
86714         entry.  On some systems doing so could result in exhausting
86715         virtual memory.  Based in part on a patch from Mike Jetzer.
86716
86717 2003-04-04  Bruno Haible  <bruno@clisp.org>
86718
86719         * modules/linebreak: New file.
86720         * MODULES.html.sh (func_all_modules): Add it.
86721
86722 2003-04-04  Bruno Haible  <bruno@clisp.org>
86723
86724         * m4/linebreak.m4: New file.
86725
86726 2003-04-04  Bruno Haible  <bruno@clisp.org>
86727
86728         * lib/linebreak.h: New file, from GNU gettext.
86729         * lib/linebreak.c: New file, from GNU gettext with slight
86730         modifications.
86731         * lib/lbrkprop.h: New file, from GNU gettext.
86732
86733 2003-04-03  Bruno Haible  <bruno@clisp.org>
86734
86735         * modules/utf8-ucs4: New file.
86736         * modules/utf16-ucs4: New file.
86737         * modules/ucs4-utf8: New file.
86738         * modules/ucs4-utf16: New file.
86739         * MODULES.html.sh (func_all_modules): Add them.
86740
86741 2003-04-03  Bruno Haible  <bruno@clisp.org>
86742
86743         * m4/utf-ucs4.m4: New file.
86744         * m4/ucs4-utf.m4: New file.
86745
86746 2003-04-03  Bruno Haible  <bruno@clisp.org>
86747
86748         * lib/utf8-ucs4.h: New file, from GNU gettext.
86749         * lib/utf16-ucs4.h: New file, from GNU gettext.
86750         * lib/ucs4-utf8.h: New file, from GNU gettext.
86751         * lib/ucs4-utf16.h: New file, from GNU gettext.
86752
86753 2003-04-02  Bruno Haible  <bruno@clisp.org>
86754
86755         * modules/binary-io: New file.
86756         * MODULES.html.sh (func_all_modules): Add it.
86757
86758 2003-04-02  Bruno Haible  <bruno@clisp.org>
86759
86760         * lib/binary-io.h: New file, from GNU gettext.
86761
86762 2003-04-01  Bruno Haible  <bruno@clisp.org>
86763
86764         * modules/pathname: New file.
86765         * MODULES.html.sh (func_all_modules): Add it.
86766
86767 2003-04-01  Bruno Haible  <bruno@clisp.org>
86768
86769         * lib/pathname.h: New file, from GNU gettext.
86770         * lib/concatpath.c: New file, from GNU gettext.
86771
86772 2003-03-30  Bruno Haible  <bruno@clisp.org>
86773
86774         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
86775
86776 2003-03-30  Bruno Haible  <bruno@clisp.org>
86777
86778         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
86779         function chown() doesn't exist.
86780
86781 2003-03-28  Bruno Haible  <bruno@clisp.org>
86782
86783         * modules/copy-file: New file.
86784         * MODULES.html.sh (func_all_modules): Add it.
86785
86786 2003-03-28  Bruno Haible  <bruno@clisp.org>
86787
86788         * m4/copy-file.m4: New file.
86789
86790 2003-03-28  Bruno Haible  <bruno@clisp.org>
86791
86792         * lib/copy-file.h: New file, from GNU gettext.
86793         * lib/copy-file.c: New file, from GNU gettext.
86794
86795 2003-03-18  Jim Meyering  <jim@meyering.net>
86796
86797         * lib/quote.c (quote_n): Fix typo in comment.
86798
86799 2003-03-18  Bruno Haible  <bruno@clisp.org>
86800
86801         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
86802         checking.
86803         * m4/onceonly_2_57.m4: Likewise.
86804
86805 2003-03-17  Bruno Haible  <bruno@clisp.org>
86806
86807         * m4/onceonly.m4: Require autoconf 2.54 or newer.
86808         (m4_quote): Remove macro.
86809         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
86810
86811 2003-03-14  Jim Meyering  <jim@meyering.net>
86812
86813         Merge changes from Coreutils.
86814         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
86815         to be const, in order to avoid warnings.
86816         (obstack_room): Likewise.
86817         (obstack_empty_p): Likewise.
86818
86819 2003-03-14  Bruno Haible  <bruno@clisp.org>
86820
86821         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
86822         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
86823
86824 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86825
86826         Merge changes from Bison.
86827         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
86828         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
86829         when compiling Bison 1.875's `bitset bset = obstack_alloc
86830         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
86831         * lib/hash.c: Include <stdbool.h> unconditionally.
86832
86833 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86834
86835         * m4/onceonly.m4 (m4_quote): New macro.
86836         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
86837         Quote AC_FOREACH variable-expansions properly.
86838
86839 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86840
86841         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
86842
86843 2003-03-09  Paul Eggert  <eggert@twinsun.com>
86844
86845         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
86846         Reported by Bruce Becker; see:
86847         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
86848
86849 2003-03-03  Paul Eggert  <eggert@twinsun.com>
86850             Bruno Haible  <bruno@clisp.org>
86851
86852         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
86853         Reported by John Hughes, see
86854         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
86855
86856 2003-02-20  Bruno Haible  <bruno@clisp.org>
86857
86858         * MODULES.html.sh (func_all_modules): Add poll.
86859
86860 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86861
86862         * modules/poll: New file.
86863
86864 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86865
86866         * lib/poll_.h: New file.
86867         * lib/poll.c: New file.
86868
86869 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86870
86871         * m4/poll.m4: New file.
86872
86873 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86874
86875         * modules/mathl: New file.
86876
86877 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86878
86879         * lib/mathl.h: New file.
86880         * lib/acosl.c: New file.
86881         * lib/asinl.c: New file.
86882         * lib/atanl.c: New file.
86883         * lib/ceill.c: New file.
86884         * lib/cosl.c: New file.
86885         * lib/expl.c: New file.
86886         * lib/floorl.c: New file.
86887         * lib/frexpl.c: New file.
86888         * lib/ldexpl.c: New file.
86889         * lib/logl.c: New file.
86890         * lib/sincosl.c: New file.
86891         * lib/sinl.c: New file.
86892         * lib/sqrtl.c: New file.
86893         * lib/tanl.c: New file.
86894         * lib/trigl.c: New file.
86895         * lib/trigl.h: New file.
86896
86897 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86898
86899         * m4/mathl.m4: New file.
86900
86901 2003-02-18  Bruno Haible  <bruno@clisp.org>
86902
86903         * MODULES.html.sh (func_all_modules): Add mathl.
86904
86905 2003-02-17  Bruno Haible  <bruno@clisp.org>
86906
86907         * modules/mkdtemp: New module.
86908         * MODULES.html.sh (func_all_modules): Add it.
86909
86910 2003-02-17  Bruno Haible  <bruno@clisp.org>
86911
86912         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
86913
86914 2003-02-17  Bruno Haible  <bruno@clisp.org>
86915
86916         * lib/mkdtemp.h: New file, from GNU gettext.
86917         * lib/mkdtemp.c: New file, from GNU gettext.
86918
86919 2003-02-02  Jim Meyering  <jim@meyering.net>
86920
86921         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
86922         e.g. glibc-2.2.93.
86923
86924 2003-01-31  Bruno Haible  <bruno@clisp.org>
86925
86926         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
86927         'rpl_rename'.
86928         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
86929         'rpl_strnlen'.
86930         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
86931         'rpl_strtod'.
86932         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
86933         'rpl_utime'.
86934
86935 2003-01-31  Bruno Haible  <bruno@clisp.org>
86936
86937         * lib/rename.c: #undef rename before defining rpl_rename.
86938         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
86939
86940 2003-01-30  Bruno Haible  <bruno@clisp.org>
86941
86942         * modules/vasnprintf, modules/vasprintf: New modules.
86943         * MODULES.html.sh (func_all_modules): Add them.
86944
86945 2003-01-30  Bruno Haible  <bruno@clisp.org>
86946
86947         * m4/signed.m4: New file, from GNU gettext.
86948         * m4/longdouble.m4: New file, from GNU gettext.
86949         * m4/wchar_t.m4: New file, from GNU gettext.
86950         * m4/wint_t.m4: New file, from GNU gettext.
86951         * m4/vasnprintf.m4: New file.
86952         * m4/vasprintf.m4: New file.
86953
86954 2003-01-30  Bruno Haible  <bruno@clisp.org>
86955
86956         * lib/printf-args.h: New file, from GNU gettext.
86957         * lib/printf-args.c: New file, from GNU gettext.
86958         * lib/printf-parse.h: New file, from GNU gettext.
86959         * lib/printf-parse.c: New file, from GNU gettext.
86960         * lib/vasnprintf.h: New file, from GNU gettext.
86961         * lib/vasnprintf.c: New file, from GNU gettext.
86962         * lib/asnprintf.c: New file, from GNU gettext.
86963         * lib/vasprintf.h: New file, from GNU gettext with modifications.
86964         * lib/vasprintf.c: New file, from GNU gettext.
86965         * lib/asprintf.c: New file, from GNU gettext.
86966
86967 2003-01-29  Bruno Haible  <bruno@clisp.org>
86968
86969         * modules/stpncpy: New module.
86970         * MODULES.html.sh (func_all_modules): Add it.
86971
86972 2003-01-29  Bruno Haible  <bruno@clisp.org>
86973
86974         * m4/stpncpy.m4: New file.
86975
86976 2003-01-29  Bruno Haible  <bruno@clisp.org>
86977
86978         * lib/stpncpy.h: New file, from GNU gettext with modifications.
86979         * lib/stpncpy.c: New file, from GNU gettext with modifications.
86980
86981 2003-01-28  Bruno Haible  <bruno@clisp.org>
86982
86983         * modules/c-ctype: New module.
86984         * MODULES.html.sh (func_all_modules): Add it.
86985
86986 2003-01-28  Bruno Haible  <bruno@clisp.org>
86987
86988         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
86989         Paul Eggert.
86990         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
86991         Paul Eggert.
86992
86993 2003-01-27  Bruno Haible  <bruno@clisp.org>
86994
86995         * modules/xsetenv: New module.
86996         * MODULES.html.sh (func_all_modules): Add it.
86997
86998 2003-01-27  Bruno Haible  <bruno@clisp.org>
86999
87000         * lib/xsetenv.h: New file, from GNU gettext.
87001         * lib/xsetenv.c: New file, from GNU gettext.
87002
87003 2003-01-23  Jim Meyering  <jim@meyering.net>
87004
87005         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
87006         from working on systems without dirfd (at least Irix and OSF1/Tru64).
87007
87008 2003-01-23  Bruno Haible  <bruno@clisp.org>
87009
87010         * modules/minmax: New module.
87011         * MODULES.html.sh (func_all_modules): Add it.
87012
87013 2003-01-23  Bruno Haible  <bruno@clisp.org>
87014
87015         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
87016         Eggert.
87017
87018 2003-01-22  Bruno Haible  <bruno@clisp.org>
87019
87020         * modules/exit: New module.
87021         * MODULES.html.sh (func_all_modules): Add it.
87022
87023 2003-01-22  Bruno Haible  <bruno@clisp.org>
87024
87025         * lib/exit.h: New file, from GNU gettext.
87026
87027 2003-01-19  Bruno Haible  <bruno@clisp.org>
87028
87029         * gnulib-tool: Recognize option --extract-maintainer.
87030         (func_get_maintainer): New function.
87031         * modules/*: Add Maintainer entry.
87032
87033 2003-01-16  Jim Meyering  <jim@meyering.net>
87034
87035         * m4/regex.m4: The `regex' struct is both input and output.
87036         Initialize it before each use.  Patch by Tim Waugh.
87037
87038 2003-01-16  Bruno Haible  <bruno@clisp.org>
87039
87040         * MODULES.html.sh: Add a table of contents. Add the module name as
87041         leftmost column. Add hyperlinks.
87042
87043 2003-01-15  Bruno Haible  <bruno@clisp.org>
87044
87045         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
87046
87047 2003-01-15  Bruno Haible  <bruno@clisp.org>
87048
87049         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
87050         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
87051         suffix.
87052
87053 2003-01-15  Bruno Haible  <bruno@clisp.org>
87054
87055         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
87056
87057 2003-01-15  Bruno Haible  <bruno@clisp.org>
87058
87059         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
87060         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
87061
87062 2003-01-14  Jim Meyering  <jim@meyering.net>
87063
87064         * lib/same.c (same_name): Tweak a comment.
87065
87066 2003-01-14  Bruno Haible  <bruno@clisp.org>
87067
87068         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
87069         when a string comparison is sufficient.
87070
87071 2003-01-14  Bruno Haible  <bruno@clisp.org>
87072
87073         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
87074         'unsigned int'.
87075
87076 2003-01-14  Bruno Haible  <bruno@clisp.org>
87077
87078         * lib/hash-pjw.c: Add comment about low quality of this function.
87079
87080 2003-01-13  Bruno Haible  <bruno@clisp.org>
87081
87082         * modules/stpcpy: Distribute lib/stpcpy.h.
87083         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
87084
87085 2003-01-13  Bruno Haible  <bruno@clisp.org>
87086
87087         * modules/*: Add a description.
87088         * modules/strpbrk: Fix Makefile.am snippet.
87089         * modules/strtoimax: Fix dependencies.
87090         * modules/strtoumax: Likewise.
87091
87092 2003-01-13  Bruno Haible  <bruno@clisp.org>
87093
87094         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
87095         * modules/alloca (Makefile.am): All object files depend on alloca.h.
87096         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
87097
87098 2003-01-13  Bruno Haible  <bruno@clisp.org>
87099
87100         * gnulib-tool (func_create_testdir): Store config/* files in the main
87101         directory.
87102         * config.rpath: Move to ...
87103         * config/config.rpath: ... here.
87104         * modules/gettext: Contains config/config.rpath, not config.rpath.
87105         * modules/iconv: Likewise.
87106
87107 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87108
87109         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87110         to avoid collisions with libcurses and libreadline.
87111
87112         * m4/getstr.m4: Remove.
87113         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
87114
87115 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87116
87117         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87118         to avoid collisions with libcurses and libreadline.
87119
87120         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
87121         * lib/getstr.h, getstr.c: Remove.
87122         * lib/getline.c: Include "getline.h", to check interface.
87123         Move body of old getstr.c here: this defines MIN_CHUNK and
87124         declares getdelim2, which is renamed from getstr.
87125         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
87126
87127         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
87128         All uses changed.
87129         * lib/linebuffer.h: Likewise.
87130         (readline): Remove backward-compatibility macro.
87131
87132 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87133
87134         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87135         to avoid collisions with libcurses and libreadline.
87136         * getstr: Remove.
87137         * MODULES.html.sh: Remove getstr.
87138         * modules/getline: Depend on unlocked-io, not getstr.
87139
87140 2003-01-12  Jim Meyering  <jim@meyering.net>
87141
87142         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
87143
87144 2003-01-10  Bruno Haible  <bruno@clisp.org>
87145
87146         * modules/alloca: Change Makefile.am requirements. Simplify Include
87147         requirements. Add lib/alloca_.h to file list.
87148
87149 2003-01-10  Bruno Haible  <bruno@clisp.org>
87150
87151         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
87152
87153 2003-01-10  Bruno Haible  <bruno@clisp.org>
87154
87155         * lib/alloca_.h: New file.
87156         * lib/getdate.y: Unconditionally include alloca.h.
87157         * lib/makepath.c: Likewise.
87158         * lib/setenv.c: Likewise.
87159         * lib/userspec.c: Likewise.
87160
87161 2003-01-09  Karl Berry  <karl@gnu.org>
87162
87163         * MODULES.html.sh: include `dirname $0` in PATH, to find
87164         gnulib-tool.
87165
87166 2003-01-09  Bruno Haible  <bruno@clisp.org>
87167
87168         * modules/stdbool: Change configure.ac, Makefile.am requirements.
87169         Simplify Include requirements. Add lib/stdbool.h.in to file list.
87170
87171 2003-01-09  Bruno Haible  <bruno@clisp.org>
87172
87173         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
87174
87175 2003-01-09  Bruno Haible  <bruno@clisp.org>
87176
87177         * lib/stdbool.h.in: New file.
87178
87179 2003-01-09  Bruno Haible  <bruno@clisp.org>
87180
87181         * gnulib-tool (func_all_modules): Ignore files ending in ~.
87182         * MODULES.html.sh: Likewise.
87183
87184 2003-01-08  Jim Meyering  <jim@meyering.net>
87185
87186         * lib/full-write.c: Undefine and define-away `const' after inclusion
87187         of errno.h, not before.  Suggestion from Bruno Haible.
87188
87189 2003-01-08  Bruno Haible  <bruno@clisp.org>
87190
87191         * modules/full-read: Depend on full-write.
87192
87193 2003-01-08  Bruno Haible  <bruno@clisp.org>
87194
87195         * lib/safe-read.c: Include specification header first, to ensure its
87196         selfcontainedness.
87197         * lib/full-write.c: Likewise.
87198
87199 2003-01-07  Jim Meyering  <jim@meyering.net>
87200
87201         * lib/full-write.c: Rework so that it may serve to define full_read,
87202         too.
87203         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
87204
87205 2003-01-07  Bruno Haible  <bruno@clisp.org>
87206
87207         * lib/strtoimax.c: Include <stdint.h> as an alternative to
87208         <inttypes.h>.
87209         * lib/xstrtol.h: Likewise.
87210         * lib/xstrtoimax.c: Likewise.
87211         * lib/xstrtoumax.c: Likewise.
87212         * lib/human.h: Likewise.
87213
87214         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
87215         on systems that have <inttypes.h> but not <stdint.h>.
87216
87217 2003-01-07  Bruno Haible  <bruno@clisp.org>
87218
87219         * MODULES.html.sh: Add copyright notice.
87220         (missed_files): Omit CVS directory entries.
87221         (func_module): Make it work with sed-3.02.
87222         * MODULES.txt: Remove file.
87223
87224 2003-01-06  Jim Meyering  <jim@meyering.net>
87225
87226         * lib/version-etc.c: Update year in translatable copyright string.
87227
87228 2003-01-03  Karl Berry  <karl@gnu.org>
87229
87230         * config/config.{guess,sub}: update from prep.
87231
87232 2003-01-02  Karl Berry  <karl@gnu.org>
87233
87234         * doc/COPYING.DOC: belatedly updated to 1.2.
87235
87236 2003-01-01  Karl Berry  <karl@gnu.org>
87237
87238         * gnulib-tool (func_verify_module): report module name $module in
87239         error message, not $1.
87240         * gnulib-tool (create-testdir): don't complain if destdir couldn't
87241         be created, only if it doesn't exist.
87242         * gnulib-tool (last_checkin_date): don't expand the $Date here.
87243
87244 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87245
87246         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
87247
87248 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87249
87250         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
87251         memcmp if strcoll doesn't work.
87252
87253 2002-12-31  Bruno Haible  <bruno@clisp.org>
87254
87255         * lib/utime.c (utime_null): No need to call ftruncate if the file was
87256         nonempty.
87257
87258 2002-12-31  Bruno Haible  <bruno@clisp.org>
87259
87260         * lib/memcoll.c (STRCOLL): New macro.
87261         (memcoll): Use it.
87262
87263 2002-12-31  Bruno Haible  <bruno@clisp.org>
87264
87265         * lib/localcharset.h: New file.
87266         * lib/localcharset.c: Include it.
87267         * lib/unicodeio.c: Likewise.
87268
87269 2002-12-31  Bruno Haible  <bruno@clisp.org>
87270
87271         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
87272         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
87273
87274 2002-12-31  Bruno Haible  <bruno@clisp.org>
87275
87276         * lib/getline.h: Include <stddef.h>, for size_t.
87277
87278         * lib/unicodeio.h: Include <stddef.h>, for size_t.
87279         * lib/unicodeio.c: Don't include <stddef.h>.
87280
87281 2002-12-31  Bruno Haible  <bruno@clisp.org>
87282
87283         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
87284         HAVE_TM_ZONE.
87285
87286 2002-12-24  Karl Berry  <karl@gnu.org>
87287
87288         * config/config.guess: update from prep.
87289
87290 2002-12-24  Bruno Haible  <bruno@clisp.org>
87291
87292         General infrasructure.
87293         * m4/README: Rewritten.
87294         * m4/onceonly.m4: New file.
87295         * m4/onceonly_2_57.m4: New file.
87296
87297         Module atexit.
87298         * m4/atexit.m4: New file.
87299
87300         Module strtod.
87301         * m4/strtod.m4: New file.
87302
87303         Module strtol.
87304         * m4/strtol.m4: New file.
87305
87306         Module strtoul.
87307         * m4/strtoul.m4: New file.
87308
87309         Module memchr.
87310         * m4/memchr.m4: New file.
87311
87312         Module memcmp.
87313         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
87314         (jm_FUNC_MEMCMP): Invoke it.
87315
87316         Module memcpy.
87317         * m4/memcpy.m4: New file.
87318
87319         Module memmove.
87320         * m4/memmove.m4: New file.
87321
87322         Module memset.
87323         * m4/memset.m4: New file.
87324
87325         Module strcspn.
87326         * m4/strcspn.m4: New file.
87327
87328         Module strpbrk.
87329         * m4/strpbrk.m4: New file.
87330
87331         Module strstr.
87332         * m4/strstr.m4: New file.
87333
87334         Module strerror.
87335         * m4/strerror.m4: New file.
87336
87337         Module mktime.
87338         * m4/mktime.m4: Renamed from jm-mktime.m4.
87339         (gl_PREREQ_MKTIME): New macro.
87340         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
87341
87342         Module malloc.
87343         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
87344         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
87345         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
87346
87347         Module realloc.
87348         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
87349         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
87350         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
87351
87352         Module strftime.
87353         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
87354         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
87355         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
87356         gl_TM_GMTOFF.
87357         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
87358
87359         Module xalloc.
87360         * m4/xalloc.m4: New file.
87361
87362         Module alloca.
87363         * m4/alloca.m4: New file.
87364
87365         Module putenv.
87366         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
87367         (jm_FUNC_PUTENV): Invoke it.
87368
87369         Module setenv.
87370         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
87371         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
87372         when invoked twice.
87373         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
87374         gt_FUNC_SETENV.
87375
87376         Module memrchr.
87377         * m4/memrchr.m4: New file.
87378
87379         Module stpcpy.
87380         * m4/stpcpy.m4: New file.
87381
87382         Module strcase.
87383         * m4/strcase.m4: New file.
87384
87385         Module strdup.
87386         * m4/strdup.m4: New file.
87387
87388         Module strnlen.
87389         * m4/strnlen.m4: New file.
87390
87391         Module strndup.
87392         * m4/strndup.m4: New file.
87393
87394         Module xstrtod.
87395         * m4/xstrtod.m4: New file.
87396
87397         Module xstrtol.
87398         * m4/xstrtol.m4: New file.
87399
87400         Module getdate.
87401         * m4/getdate.m4: New file.
87402
87403         Module unlocked-io.
87404         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
87405         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
87406         * m4/jm-glibc-io.m4n: Remove file.
87407
87408         Module long-options.
87409         * m4/long-options.m4: New file.
87410
87411         Module md5.
87412         * m4/md5.m4: New file.
87413
87414         Module sha.
87415         * m4/sha.m4: New file.
87416
87417         Module getstr.
87418         * m4/getstr.m4: New file.
87419
87420         Module getline.
87421         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
87422         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
87423         <sys/types.h>, for size_t. Use the function name gnu_getline, not
87424         simply getline. Infoke gl_PREREQ_GETLINE.
87425
87426         Module obstack.
87427         * m4/obstack.m4: New file.
87428
87429         Module hash.
87430         * m4/hash.m4: New file.
87431
87432         Module readtokens.
87433         * m4/readtokens.m4: New file.
87434
87435         Module strverscmp.
87436         * m4/strverscmp.m4: New file.
87437
87438         Module stdbool.
87439         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
87440         OSF/1.
87441
87442         Module strtoll.
87443         * m4/strtoll.m4: New file.
87444
87445         Module strtoull.
87446         * m4/strtoull.m4: New file.
87447
87448         Module strtoimax.
87449         * m4/strtoimax.m4: New file.
87450
87451         Module strtoumax.
87452         * m4/strtoumax.m4: New file.
87453
87454         Module xstrtoimax.
87455         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
87456         jm_AC_PREREQ_XSTRTOIMAX.
87457         Moved the strtol prerequisites to strtol.m4.
87458         Moved the strtoll prerequisites to strtoll.m4.
87459         Moved the strtoimax prerequisites to strtoimax.m4.
87460
87461         Module xstrtoumax.
87462         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
87463         jm_AC_PREREQ_XSTRTOUMAX.
87464         Moved the strtoul prerequisites to strtoul.m4.
87465         Moved the strtoull prerequisites to strtoull.m4.
87466         Moved the strtoumax prerequisites to strtoumax.m4.
87467
87468         Module chown.
87469         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
87470         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
87471
87472         Module dup2.
87473         * m4/dup2.m4: New file.
87474
87475         Module ftruncate.
87476         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
87477         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
87478
87479         Module getgroups.
87480         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
87481         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
87482
87483         Module gettimeofday.
87484         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
87485         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
87486         gl_PREREQ_GETTIMEOFDAY.
87487
87488         Module mkdir.
87489         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
87490         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
87491
87492         Module mkstemp.
87493         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
87494         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
87495         jm_AC_TYPE_UINTMAX_T.
87496         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
87497
87498         Module stat.
87499         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
87500         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
87501
87502         Module lstat.
87503         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
87504         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
87505
87506         Module timespec.
87507         * m4/timespec.m4 (gl_TIMESPEC): New macro.
87508         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
87509         * m4/st_mtim.m4: Indentation.
87510
87511         Module nanosleep.
87512         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
87513         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
87514         gl_PREREQ_NANOSLEEP.
87515
87516         Module regex.
87517         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
87518         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
87519         (gl_REGEX): New macro.
87520
87521         Module rename.
87522         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
87523         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
87524
87525         Module rmdir.
87526         * m4/rmdir.m4: New file.
87527
87528         Module utime.
87529         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
87530         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
87531         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
87532
87533         Module dirname.
87534         * m4/dirname.m4: New file.
87535
87536         Module getopt.
87537         * m4/getopt.m4: New file.
87538
87539         Module unistd-safer.
87540         * m4/unistd-safer.m4: New file.
87541
87542         Module fnmatch.
87543         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
87544         declaration.
87545         (gl_PREREQ_FNMATCH_EXTRA): New macro.
87546         (gl_FUNC_FNMATCH_POSIX): New macro.
87547         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
87548         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
87549         simply fnmatch.
87550
87551         Module exclude.
87552         * m4/exclude.m4: New file.
87553
87554         Module human.
87555         * m4/human.m4: New file.
87556
87557         Module acl.
87558         * m4/acl.m4: Nop.
87559
87560         Module backupfile.
87561         * m4/backupfile.m4: New file.
87562         * m4/d-ino.m4: Indentation.
87563
87564         Module fsusage.
87565         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
87566         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
87567         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
87568
87569         Module dirfd.
87570         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
87571         requirements.
87572
87573         Module euidaccess.
87574         * m4/euidaccess.m4: New file.
87575
87576         Module file-type.
87577         * m4/file-type.m4: New file.
87578
87579         Module fileblocks.
87580         * m4/fileblocks.m4: New file.
87581
87582         Module filemode.
87583         * m4/filemode.m4: New file.
87584
87585         Module isdir.
87586         * m4/isdir.m4: New file.
87587
87588         Module lchown.
87589         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
87590         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
87591
87592         Module makepath.
87593         * m4/makepath.m4: New file.
87594
87595         Module modechange.
87596         * m4/modechange.m4: New file.
87597
87598         Module mountlist.
87599         * m4/mountlist.m4: New file.
87600         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
87601         Indentation.
87602
87603         Module path-concat.
87604         * m4/path-concat.m4: New file.
87605
87606         Module pathmax.
87607         * m4/pathmax.m4: New file.
87608
87609         Module same.
87610         * m4/same.m4: New file.
87611
87612         Module save-cwd.
87613         * m4/save-cwd.m4: New file.
87614
87615         Module savedir.
87616         * m4/savedir.m4: New file.
87617
87618         Module xgetcwd.
87619         * m4/xgetcwd.m4: New file.
87620         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
87621
87622         Module xreadlink.
87623         * m4/xreadlink.m4: New file.
87624
87625         Module safe-read.
87626         * m4/safe-read.m4: New file.
87627
87628         Module safe-write.
87629         * m4/safe-write.m4: New file.
87630
87631         Module closeout.
87632         * m4/closeout.m4: New file.
87633
87634         Module stdio-safer.
87635         * m4/stdio-safer.m4: New file.
87636
87637         Module getpass.
87638         * m4/getpass.m4: New file.
87639
87640         Module getugroups.
87641         * m4/getugroups.m4: New file.
87642
87643         Module group-member.
87644         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
87645         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
87646
87647         Module idcache.
87648         * m4/idcache.m4: New file.
87649
87650         Module userspec.
87651         * m4/userspec.m4: New file.
87652
87653         Module gettime.
87654         * m4/clock_time.m4: New file.
87655         * m4/gettime.m4: New file.
87656
87657         Module settime.
87658         * m4/settime.m4: New file.
87659
87660         Module posixtm.
87661         * m4/posixtm.m4: New file.
87662
87663         Module gethostname.
87664         * m4/gethostname.m4: New file.
87665
87666         Module canon-host.
87667         * m4/canon-host.m4: New file.
87668
87669         Module gettext.
87670         * m4/codeset.m4: New file, from gettext-0.11.5.
87671         * m4/gettext.m4: New file, from gettext-0.11.5.
87672         * m4/glibc21.m4: New file, from gettext-0.11.5.
87673         * m4/iconv.m4: New file, from gettext-0.11.5.
87674         * m4/intdiv0.m4: New file, from gettext-0.11.5.
87675         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
87676         * m4/inttypes.m4: New file, from gettext-0.11.5.
87677         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
87678         * m4/isc-posix.m4: New file, from gettext-0.11.5.
87679         * m4/lcmessage.m4: New file, from gettext-0.11.5.
87680         * m4/lib-ld.m4: New file, from gettext-0.11.5.
87681         * m4/lib-link.m4: New file, from gettext-0.11.5.
87682         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
87683         * m4/progtest.m4: New file, from gettext-0.11.5.
87684         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
87685         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
87686         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
87687
87688         Module localcharset.
87689         * m4/localcharset.m4: New file.
87690
87691         Module hard-locale.
87692         * m4/hard-locale.m4: New file.
87693
87694         Module mbswidth.
87695         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
87696         onceonly macros.
87697         * m4/mbrtowc.m4: Add comment.
87698
87699         Module memcasecmp.
87700         * m4/memcasecmp.m4: New file.
87701
87702         Module memcoll.
87703         * m4/memcoll.m4: New file.
87704
87705         Module unicodeio.
87706         * m4/unicodeio.m4: New file.
87707
87708         Module rpmatch.
87709         * m4/rpmatch.m4: New file.
87710
87711         Module yesno.
87712         * m4/yesno.m4: New file.
87713
87714         Module exitfail.
87715         * m4/exitfail.m4: New file.
87716
87717         Module c-stack.
87718         * m4/c-stack.m4 (gl_C_STACK): New macro.
87719         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
87720
87721         Module error.
87722         * m4/error.m4 (gl_ERROR): New macro.
87723         (jm_PREREQ_ERROR): Use onceonly macros.
87724
87725         Module fatal.
87726         * m4/fatal.m4: New file.
87727
87728         Module getloadavg.
87729         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
87730         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
87731
87732         Module getpagesize.
87733         * m4/getpagesize.m4: New file.
87734
87735         Module getusershell.
87736         * m4/getusershell.m4: New file.
87737
87738         Module physmem.
87739         * m4/physmem.m4: New file.
87740
87741         Module posixver.
87742         * m4/posixver.m4: New file.
87743
87744         Module quotearg.
87745         * m4/quotearg.m4: New file.
87746
87747         Module quote.
87748         * m4/quote.m4: New file.
87749
87750         Module readutmp.
87751         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
87752
87753         Module sig2str.
87754         * m4/sig2str.m4: New file.
87755
87756         Other.
87757         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
87758         ulonglong.m4.
87759         * m4/intmax_t.m4: New file.
87760         * m4/d-type.m4: Indentation.
87761         * m4/jm-macros.m4: Update.
87762         * m4/prereq.m4 (jm_PREREQ): Update.
87763         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
87764         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
87765         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
87766         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
87767         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
87768         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
87769         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
87770         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
87771         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
87772         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
87773         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
87774         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
87775         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
87776         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
87777         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
87778         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
87779         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
87780         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
87781         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
87782
87783 2002-12-24  Bruno Haible  <bruno@clisp.org>
87784
87785         * MODULES.txt: Update according to m4/ changes.
87786
87787         Module gettext.
87788         * config.rpath: New file, from gettext-0.11.5.
87789
87790         * modules/*: New module descriptions.
87791         * gnulib-tool: New file.
87792         * MODULES.html.sh: New file.
87793
87794 2002-12-21  Karl Berry  <karl@gnu.org>
87795
87796         * doc/fdl.texi: update to version 1.2.
87797
87798 2002-12-19  Karl Berry  <karl@gnu.org>
87799
87800         * config/config.guess: update from prep.
87801
87802 2002-12-18  Bruno Haible  <bruno@clisp.org>
87803
87804         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
87805         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
87806
87807 2002-12-17  Bruno Haible  <bruno@clisp.org>
87808
87809         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
87810         stdlib.h, string.h.
87811
87812 2002-12-17  Bruno Haible  <bruno@clisp.org>
87813
87814         * lib/canon-host.c (strdup): Remove unused declaration.
87815
87816         * lib/fsusage.c: Include full_read.h.
87817         (get_fs_usage): Use full_read instead of safe_read.
87818
87819         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
87820
87821 2002-12-12  Karl Berry  <karl@gnu.org>
87822
87823         * config/config.guess: update from prep.
87824
87825 2002-12-11  Bruno Haible  <bruno@clisp.org>
87826
87827         * m4/setenv.m4: New file, from gettext-0.11.5.
87828
87829 2002-12-11  Bruno Haible  <bruno@clisp.org>
87830
87831         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
87832         not unsetenv().
87833         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
87834         modifications:
87835
87836         2002-12-11  Bruno Haible  <bruno@clisp.org>
87837
87838                 * setenv.c (alloca): Fall back to malloc.
87839                 (freea): New macro.
87840                 (setenv): Use freea() to free memory allocated with alloca().
87841
87842         2002-11-13  Bruno Haible  <bruno@clisp.org>
87843
87844                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
87845                 function declarations.
87846                 * unsetenv.c (unsetenv): Likewise.
87847
87848         2002-03-04  Bruno Haible  <bruno@clisp.org>
87849
87850                 Portability to AIX 4.3.3.
87851                 * unsetenv.c: New file, extracted from setenv.c.
87852                 * setenv.c: Move the unsetenv() function to unsetenv.c.
87853
87854         2001-12-20  Bruno Haible  <bruno@clisp.org>
87855
87856                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
87857                 use malloc instead. For SunOS 4.
87858
87859         2001-12-11  Bruno Haible  <bruno@clisp.org>
87860
87861                 * setenv.c: Declare alloca.
87862                 (compar_fn_t): New typedef.
87863                 (KNOWN_VALUE, STORE_VALUE): Use it.
87864
87865         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
87866         setenv.h.
87867
87868 2002-12-10  Paul Eggert  <eggert@twinsun.com>
87869
87870         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
87871         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
87872         Choose values that are less likely to collide with system fnmatch
87873         options.
87874         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
87875         defined (e.g., a pure POSIX system).
87876         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
87877         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
87878
87879 2002-12-06  Paul Eggert  <eggert@twinsun.com>
87880
87881         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
87882         a pain in practice to deal with generated m4 files.  This change
87883         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
87884
87885         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
87886         and jm-glibc-io.m4, as they are no longer a special case.
87887         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
87888         kludge and the auto-generation stuff.  Check only whether the
87889         functions are declared, not whether they exist, since older hosts
87890         that don't declare the functions can't use the optimization anyway.
87891
87892 2002-12-06  Jim Meyering  <jim@meyering.net>
87893
87894         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
87895
87896         Merge in changes from libc's misc/error.c, in preparation
87897         for the merge of gnulib's changes back into libc.
87898
87899         * lib/error.c (_): Define only if not already defined.
87900         Move definition to follow all #include directives.
87901         Include unlocked-io.h only if !_LIBC.
87902         [_LIBC]: Include <libio/libioP.h>.
87903         [USE_IN_LIBIO]: Include <libio/iolibio.h>
87904         (fflush): Tweak definition to use INTUSE.
87905         (putc): Define.
87906
87907 2002-12-05  Paul Eggert  <eggert@twinsun.com>
87908
87909         * lib/alloca.c [defined emacs]: Include "lisp.h".
87910         (xalloc_die) [defined emacs]: New macro.
87911         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
87912         [! defined emacs]: Include <xalloc.h>.
87913         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
87914         (pointer): Typedef to POINTER_TYPE *.
87915         (malloc): Remove decl; we now always use xmalloc.
87916         (alloca): Use old-style definition, since Emacs needs this.
87917         Check for arithmetic overflow when computing combined size.
87918
87919 2002-12-04  Paul Eggert  <eggert@twinsun.com>
87920
87921         Do not generate unlocked-io.h automatically, since it's easier to
87922         maintain it by hand.
87923
87924         * lib/unlocked-io.h: New file, from GNU diffutils,
87925         but with proper copyright notice and attribution.
87926         * lib/gen-uio: Remove.
87927         * lib/Makefile.am: Add copyright notice.
87928         (libfetish_a_SOURCES): Add unlocked-io.h.
87929         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
87930         (DISTCLEANFILES, io_functions): Remove macros.
87931         (EXTRA_DIST): Remove gen_uio.
87932         (unlocked-io.h): Remove rule.
87933
87934 2002-12-04  Jim Meyering  <jim@meyering.net>
87935
87936         Reflect the fact that stat.c and lstat.c are no longer generated.
87937         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
87938         (DISTCLEANFILES): Likewise.
87939         (EXTRA_DIST): Likewise.
87940         (all_local): Don't depend on stat.c or lstat.c.
87941         (stat.c, lstat.c): Remove rules.
87942         (EXTRA_DIST): Remove xstat.in.
87943
87944         * lib/xstat.in: Remove file.  Contents moved into stat.c.
87945         * lib/stat.c: New file.  Contents mostly from xstat.in.
87946         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
87947         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
87948
87949         * lib/safe-read.c: Rework so that it may serve to define safe_write,
87950         too.
87951         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
87952
87953 2002-12-03  Jim Meyering  <jim@meyering.net>
87954
87955         * lib/safe-read.c, safe-write.c: Change variable names and comments,
87956         but not semantics, to minimize the differences between these two files.
87957         (safe_read): Change comment to mention SAFE_READ_ERROR.
87958
87959         * lib/safe-read.c (IS_EINTR): Define.
87960         (safe_read): Use IS_EINTR in place of in-function cpp directives.
87961
87962 2002-12-02  Jim Meyering  <jim@meyering.net>
87963
87964         * lib/safe-read.c (EINTR): Define.
87965         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87966         (INT_MAX): Provide fallback.
87967         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
87968
87969         * lib/safe-read.h (SAFE_READ_ERROR): Define.
87970
87971 2002-12-02  Bruno Haible  <bruno@clisp.org>
87972
87973         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
87974         Define, taken from safe-read.c.
87975         (INT_MAX): Provide fallback.
87976         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
87977         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
87978
87979         * lib/safe-read.c (EINTR): Remove definition.
87980         (safe_read): Don't use EINTR if it is absent.
87981
87982 2002-12-01  Jim Meyering  <jim@meyering.net>
87983
87984         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
87985         zero.
87986         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
87987
87988 2002-11-27  Paul Eggert  <eggert@twinsun.com>
87989
87990         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
87991         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
87992         with `if (! (value < limit)) abort ();', for readability.
87993
87994 2002-11-26  Karl Berry  <karl@gnu.org>
87995
87996         * lib/strdup.c: copy from libc again, with jim's ok.
87997         * lib/.cppi-disable: re-add strdup.c
87998
87999 2002-11-25  Karl Berry  <karl@gnu.org>
88000
88001         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
88002         instead of "strtol.c".
88003
88004 2002-11-25  Karl Berry  <karl@gnu.org>
88005
88006         * config/install-sh: update from automake for variable quoting, $0 in
88007         error msgs, etc.
88008
88009         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
88010         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
88011         entry.
88012
88013 2002-11-25  Jim Meyering  <jim@meyering.net>
88014
88015         * lib/mktime.c: Sync from libc, now that it has the latest fix.
88016
88017 2002-11-24  Karl Berry  <karl@gnu.org>
88018
88019         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
88020         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
88021
88022 2002-11-24  Jim Meyering  <jim@meyering.net>
88023
88024         Update from coreutils:
88025
88026         * lib/mktime.c: Merge in changes from libc.
88027
88028         Avoid a link-time failure on some Linux systems.
88029         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
88030         (otherwise).
88031         (__mon_yday): Declare with the STATIC attribute.
88032         (__mktime_internal): Likewise.
88033         Based on a report from Greg Schafer.
88034
88035 2002-11-23  Jim Meyering  <jim@meyering.net>
88036
88037         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
88038         Use `unsigned', not `int', as type of index.
88039
88040         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
88041
88042         * lib/fsusage.c: Remove unneeded parentheses around operands of
88043         `defined'.
88044
88045 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88046
88047         * lib/quotearg.h: Allow multiple inclusion by surrounding with
88048         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
88049         so that we can be included first.
88050         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
88051         * lib/quotearg.c: Include quotearg.h immediately after config.h.
88052         No need to include stddef.h or sys/types.h any more.
88053         Surround local include files with "", not "<>".
88054         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
88055         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
88056         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
88057         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
88058         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
88059         (ISPRINT): Remove; no longer needed now that we assume C89.
88060
88061         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
88062         Preserve errno.
88063
88064         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
88065         quotearg_char): Use SIZE_MAX rather than
88066         (size_t) -1 when we are talking about "infinity".
88067
88068         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
88069
88070 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88071
88072         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
88073         hint that one should use `if (! x) abort ();' rather than `assert
88074         (x);', and anyway it's one less thing to worry about configuring.
88075         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
88076         hash_rehash, hash_insert): Use abort rather than assert.
88077
88078 2002-11-22  Bruno Haible  <bruno@clisp.org>
88079
88080         * lib/safe-read.h: Assume C89. Add comments.
88081         (safe_read): Change return type to size_t.
88082         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
88083         byte counts > SSIZE_MAX correctly.
88084         * lib/safe-write.h: New file.
88085         * lib/safe-write.c: New file.
88086         * lib/full-read.h: New file.
88087         * lib/full-read.c: New file.
88088         * lib/full-write.h: Assume C89. Add comments.
88089         * lib/full-write.c: Include safe-write.h.
88090         (full_write): Rewritten to use safe_write.
88091         Suggested by Jim Meyering and Paul Eggert.
88092
88093 2002-11-21  Jim Meyering  <jim@meyering.net>
88094
88095         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
88096
88097         Merge in changes from the coreutils.
88098
88099         2002-09-25  Paul Eggert  <eggert@twinsun.com>
88100         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
88101         <stdint.h>.
88102         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
88103         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
88104         int.  Work more efficiently if X is the same width as uintmax_t.
88105         Do not compare X to -1, to avoid bogus compiler warning.
88106         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
88107         Don't assume that f_frsize and f_bsize are the same type.
88108
88109         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
88110         warning on FreeBSD.
88111
88112         * lib/makepath.c (make_path): Restore umask *before* creating the final
88113         component.
88114         (make_path): Minor reformatting.
88115
88116         * lib/xmalloc.c: Adjust to work with new autoconf macros,
88117         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
88118         HAVE_MALLOC/HAVE_REALLOC.
88119
88120         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
88121         dummy ones.  At least on GNU/Linux systems, `auto' means something
88122         else.
88123         From Michael Stone.
88124
88125 2002-11-21  Bruno Haible  <bruno@clisp.org>
88126
88127         Remove case insensitive option matching.
88128         * lib/argmatch.h (argcasematch): Remove declaration.
88129         (ARGCASEMATCH): Remove macro.
88130         (__xargmatch_internal): Remove case_sensitive argument.
88131         (XARGMATCH): Update.
88132         (XARGCASEMATCH): Remove macro.
88133         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
88134         case_sensitive argument.
88135         (argcasematch): Remove function.
88136         (__xargmatch_internal): Remove case_sensitive argument.
88137         (main): Use XARGMATCH instead of XARGCASEMATCH.
88138
88139         * lib/xmalloc.c: Change compile-time error message. Add comment about
88140         required autoconf version.
88141
88142 2002-11-20  Paul Eggert  <eggert@twinsun.com>
88143
88144         Merge argmatch cleanups from Bison.  Assume C89.
88145
88146         * lib/argmatch.c: Include config.h here, not in argmatch.h.
88147         Include stdlib.h, for EXIT_FAILURE.
88148         Always include <string.h>, since we assume C89.
88149         (EXIT_FAILURE): Remove pre-C89 bug workaround.
88150         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
88151         Include <stddef.h> instead, since it's all we need for size_t.
88152         (PARAMS): Remove.  All uses removed.
88153         (ARRAY_CARDINALITY): Do not bother to #undef.
88154         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
88155         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88156         Remove unnecessary parentheses.
88157         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88158         Insert necessary parentheses.
88159         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
88160         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
88161
88162 2002-11-19  Bruno Haible  <bruno@clisp.org>
88163
88164         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
88165         * lib/mbswidth.h: Include <stddef.h>, for size_t.
88166
88167         * lib/mbswidth.h (PARAMS): Remove macro.
88168         (mbswidth, mbsnwidth): Use ANSI C function declarations.
88169         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
88170
88171         * lib/gcd.h (PARAMS): Remove macro.
88172         (gcd): Use ANSI C function declarations.
88173         * lib/gcd.c (gcd): Likewise.
88174
88175 2002-11-15  Bruno Haible  <bruno@clisp.org>
88176
88177         * lib/strcspn.c: Include <stddef.h>.
88178         (strcspn): Use ANSI C function declaration. Change return type to
88179         size_t. Use NULL.
88180         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
88181         (strpbrk): Use NULL.
88182         * lib/strpbrk.h (PARAMS): Remove macro.
88183         (strpbrk): Use ANSI C function declaration.
88184         * lib/strstr.c: Don't include <sys/types.h>.
88185         * lib/strstr.h (PARAMS): Remove macro.
88186         (strstr): Use ANSI C function declarations.
88187
88188 2002-11-14  Karl Berry  <karl@gnu.org>
88189
88190         * config/mkinstalldirs: `do' on separate line, instead of
88191         `for var; do'.
88192
88193 2002-11-06  Bruno Haible  <bruno@clisp.org>
88194
88195         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
88196         * lib/gcd.c (gcd): Likewise.
88197
88198 2002-11-05  Bruno Haible  <bruno@clisp.org>
88199
88200         * lib/gcd.h: New file, from gettext-0.11.5.
88201         * lib/gcd.c: New file, from gettext-0.11.5.
88202
88203 2002-11-05  Bruno Haible  <bruno@clisp.org>
88204
88205         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88206         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88207         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88208         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88209
88210         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
88211         <libintl.h>.
88212         * lib/makepath.c: Include gettext.h instead of <locale.h> and
88213         <libintl.h>.
88214
88215         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
88216         * lib/human.c: Include gettext.h instead of <libintl.h>.
88217         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
88218         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
88219         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
88220         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
88221         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
88222         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
88223         (textdomain): Remove definition.
88224         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
88225
88226         * lib/long-options.c: Remove include of <libintl.h> and definition of
88227         _.
88228         * lib/same.c: Remove include of <libintl.h> and definition of _.
88229
88230 2002-11-04  Owen Taylor  <otaylor@redhat.com>
88231
88232         * lib/config.charset: A few additions for Solaris.
88233
88234 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88235
88236         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
88237         * lib/localcharset.c (locale_charset): Declare as extern "C".
88238
88239 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88240
88241         * lib/config.charset: msdos in uk_UA uses CP1125.
88242
88243 2002-11-04  Bruno Haible  <bruno@clisp.org>
88244
88245         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
88246         * lib/strcase.h: New file, from GNU gettext-0.11.5.
88247         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
88248         * lib/strstr.h: New file, from GNU gettext-0.11.5.
88249         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
88250
88251 2002-11-04  Bruno Haible  <bruno@clisp.org>
88252
88253         * lib/localcharset.c (locale_charset): Don't return an empty string.
88254
88255 2002-11-04  Bruno Haible  <bruno@clisp.org>
88256
88257         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
88258         aliases.
88259
88260 2002-11-04  Bruno Haible  <bruno@clisp.org>
88261
88262         * lib/config.charset: Update for newest glibc. Add canonical names
88263         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
88264
88265 2002-11-04  Bruno Haible  <bruno@clisp.org>
88266
88267         * lib/config.charset: Add support for NetBSD.
88268
88269 2002-11-04  Bruno Haible  <bruno@clisp.org>
88270
88271         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
88272
88273 2002-11-01  Bruno Haible  <bruno@clisp.org>
88274
88275         * configure.in: Add AC_CONFIG_AUX_DIR call.
88276         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
88277         test/Makefile.
88278         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
88279
88280 2002-09-28  Karl Berry  <karl@gnu.org>
88281
88282         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
88283         installed automake until the next release, since changes have been
88284         made.
88285
88286 2002-09-25  Karl Berry  <karl@gnu.org>
88287
88288         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
88289         * lib/getopt*: copy from libc/posix.
88290         * lib/gettext.h: copy from gettext.
88291         * lib/.cppi-disable: add strdup.c, gettext.h.
88292
88293 2002-09-25  Karl Berry  <karl@gnu.org>
88294
88295         * config/srclist.txt: enable gettext.h check.
88296         * config/config.{guess,sub}: update from prep.
88297         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
88298                 from automake 1.6.3.
88299         See srclist*.
88300
88301 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
88302
88303         * regex.c (PATFETCH): Remove the translating fetch.
88304         (PATFETCH_RAW): Rename to PATFETCH.
88305         (set_image_of_range): New fun.
88306         (SET_RANGE_TABLE_WORK_AREA): Use it.
88307         (regex_compile): Don't translate the pattern chars so eagerly.
88308         Only do it when inserting an `exactn' bytecode or when handling
88309         a char-range.
88310         (mutually_exclusive_p): Avoid empty statement.
88311
88312 2002-07-06  Jim Meyering  <meyering@lucent.com>
88313
88314         * m4/README: Don't mention Makefile.am.in.
88315         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
88316
88317 2002-07-01  Jim Meyering  <meyering@lucent.com>
88318
88319         * lib/c-stack.c: Include sys/time.h.
88320         From Volker Borchert.
88321
88322 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88323
88324         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
88325
88326 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88327
88328         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
88329         New macro.  Use it uniformly instead of
88330         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
88331         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
88332         reported by Vin Shelton.
88333
88334 2002-06-22  Paul Eggert  <eggert@twinsun.com>
88335
88336         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
88337         Do not assume SA_SIGINFO behavior.
88338         Bug reported by Jim Meyering on NetBSD 1.5.2.
88339
88340 2002-06-22  Jim Meyering  <meyering@lucent.com>
88341
88342         * m4/c-stack.m4: New file, from diffutils-2.8.2.
88343         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
88344
88345         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
88346         now that configure.ac uses AC_GNU_SOURCE.
88347         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
88348         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
88349
88350         Update to latest tools.  Suggestions from Paul Eggert.
88351         * m4/stdbool.m4: New file, from diffutils-2.8.2.
88352         * m4/gnu-source.m4: Update from diffutils-2.8.2.
88353         * m4/fnmatch.m4: Likewise.
88354         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
88355         to AC_HEADER_STDBOOL
88356
88357 2002-06-22  Jim Meyering  <meyering@lucent.com>
88358
88359         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
88360         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
88361
88362 2002-06-22  Jim Meyering  <meyering@lucent.com>
88363
88364         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
88365
88366         * lib/exitfail.c, exitfail.h: Likewise.
88367         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
88368
88369         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
88370         of fnmatch.h.
88371         (EXTRA_DIST): Add fnmatch_loop.c.
88372         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
88373
88374         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
88375         * lib/fnmatch.c: Update from diffutils-2.8.2.
88376         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
88377         * lib/fnmatch.h: Remove file.
88378
88379 2002-06-21  Jim Meyering  <meyering@lucent.com>
88380
88381         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
88382         * m4/mbrtowc.m4: Likewise.
88383
88384         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
88385         * m4/mbswidth.m4: Reflect name change:
88386         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
88387         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
88388
88389         * m4/lib-link.m4: Update from gettext-0.11.2.
88390         * m4/gettext.m4: Likewise.
88391
88392         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
88393         From Alfred M. Szmidt.
88394
88395 2002-06-18  Paul Eggert  <eggert@twinsun.com>
88396
88397         * lib/file-type.h: Report an error if neither S_ISREG nor
88398         S_IFREG is defined, instead of using a test specific to glibc
88399         2.2.  This should be safe, since POSIX requires S_ISREG and
88400         Unix Version 7 had S_IFREG.  We don't need to check for
88401         <sys/types.h> since we don't use any symbols that it defines.
88402
88403 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
88404
88405         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
88406         $@-t, so that each temporary file name is unique and valid in the first
88407         8 characters, for operation under DOS.
88408
88409 2002-06-15  Paul Eggert  <eggert@twinsun.com>
88410
88411         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
88412
88413 2002-06-15  Jim Meyering  <meyering@lucent.com>
88414
88415         Work even with DJGPP 2.03, which lacks support for symlinks.
88416         From Richard Dawe.
88417         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
88418         is defined.
88419         * lib/lchown.c (S_ISLNK): Likewise.
88420
88421 2002-06-15  Jim Meyering  <meyering@lucent.com>
88422
88423         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
88424         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
88425         have been included before this file.
88426
88427 2002-06-14  Jim Meyering  <meyering@lucent.com>
88428
88429         * lib/file-type.h: Use the version from diffutils-2.8.2.
88430         * lib/file-type.c: Likewise.
88431
88432 2002-06-07  Jim Meyering  <meyering@lucent.com>
88433
88434         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
88435         They're needed at least for NetBSD 1.5.2.
88436         ($statxfs_includes): Include those same headers.
88437         ($statxfs_includes): Include sys/vfs.h if available.
88438         ($statxfs_includes): Likewise for sys/statvfs.h.
88439         Check for the following members in both structs statfs and statvfs:
88440         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
88441
88442 2002-06-01  Jim Meyering  <meyering@lucent.com>
88443
88444         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
88445         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
88446
88447 2002-05-28  Jim Meyering  <meyering@lucent.com>
88448
88449         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
88450         Reported by Volker Borchert.
88451
88452 2002-05-27  Jim Meyering  <meyering@lucent.com>
88453
88454         Fix a problem seen only on nonconforming systems whereby ls.c's
88455         use of localtime, and then of gettimeofday would cause trouble:
88456         the localtime call used to initialize rpl_gettimeofday's save
88457         mechanism would clobber ls's current local time information so
88458         that in any long listing the first file would always be listed
88459         with date 1970-01-01.  Analysis by Volker Borchert.
88460
88461         * lib/gettimeofday.c (localtime): Undefine.
88462         (rpl_localtime): New function.
88463
88464 2002-05-27  Jim Meyering  <meyering@lucent.com>
88465
88466         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
88467         localtime.
88468
88469         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
88470         use the replacement function; it wouldn't resolve at link time.
88471         Reported by Volker Borchert.
88472
88473 2002-05-22  Jim Meyering  <meyering@lucent.com>
88474
88475         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
88476         file-type.h.
88477         * lib/file-type.h: New file.
88478         * lib/file-type.c (file_type): New file/function.  Extracted from
88479         diffutils.
88480
88481 2002-04-30  Jim Meyering  <meyering@lucent.com>
88482
88483         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
88484
88485 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88486
88487         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
88488
88489 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88490
88491         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
88492         Do not check for alloca.h (no longer used) or stdbool.h (was never
88493         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
88494
88495 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88496
88497         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
88498
88499 2002-04-29  Jim Meyering  <meyering@lucent.com>
88500
88501         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
88502         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
88503         Use AC_FUNC_STRNLEN here instead.
88504
88505         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
88506         With autoconf-2.53a, it's part of AC_PROG_CC.
88507
88508 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88509
88510         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
88511         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
88512
88513 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88514
88515         * lib/sig2str.h, lib/sig2str.c: New files.
88516         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
88517
88518 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88519
88520         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
88521         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
88522         of 127, since 64 is the largest conceivable number for ancient
88523         nonstandard hosts.
88524         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
88525
88526 2002-04-28  Jim Meyering  <meyering@lucent.com>
88527
88528         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
88529
88530 2002-04-24  Jim Meyering  <meyering@lucent.com>
88531
88532         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
88533         (jm_PREREQ): Use it.
88534
88535         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
88536         mach/mach.h fcntl.h.
88537         Check for this function: setlocale.
88538
88539 2002-04-24  Jim Meyering  <meyering@lucent.com>
88540
88541         * lib/gettext.h: New file, from Gettext.
88542         * lib/Makefile.am (INCLUDES): Remove -I../intl.
88543         (libfetish_a_SOURCES): Add gettext.h.
88544
88545 2002-04-16  Jim Meyering  <meyering@lucent.com>
88546
88547         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
88548         ut_pid, ut_id, ut_exit.
88549
88550 2002-04-16  Jim Meyering  <meyering@lucent.com>
88551
88552         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
88553         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
88554         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
88555
88556 2002-04-12  Jim Meyering  <meyering@lucent.com>
88557
88558         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
88559         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
88560         existence of the getmntinfo function.  Needed for Darwin 5.3.
88561
88562         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
88563         This is necessary at least on Darwin 5.3.
88564
88565         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
88566         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
88567         strnlen.o in the library, and that makes some versions of ranlib
88568         object.
88569
88570 2002-04-12  Jim Meyering  <meyering@lucent.com>
88571
88572         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
88573
88574 2002-04-09  Jim Meyering  <meyering@lucent.com>
88575
88576         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
88577         to be more precise.  Rather than saying we're checking whether the
88578         function `works', say what we're testing.
88579         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
88580         Reported by Bruno Haible.
88581
88582 2002-03-10  Jim Meyering  <meyering@lucent.com>
88583
88584         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
88585         Suggestion from Santiago Vila.
88586
88587 2002-03-08  Jim Meyering  <meyering@lucent.com>
88588
88589         * lib/rename.c: Mention that this wrapper is needed also on
88590         mips-dec-ultrix4.4 systems.
88591
88592 2002-03-02  Jim Meyering  <meyering@lucent.com>
88593
88594         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
88595         not HAVE_CLOCK_SETTIME.
88596
88597 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88598
88599         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
88600         Check for clock_settime.
88601
88602 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88603
88604         * lib/nanosleep.h: Rename to....
88605         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
88606
88607         * lib/gettime.c: New file.
88608         * lib/settime.c: New file.
88609         * lib/stime.c: Remove.
88610
88611         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
88612         timespec.h.  Remove nanosleep.h.
88613
88614 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88615
88616         * m4/acl.m4: New file.
88617         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
88618         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
88619
88620 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88621
88622         * lib/acl.c, lib/acl.h: New files.
88623         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
88624
88625 2002-02-24  Jim Meyering  <meyering@lucent.com>
88626
88627         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
88628         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
88629         cause trouble.  Reported by Nelson Beebe.
88630
88631 2002-02-23  Paul Eggert  <eggert@twinsun.com>
88632
88633         * lib/path-concat.c (xpath_concat): Reorder code to pacify
88634         compilers that don't know that xalloc_die never returns.
88635
88636 2002-02-20  Jim Meyering  <meyering@lucent.com>
88637
88638         * lib/getdate.c: Regenerate using bison-1.33.
88639
88640 2002-02-17  Jim Meyering  <meyering@lucent.com>
88641
88642         * config/config.guess (main): Don't use `head -1'; it's no longer
88643         portable. Use `sed 1q' instead.
88644
88645 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
88646
88647         * m4/codeset.m4: Upgrade to gettext-0.11.
88648         * m4/gettext.m4: Upgrade to gettext-0.11.
88649         * m4/glibc21.m4: Upgrade to gettext-0.11.
88650         * m4/iconv.m4: Upgrade to gettext-0.11.
88651         * m4/isc-posix.m4: Upgrade to gettext-0.11.
88652         * m4/lcmessage.m4: Upgrade to gettext-0.11.
88653         * m4/lib-ld.m4: New file, from gettext-0.11.
88654         * m4/lib-link.m4: New file, from gettext-0.11.
88655         * m4/lib-prefix.m4: New file, from gettext-0.11.
88656         * m4/progtest.m4: Upgrade to gettext-0.11.
88657
88658 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88659
88660         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
88661         (jm_PREREQ): Use it.
88662
88663 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88664
88665         * lib/posixver.c, lib/posixver.h: New files.
88666         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88667
88668 2002-02-02  Paul Eggert  <eggert@twinsun.com>
88669             Bruno Haible  <bruno@clisp.org>
88670
88671         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
88672         (fwrite_success_callback): New declaration.
88673         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
88674         print_unicode_char. Call failure callback instead of error.
88675         (fwrite_success_callback): New function.
88676         (exit_failure_callback): New function.
88677         (fallback_failure_callback): New function.
88678         (print_unicode_char): Call unicode_to_mb.
88679
88680 2002-01-26  Jim Meyering  <meyering@lucent.com>
88681
88682         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
88683         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
88684
88685 2002-01-26  Jim Meyering  <meyering@lucent.com>
88686
88687         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
88688
88689 2002-01-22  Paul Eggert  <eggert@twinsun.com>
88690
88691         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
88692
88693 2002-01-22  Jim Meyering  <meyering@lucent.com>
88694
88695         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
88696         Otherwise, some versions of automake would omit the rule that makes
88697         Makefile from Makefile.in.
88698
88699 2002-01-21  Paul Eggert  <eggert@twinsun.com>
88700
88701         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
88702         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88703         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
88704         (memcoll): Set errno to zero if there is no error.
88705
88706         * lib/quotearg.c (quotearg_buffer_restyled):
88707         Fix bug with quoting buffers containing NUL when backslashing escapes.
88708         This bug was exposed by the other changes in this patch.
88709         (quotearg_n_options): New arg ARGSIZE.
88710         All callers changed.
88711         (quoting_options_from_style): New function.
88712         (quotearg_n_style): Use it.
88713         (quotearg_n_style_mem): New function.
88714
88715         * lib/quotearg.h (quotearg_n_style_mem): New function.
88716
88717 2002-01-19  Jim Meyering  <meyering@lucent.com>
88718
88719         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
88720         Remove useless quotes: DF_PROG="df".
88721         * m4/strnlen.m4: New file.
88722
88723 2002-01-16  Paul Eggert  <eggert@twinsun.com>
88724
88725         * lib/backupfile.c (ISDIGIT): Comment fix.
88726         * lib/getdate.y (ISDIGIT): Likewise.
88727         * lib/posixtm.c (ISDIGIT, year): Likewise.
88728         * lib/strverscmp.c (ISDIGIT): Likewise.
88729         * lib/userspec.c (ISDIGIT): Likewise.
88730
88731 2002-01-16  Jim Meyering  <meyering@lucent.com>
88732
88733         * lib/getdate.y: Add three semicolons, each just before a closing
88734         brace. Bison (as of version 1.31) no longer papers over that mistake.
88735
88736 2002-01-05  Jim Meyering  <meyering@lucent.com>
88737
88738         * lib/version-etc.c (version_etc_copyright): Update copyright year.
88739
88740 2001-12-19  Paul Eggert  <eggert@twinsun.com>
88741
88742         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
88743         not silently exit merely because the output buffer happens to
88744         have nothing pending.
88745
88746 2001-12-18  Paul Eggert  <eggert@twinsun.com>
88747
88748         See the big note in ../ChangeLog.
88749         * lib/human.c (suffixes): Prefer K to k for 1024.
88750         (generate_suffix_backwards): New function.
88751         (human_readable_inexact): Use it.
88752         * lib/xstrtol.c (__xstrtol): If there is no number but there
88753         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
88754         Accept 'K' as well as 'k'.
88755
88756 2001-12-15  Jim Meyering  <meyering@lucent.com>
88757
88758         * lib/regex.h (__restrict_arr): Update from libc.
88759
88760         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
88761         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
88762         (STREQ): Define.
88763
88764 2001-12-14  Jim Meyering  <meyering@lucent.com>
88765
88766         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
88767         Suggestion from Bruno Haible.
88768
88769 2001-12-10  Jim Meyering  <meyering@lucent.com>
88770
88771         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
88772         xrealloc, Instead, include "xalloc.h".
88773         (initbuffer): Don't cast xmalloc return value to char*.
88774         (readline): Reword comment.
88775         Don't cast xrealloc return value to char*
88776         Return NULL, not 0.
88777
88778 2001-12-09  Jim Meyering  <meyering@lucent.com>
88779
88780         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
88781         about `signed and unsigned type in conditional expression'.
88782         * lib/posixtm.c (posix_time_parse): Likewise.
88783
88784         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
88785
88786         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
88787         to avoid a pedantic warning.
88788
88789         * lib/getstr.c: Don't include assert.h.
88790         (getstr): Remove warning-evoking assertions.
88791         Return -1 if offset parameter is out of bounds.
88792         Change the type of a local from int to size_t.
88793
88794         * lib/strftime.c (my_strftime_localtime_r): Include this function
88795         definition in the `#if ! HAVE_TM_GMTOFF' block.
88796
88797         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
88798         Include xalloc.h instead.
88799
88800 2001-12-02  Jim Meyering  <meyering@lucent.com>
88801
88802         * lib/tempname.c: Don't declare getenv, thus reverting the change of
88803         2001-11-18.  It's no longer necessary, now that stdlib.h is always
88804         included.
88805
88806         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
88807         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
88808
88809 2001-11-30  Akim Demaille  <akim@epita.fr>
88810
88811         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
88812         before being defined.
88813
88814 2001-11-27  Paul Eggert  <eggert@twinsun.com>
88815
88816         * lib/quotearg.h (quotearg_n, quotearg_n_style):
88817         First arg is int, not unsigned.
88818         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
88819         (SIZE_MAX, UINT_MAX): New macros.
88820         (quotearg_n_options): Abort if N is negative.
88821         Avoid overflow check on hosts where size_t is 64 bits and int
88822         is 32 bits, as overflow is impossible there.
88823         Fix off-by-one typo that caused unnecessary reallocation.
88824
88825 2001-11-27  Jim Meyering  <meyering@lucent.com>
88826
88827         * lib/tempname.c: Merge with version from libc.
88828         * lib/regex.c: Likewise.
88829
88830         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
88831         systems for which STDC_HEADERS is 0, it was not included, resulting in
88832         a warning about an integer-to-pointer conversion problem with getenv.
88833         Reported by Volker Borchert.
88834
88835 2001-11-26  Jim Meyering  <meyering@lucent.com>
88836
88837         * lib/gtod.h: Remove file.
88838         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
88839         * lib/gettimeofday.c: Don't include gtod.h.
88840         (GTOD_init): Remove function.
88841         (rpl_gettimeofday): Do its job here instead, rather than aborting.
88842         Suggestion from Volker Borchert.
88843
88844 2001-11-23  Jim Meyering  <meyering@lucent.com>
88845
88846         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
88847         it.
88848         * lib/hash.c (struct hash_table): Define it here instead.
88849
88850 2001-11-22  Jim Meyering  <meyering@lucent.com>
88851
88852         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
88853
88854 2001-11-20  Jim Meyering  <meyering@lucent.com>
88855
88856         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
88857         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
88858
88859 2001-11-19  Jim Meyering  <meyering@lucent.com>
88860
88861         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
88862         directory.  Use "conftestXXXXXX" as the template.
88863         Suggestion from Paul Eggert.
88864
88865         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
88866         immediately, so the test doesn't mistakenly hit the max-open-files
88867         limit.
88868
88869 2001-11-18  Paul Eggert  <eggert@twinsun.com>
88870
88871         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
88872         (TEMPORARIES): New macro.
88873         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
88874         removes an artificial limitation (e.g. HP-UX 10.20, where
88875         TMP_MAX is 17576).
88876
88877 2001-11-18  Jim Meyering  <meyering@lucent.com>
88878
88879         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
88880
88881 2001-11-18  Jim Meyering  <meyering@lucent.com>
88882
88883         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
88884         on SunOS 4.
88885
88886         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
88887         files will be created before anything else.
88888
88889 2001-11-17  Paul Eggert  <eggert@twinsun.com>
88890
88891         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
88892         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
88893
88894 2001-11-17  Jim Meyering  <meyering@lucent.com>
88895
88896         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
88897         Prompted by a report from Bob Proulx.
88898
88899         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
88900         Instead, require UTILS_FUNC_MKSTEMP.
88901
88902 2001-11-17  Jim Meyering  <meyering@lucent.com>
88903
88904         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
88905         Now, that's done as part of AC_FUNC_STRTOD.
88906
88907 2001-11-17  Jim Meyering  <meyering@lucent.com>
88908
88909         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
88910         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
88911         rather than group writable.  Patch by Juan F. Codagnone.
88912
88913         * lib/readtokens.c: Remove explicit declarations of xmalloc and
88914         xrealloc, Instead, include "xalloc.h".
88915
88916         * lib/mountlist.c: Include unlocked-io.h after all system headers.
88917         Remove explicit declarations of xmalloc, xrealloc,
88918         and xstrdup.  Instead, include "xalloc.h".
88919
88920         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
88921         unlocked-io.h.
88922         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
88923         Likewise.
88924         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
88925
88926         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
88927         Reported by Padraig Brady.
88928
88929         * lib/mkstemp.c: #undef mkstemp.
88930         Include config.h.
88931         (rpl_mkstemp): Rename from mkstemp.
88932         Protoize.
88933
88934 2001-11-16  Jim Meyering  <meyering@lucent.com>
88935
88936         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
88937         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
88938         determine the amount of total physical memory, use pstat_getstatic.
88939         HPUX-11 doesn't define _SC_PHYS_PAGES.
88940         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
88941         If sysconf couldn't be used to determine the amount of available
88942         physical memory, use both pstat_getstatic and pstat_getdynamic.
88943         Based on a patch from Bob Proulx.
88944
88945 2001-11-10  Jim Meyering  <meyering@lucent.com>
88946
88947         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
88948         (jm_PREREQ): Use it.
88949
88950 2001-11-09  Jim Meyering  <meyering@lucent.com>
88951
88952         * m4/jm-macros.m4: Require autoconf-2.52f.
88953         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
88954         Use these AC_-prefixed names, not the AM_-prefixed ones.
88955
88956         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
88957
88958 2001-11-05  Jim Meyering  <meyering@lucent.com>
88959
88960         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
88961
88962 2001-11-04  Jim Meyering  <meyering@lucent.com>
88963
88964         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
88965         $DEFS.
88966
88967 2001-11-03  Jim Meyering  <meyering@lucent.com>
88968
88969         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
88970         of AC_DEFUN.
88971
88972         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
88973         know the name of the variable in the macro definition.
88974
88975 2001-11-03  Jim Meyering  <meyering@lucent.com>
88976
88977         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
88978         in argmatch_to_argument call.
88979
88980         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
88981         argument.
88982
88983         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
88984         e.g., a fault due to an attempt to free a NULL pointer.
88985
88986 2001-11-01  Jim Meyering  <meyering@lucent.com>
88987
88988         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
88989         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
88990
88991 2001-11-01  Jim Meyering  <meyering@lucent.com>
88992
88993         * lib/dirfd.c, lib/dirfd.h: New files.
88994         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
88995
88996         * lib/hash.c (hash_print) [TESTING]: Clean up.
88997
88998 2001-10-22  Paul Eggert  <eggert@twinsun.com>
88999
89000         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
89001         to avoid a warning if -Wall.
89002
89003 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
89004
89005         * README: New file
89006         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
89007         (per RMS's instructions, this is now the canonical source)
89008         * lgpl/, gpl/: New directories.
89009
89010 2001-10-21  Paul Eggert  <eggert@twinsun.com>
89011
89012         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
89013
89014 2001-10-21  Jim Meyering  <meyering@lucent.com>
89015
89016         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
89017         this code would end up calling gettext even in packages built
89018         with --disable-nls.
89019         * lib/getopt.c (_): Likewise.
89020         * lib/regex.c (_): Likewise.
89021
89022 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89023
89024         * m4/error.m4 (jm_PREREQ_ERROR):
89025         Do not invoke AC_CHECK_FUNCS with strerror_r, as
89026         AC_FUNC_STRERROR_R does that.
89027         Check for strerror declaration.
89028
89029         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
89030         are supposed to have them these days.
89031         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
89032         Merge changes from latest Autoconf CVS.
89033         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
89034         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
89035         POSIX decided to standardize on the int flavor of strerror_r.
89036
89037 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89038
89039         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
89040         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
89041         Use strerror_r that is only a macro, even if it is not a function.
89042         (strerror): Check for HAVE_DECL_STRERROR before declaring.
89043         (private_strerror): Use prototypes, not old-style function definition.
89044         (print_errno_message): New function.
89045         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
89046         char*-flavored one.
89047         (error_tail, error, error_at_line): Use it.
89048
89049 2001-10-11  Jim Meyering  <meyering@lucent.com>
89050
89051         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
89052         and quote_n (1, ... to avoid clobbering a buffer.
89053
89054 2001-10-05  Jim Meyering  <meyering@lucent.com>
89055
89056         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
89057         hash-pjw.h.
89058         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
89059         * lib/hash-pjw.h: New file.
89060
89061 2001-09-30  Jim Meyering  <meyering@lucent.com>
89062
89063         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
89064         `struct fsstat' has the `f_fstypename' member.
89065         Use that to define FS_TYPE, which is now used to make
89066         the getfsstat link test tighter.
89067
89068 2001-09-30  Jim Meyering  <meyering@lucent.com>
89069
89070         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
89071         Include <sys/ucred.h>, for Apple Darwin.
89072         Include sys/mount.h and sys/fs_types.h only if available.
89073         (FS_TYPE): Define.
89074         (read_filesystem_list): Use FS_TYPE.
89075
89076 2001-09-29  Paul Eggert  <eggert@twinsun.com>
89077
89078         * lib/exclude.c (excluded_filename): 0 -> false, since it's
89079         a boolean context.
89080
89081 2001-09-29  Jim Meyering  <meyering@lucent.com>
89082
89083         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89084         [one-argument getmntent function]): Include stdio.h before mntent.h.
89085         SunOS 4.1.x needs it for the declaration of `FILE'.
89086         Patch by Volker Borchert.
89087
89088         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89089         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
89090         sys/fs_types.h, and make the link-test for getfsstat guard #include
89091         directives with appropriate #if HAVE_*_H tests so that we can
89092         detect getfsstat on Apple Darwin1.3.7 systems.
89093         Reported by Nelson Beebe.
89094         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
89095
89096 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89097
89098         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89099         #defines strtoimax.  Also treat the other strto* functions
89100         like strtoimax.
89101
89102         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89103         Check for strtoul and strtoumax,
89104         as those declarations are made even in the signed case.
89105         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
89106         Likewise, for strtol and strtoimax.
89107
89108 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89109
89110         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89111         #defines strtoimax.  Also treat the other strto* functions
89112         like strtoimax.
89113
89114         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
89115         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
89116         (strtoimax, strtoumax): Do not declare if already defined as a macro.
89117
89118 2001-09-26  Jim Meyering  <meyering@lucent.com>
89119
89120         Most macros in unlocked-io.h had the wrong number of arguments.
89121         * lib/gen-uio: New script.
89122         (USE_UNLOCKED_IO): Define to 1 if not already defined.
89123         * lib/unlocked-io.hin: Remove file.
89124         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
89125         rather than trying to embed it here.
89126         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
89127         Reported by Padraig Brady.
89128
89129 2001-09-25  Volker Borchert  <bt@teknon.de>
89130
89131         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
89132         `result'.
89133
89134 2001-09-24  Jim Meyering  <meyering@lucent.com>
89135
89136         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
89137
89138 2001-09-23  Jim Meyering  <meyering@lucent.com>
89139
89140         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
89141         instead of the mere test for existence of mntent.h.  The latter
89142         would get a false-positive on AIX 3.4 systems.
89143         In the outer getmntent if-block, don't die if neither of the getmntent
89144         tests succeeds.  Instead, just fall through and continue with the
89145         remaining tests.
89146
89147 2001-09-23  Jim Meyering  <meyering@lucent.com>
89148
89149         * lib/mountlist.c: Remove useless parentheses in #if directives.
89150         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
89151         the deprecated MOUNTED symbol is no longer defined in mntent.h.
89152
89153 2001-09-22  Jim Meyering  <meyering@lucent.com>
89154
89155         * m4/gettext.m4: New file.  From gettext.
89156         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
89157         * m4/progtest.m4: Likewise
89158         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
89159         * m4/glibc21.m4: Likewise.
89160
89161         * m4/libintl.m4: Remove.  No longer used.
89162
89163 2001-09-22  Jim Meyering  <meyering@lucent.com>
89164
89165         * lib/localcharset.c: Update from latest gettext.
89166         * lib/config.charset: Likewise.
89167
89168 2001-09-20  Jim Meyering  <meyering@lucent.com>
89169
89170         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
89171         strtoimax.
89172         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
89173         strtoumax.
89174
89175 2001-09-20  Jim Meyering  <meyering@lucent.com>
89176
89177         * lib/xstrtol.c (strtoimax): Guard declaration with
89178         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
89179         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
89180         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
89181         (strtoumax): Likewise, for completeness (it wasn't necessary).
89182
89183 2001-09-17  Paul Eggert  <eggert@twinsun.com>
89184
89185         * lib/strtoimax.c (HAVE_LONG_LONG):
89186         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
89187         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
89188         to work around bug in IBM C compiler.
89189
89190 2001-09-17  Jim Meyering  <meyering@lucent.com>
89191
89192         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
89193         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
89194         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
89195         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
89196         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
89197         whenever the right hand side need not be expanded by the shell.
89198
89199 2001-09-16  Paul Eggert  <eggert@twinsun.com>
89200
89201         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
89202         library.  It's not correct, as some older glibcs are buggy.
89203         fnmatch wasn't fixed until glibc 2.2.
89204
89205         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
89206         special shell magic here.
89207
89208 2001-09-16  Jim Meyering  <meyering@lucent.com>
89209
89210         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
89211         * m4/jm-macros.m4: Require it.
89212
89213 2001-09-16  Jim Meyering  <meyering@lucent.com>
89214
89215         * lib/mkdir.c: New file.
89216
89217 2001-09-15  Jim Meyering  <meyering@lucent.com>
89218
89219         * m4/jm-macros.m4: Check for help2man.
89220
89221 2001-09-11  Jim Meyering  <meyering@lucent.com>
89222
89223         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
89224         The body, by Paul Eggert, was moved here from configure.in.
89225         * m4/jm-macros.m4: Require UTILS_HOST_OS.
89226
89227 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89228
89229         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
89230         (jm_PREREQ): Use it.
89231
89232 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89233
89234         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
89235         Use ssize_t, not int, to store result of readlink.
89236         Check for ssize_t overflow as well as size_t overflow,
89237         as POSIX says the result of readlink is implementation-defined
89238         when ssize_t overflows.
89239         Remove unnecessary cast to char*.
89240         Use free+malloc instead of realloc, as the storage doesn't need
89241         to be preserved and it's clearer and can be more efficient that way.
89242         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
89243         * lib/xreadlink.h (xreadlink): Update prototype.
89244
89245 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89246
89247         * lib/xgetcwd.c: Revert some of the previous change; intead,
89248         fix the HAVE_GETCWD_NULL code to behave more like the
89249         !HAVE_GETCWD_NULL code used to.
89250
89251         Include "xalloc.h".
89252         (xgetcwd): Do not return NULL when memory is exhausted; instead,
89253         invoke xalloc_die.
89254
89255 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89256
89257         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
89258         sys/param.h, as pathmax.h includes them.
89259
89260 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89261
89262         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
89263         (jm_PREREQ_XGETCWD): New macro.
89264
89265         * m4/getcwd.m4: New file.
89266
89267 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89268
89269         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
89270         like the HAVE_GETCWD_NULL code.
89271         Include pathmax.h if not HAVE_GETCWD.
89272         Do not include xalloc.h.
89273         (INITIAL_BUFFER_SIZE): New symbol.
89274         Do not use xmalloc / xrealloc, since the caller is responsible for
89275         handling errors.  Preserve errno around `free' during failure.
89276         Do not overrun buffer when using getwd.
89277
89278 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89279
89280         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
89281         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
89282         getcwd (NULL, 0).
89283
89284 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89285
89286         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
89287         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
89288         spotted by Jim Meyering.
89289
89290 2001-09-03  Jim Meyering  <meyering@lucent.com>
89291
89292         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
89293         failure.
89294
89295 2001-09-02  Jim Meyering  <meyering@lucent.com>
89296
89297         * lib/error.c: Update from GNU libc.
89298
89299 2001-09-01  Jim Meyering  <meyering@lucent.com>
89300
89301         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
89302         Used by df.
89303
89304 2001-09-01  Jim Meyering  <meyering@lucent.com>
89305
89306         * lib/xreadlink.c: New file.
89307         * lib/xreadlink.h: New file.
89308         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
89309         xreadlink.h.
89310
89311         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
89312         doesn't conflict with sparc Solaris 7's definition in
89313         /usr/include/sys/int_types.h.
89314
89315         * lib/exclude.c: Use `""', not `<>' to #include non-system header
89316         files.
89317         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
89318         and strncasecmp as r-values.  Unixware didn't have declarations.
89319
89320 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89321
89322         * lib/xstrtol.h: Add copyright notice.
89323         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
89324         LONGINT_INVALID_SUFFIX_CHAR.
89325
89326 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89327
89328         * lib/xstrtol.c (strtoimax): New decl.
89329
89330 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89331
89332         * lib/xgetcwd.c: Don't include pathmax.h.
89333         Include stdlib.h and unistd.h if available.
89334         Include xalloc.h.
89335         (xmalloc, xstrdup, free): Remove decls.
89336         (xgetcwd): Don't assume sizes fit in unsigned.
89337         Check for overflow when computing sizes.
89338         Simplify reallocation code.
89339
89340 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89341
89342         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
89343         a directory's st_size can have an arbitrary value, so the old
89344         usage could waste an arbitrary amount of memory.  All uses
89345         changed.
89346         * lib/savedir.h: Update prototype.
89347
89348 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89349
89350         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
89351
89352         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
89353         old strtoimax.c.
89354
89355         Also, make the following further changes to make this file's
89356         configuration more similar to that of strtol.c:
89357         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
89358         (strtoumax, uintmax_t, strtoull, strtol): Remove.
89359         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
89360         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
89361         changed to signed values.
89362
89363         And make the following changes as well:
89364         Fix copyright notice, as 1999 was missing.
89365         (verify): New macro.
89366         (strtoimax): Check sizes at compile-time, not run-time.
89367         Prefer strtol to strtoll if both work.
89368         (main): Remove; it was not that useful and was a pain to maintain.
89369
89370         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
89371
89372 2001-08-31  Jim Meyering  <meyering@lucent.com>
89373
89374         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
89375         Use an initial, malloc'd, buffer of length 128 rather than
89376         a statically allocated one of length 1024.
89377
89378 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89379
89380         Simplify code, partly by assuming autoconf 2.52 semantics.
89381
89382         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
89383
89384         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
89385         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
89386         All uses removed.
89387         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
89388         Move AC_REQUIRE to next-to-top level, to avoid confusion.
89389         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
89390         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
89391         jm_AC_HEADER_INTTYPES_H.
89392         * m4/jm-macros.m4 (jm_MACROS): Likewise.
89393
89394         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
89395
89396         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89397         Quote first arg of AC_DEFUN.
89398         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
89399         since they are needed to parse the include file even if we need
89400         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
89401         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
89402         but with opposite signedness.
89403
89404 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89405
89406         Merge 'exclude' changes from tar 1.13.22.
89407         This fixes one or two unlikely storage allocation overflow bugs,
89408         but doesn't change user-visible behavior otherwise.
89409
89410 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89411
89412         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
89413         (jm_PREREQ_EXCLUDE): New macro.
89414
89415 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89416
89417         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
89418         tm to be declared.
89419
89420 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89421
89422         * lib/hash.c: Remove '2001' from copyright notice.
89423
89424 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89425
89426         * lib/full-write.h: New file.
89427         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
89428         * lib/full-write.c: Correct credits, as cccp.c no longer
89429         exists and anyway it was so heavily changed from the old cccp
89430         code as to be unrecognizable.  Include full-write.h.
89431         (full_write): Return size_t, with short writes meaning failure.
89432         All callers changed.  This fixes a bug with large buffers
89433         on 64-bit hosts.
89434         * lib/utime.c: Include full-write.h.
89435
89436 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89437
89438         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
89439         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
89440         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
89441         Include if available.
89442         (<xalloc.h>): Include
89443         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
89444         (verify): New macro.  Use it to verify that EXCLUDE macros do not
89445         collide with FNM macros.
89446         (struct patopts): New struct.
89447         (struct exclude): Use it, as exclude patterns now come with options.
89448         (new_exclude): Support above changes.
89449         (new_exclude, add_exclude_file):
89450         Initial size must now be a power of two to simplify overflow checking.
89451         (free_exclude, fnmatch_no_wildcards): New function.
89452         (excluded_filename): No longer requires options arg, as the options
89453         are determined by add_exclude.  Now returns bool, not int.
89454         (excluded_filename, add_exclude):
89455         Add support for the fancy new exclusion options.
89456         (add_exclude, add_exclude_file): Now takes int options arg.
89457         Check for arithmetic overflow when computing sizes.
89458         (add_exclude_file): xrealloc might modify errno, so don't
89459         realloc until after errno might be used.
89460
89461         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
89462         New macros.
89463         (free_exclude): New decl.
89464         (add_exclude, add_exclude_file): Now takes int options arg.
89465         (excluded_filename): No longer requires options arg, as the options
89466         are determined by add_exclude.  Now returns bool, not int.
89467
89468 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89469
89470         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
89471
89472 2001-08-27  Jim Meyering  <meyering@lucent.com>
89473
89474         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
89475
89476         * lib/version-etc.c (N_): Remove definition.
89477         Revert most of last change.
89478         Instead, simply don't mark the `Copyright...' string for translation.
89479         Based on advice from Paul Eggert.
89480
89481         * lib/strtoxmax.c: Tweak comment.
89482
89483 2001-08-26  Jim Meyering  <meyering@lucent.com>
89484
89485         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
89486
89487         * m4/xstrtoimax.m4: New file.
89488         * m4/xstrtoumax.m4: Add comments explaining why we
89489         AC_REPLACE_FUNCS(strtol).
89490
89491 2001-08-26  Jim Meyering  <meyering@lucent.com>
89492
89493         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
89494         of copyright with `%s' so translators don't get an untranslated
89495         message in 2002.
89496         (COPYRIGHT_YEAR): Define.
89497         (version_etc): Use fprintf rather than fputs.
89498         Suggestion from Ulrich Drepper.
89499
89500         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
89501
89502         * lib/strtoll.c: New file, from GNU libc.
89503         * lib/xstrtoimax.c: New file.
89504
89505         * lib/xstrtol.h: Add xstrtoimax.
89506         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
89507         * lib/strtoimax.c: New file.  Likewise, but first define
89508         STRTOUXMAX_SIGNED.
89509
89510         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
89511         ...
89512         * lib/strtoxmax.c: ... then renamed to this.
89513
89514 2001-08-18  Paul Eggert  <eggert@twinsun.com>
89515
89516         * m4/inttypes.m4: Add AC_PREREQ(2.13).
89517         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
89518         (jm_AC_TYPE_INTMAX_T): New macro.
89519         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
89520
89521         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
89522
89523         * m4/longlong.m4: Renamed from ulonglong.m4.
89524         * m4/inttypes.m4: Renamed from inttypes_h.m4.
89525         * m4/uintmax_t.m4: Removed.
89526
89527 2001-08-13  Paul Eggert  <eggert@twinsun.com>
89528
89529         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
89530         Port to Solaris 8, where 'sed' requires a space after the 'r'
89531         command, and where sh dislikes "$/".  Clean up the spacing a bit.
89532         Redirect output to $tmp just once.
89533
89534 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
89535
89536         * lib/addext.c (<errno.h>): Include.
89537         (errno): Declare if not defined.
89538         (addext): Work correctly when pathconf returns -1 and leaves
89539         errno alone because there is no limit.  Also, work even if
89540         pathconf returns a value greater than SIZE_MAX.
89541
89542 2001-08-12  Jim Meyering  <meyering@lucent.com>
89543
89544         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
89545         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
89546         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
89547         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
89548         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
89549         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
89550         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
89551         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
89552         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
89553         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
89554         utime.m4, utimes.m4, xstrtoumax.m4:
89555         Quote the first argument in each use of AC_DEFUN.
89556
89557 2001-08-12  Jim Meyering  <meyering@lucent.com>
89558
89559         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
89560         Simply `return getcwd (NULL, 0);'.
89561         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
89562         Use 1300 as initial value for length, not PATH_MAX.
89563
89564         * lib/pathmax.h: Clean up cpp syntax.
89565
89566 2001-08-12  Jim Meyering  <meyering@lucent.com>
89567
89568         * lib/gettimeofday.c: New file.
89569         * lib/gtod.h: New file.
89570         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
89571
89572 2001-08-05  Jim Meyering  <meyering@lucent.com>
89573
89574         * m4/jm-macros.m4: Require autoconf-2.52.
89575
89576 2001-08-04  Jim Meyering  <meyering@lucent.com>
89577
89578         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
89579         stmt, to get in sync with glibc.
89580
89581 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89582
89583         The following changes are from gettext 0.10.39 as maintained by
89584         Bruno Haible.
89585
89586         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
89587         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
89588         with inverted sense.  All uses changed.
89589
89590         * lib/mbswidth.c: Don't include <limits.h>.
89591         Include <stdlib.h> and <string.h> unconditionally.
89592         (iswcntrl, mbsinit, ISCNTRL): New macros.
89593         (mbsnwidth): Use K&R style function declarations.
89594         Don't bother checking for MB_LEN_MAX == 1, since the compiler
89595         can optimize it when MB_CUR_MAX == 1.
89596         The width of control characters is zero, not 1.
89597
89598 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89599
89600         The following changes are from gettext 0.10.39 as maintained by
89601         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
89602
89603         * m4/codeset.m4: Upgrade to serial AM1.
89604         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
89605         all uses changed.  Quote first arg of AC_DEFUN.
89606         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
89607
89608         * m4/iconv.m4: Upgrade to serial AM2.
89609         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
89610         Add --with-libconv-prefix.
89611         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
89612         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
89613         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
89614         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
89615         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
89616
89617         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
89618         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
89619         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
89620         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
89621         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
89622         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
89623         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
89624         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
89625         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
89626
89627         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
89628         string.h any more.
89629
89630         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
89631         not the default value.
89632
89633         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
89634         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
89635         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
89636         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
89637         Also check for iswcntrl, used for wcwidth fallback.
89638         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
89639         to Autoconf 2.13.
89640
89641 2001-08-03  Jim Meyering  <meyering@lucent.com>
89642
89643         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
89644         as it was in the original.  Reported by Paul Eggert.
89645
89646 2001-07-16  Jim Meyering  <meyering@lucent.com>
89647
89648         * m4/gettimeofday.m4: New file.
89649         Prompted by a report from Bernhard Baehr.
89650
89651 2001-07-15  Jim Meyering  <meyering@lucent.com>
89652
89653         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
89654         stuff. Now it's in ../Makefile.cfg.
89655
89656 2001-07-15  Jim Meyering  <meyering@lucent.com>
89657
89658         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
89659         (BUILT_SOURCES): Add unlocked-io.h.
89660         (io_functions): Define.
89661         (unlocked-io.h): New rule.
89662         (DISTCLEANFILES): Add unlocked-io.h.
89663         (all-local): Depend on unlocked-io.h, to ensure it is created.
89664
89665         * lib/unlocked-io.hin: New file
89666
89667         * lib/regex.c: Update from glibc.
89668
89669 2001-07-05  Jim Meyering  <meyering@lucent.com>
89670
89671         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
89672         recommendation.
89673         (libfetish_a_SOURCES): Put all .h files here instead.
89674         Remove a thus-exposed (better checks in automake) duplicate and
89675         two unnecessary .h files.
89676
89677 2001-07-04  Jim Meyering  <meyering@lucent.com>
89678
89679         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
89680         that generates jm-glibc-io.m4 so that it doesn't trigger any make
89681         distcheck failure.
89682
89683 2001-07-02  Jim Meyering  <meyering@lucent.com>
89684
89685         The following changes were prompted by suggestions from Bruno Haible.
89686
89687         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
89688         is now generated.
89689         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
89690         definition of EXTRA_DIST.
89691         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
89692         ensure that the generated file is created/updated whenever the list
89693         of $(unlocked_functions) is changed.
89694         (jm-glibc-io.m4): New rule.
89695         (unlocked-io.h): New rule -- currently unused.
89696
89697 2001-06-24  Jim Meyering  <meyering@lucent.com>
89698
89699         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
89700         unmatched right bracket, rather than kludging it with an extra,
89701         falsely-matching quote in a comment.  Patch by Akim Demaille.
89702
89703 2001-06-11  Jim Meyering  <meyering@lucent.com>
89704
89705         * lib/regex.c: Update from GNU libc.
89706
89707 2001-05-27  Jim Meyering  <meyering@lucent.com>
89708
89709         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
89710         Check for ut_type in struct utmp.
89711
89712 2001-05-27  Jim Meyering  <meyering@lucent.com>
89713
89714         * lib/readutmp.h (UT_TYPE): Define.
89715
89716 2001-05-24  Jim Meyering  <meyering@lucent.com>
89717
89718         * lib/argmatch.c: Include "quote.h".
89719         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
89720         quote function.  Reported by Göran Uddeborg.
89721
89722 2001-05-22  Jim Meyering  <meyering@lucent.com>
89723
89724         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
89725         now that we use the package-supplied version unconditionally.
89726         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
89727
89728 2001-05-21  Jim Meyering  <meyering@lucent.com>
89729
89730         * m4/regex.m4: Change a couple backticks to single quotes to avoid
89731         shell syntax errors.
89732
89733 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89734
89735         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
89736
89737 2001-05-20  Paul Eggert  <eggert@twinsun.com>
89738
89739         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
89740         Don't bother to check library strftime, since
89741         we'll be using our own my_strftime function anyway.
89742         Define my_strftime instead of strftime.
89743
89744 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
89745
89746         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
89747         which is not yet declared.
89748
89749 2001-05-15  Jim Meyering  <meyering@lucent.com>
89750
89751         * m4/regex.m4: Use proper quoting so brackets appear in the test
89752         program.
89753         Reported by, and with help from, Bruno Haible.
89754
89755 2001-05-13  Jim Meyering  <meyering@lucent.com>
89756
89757         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
89758         undefined.
89759
89760 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89761
89762         dirname code cleanup.  base_name now behaves more compatibly
89763         with POSIX basename when given file names that have trailing
89764         slashes, and similarly for dir_name.  Add new primitives
89765         base_len and dir_len.  Put the directory-name-related decls
89766         into dirname.h.
89767
89768         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
89769         * lib/backupfile.c (base_name): Likewise.
89770         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
89771         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
89772         * lib/makepath.c (strip_trailing_slashes): Likewise.
89773         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
89774         ISSLASH): Likewise.
89775         * lib/rename.c (strip_trailing_slashes): Likewise.
89776         * lib/same.c (base_name): Likewise.
89777         * lib/stripslash.c (ISSLASH): Likewise.
89778
89779         * lib/addext.c: Include <dirname.h> after size_t is defined.
89780         * lib/backupfile.c: Likewise.
89781
89782         * lib/addext.c (addext): Use base_len to trim redundant
89783         trailing slashes instead of doing it ourselves.
89784         But do not trim the last slash if it is not redundant.
89785
89786         * lib/backupfile.c (find_backup_file_name,
89787         max_backup_version): Use base_len instead of rolling it ourselves.
89788         Handle the case of "" and (on DOS) "C:" correctly.
89789
89790         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
89791         needed. Include <string.h>, <dirname.h>.
89792         (base_name): Allow file names ending in slashes, other than names
89793         that are all slashes.  In this case, return the basename followed
89794         by the slashes.  This is more general, and can be used in places
89795         where the original base_name purposely had an assertion failure.
89796         (base_len): New function.
89797
89798         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
89799         Do not include <assert.h>; no longer needed.
89800         Include xalloc.h.
89801         (memrchr): Remove decl.
89802         (dir_name_r): Remove.
89803         (dir_len): Renamed from dirlen.  All callers changed.
89804         Rewrite in terms of base_name, for simplicity and consistency.
89805         (dir_name): Never return NULL.  All callers changed.
89806         Do not include <stdlib.h> in test program; no longer needed.
89807         return 0; is fine for test program.
89808
89809         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
89810         New macros.
89811         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
89812
89813         * lib/path-concat.c (path_concat): Use base_len to compute
89814         base length, not strlen; this means we cannot rely on memcpy
89815         to null-terminate.
89816
89817         * lib/same.c (STREQ): Remove.
89818         (same_name): Handle the case where the basename ends in trailing '/'.
89819
89820         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
89821         a slash was stripped.  Do not strip the last slash after a
89822         file system prefix.
89823
89824 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89825
89826         * lib/Makefile.am (libfetish_a_SOURCES):
89827         Add strftime.c, since we now compile it on all hosts.
89828
89829         * lib/strftime.c (my_strftime):
89830         Define to nstrftime if emacs, but only if my_strftime is not defined.
89831         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
89832         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
89833         Add one more extra argument: a nanoseconds value.
89834         All uses changed.
89835         (ns): New macro.
89836         (my_strftime function): Add %N format.
89837         (emacs_strftimeu): Renamed from emacs_strftime,
89838         with extra ut argument.
89839
89840 2001-05-09  Paul Eggert  <eggert@twinsun.com>
89841
89842         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
89843
89844 2001-04-21  Jim Meyering  <meyering@lucent.com>
89845
89846         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
89847         doesn't interfere.
89848
89849 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89850
89851         * m4/ftruncate.m4: Check for chsize.
89852         Link with ftruncate.o unconditionally if ftruncate is missing.
89853         This was required when cross-compiling to i586-mingw32msvc.
89854
89855 2001-04-08  Jim Meyering  <meyering@lucent.com>
89856
89857         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
89858         recomputed; that's necessary when the offset spans a DST transition.
89859         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
89860
89861 2001-04-02  Jim Meyering  <meyering@lucent.com>
89862
89863         * lib/regex.h, regex.c: Update from GNU libc.
89864
89865 2001-03-24  Jim Meyering  <meyering@lucent.com>
89866
89867         * m4/jm-macros.m4: Require autoconf-2.49d.
89868
89869 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
89870
89871         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
89872
89873 2001-03-19  Paul Eggert  <eggert@twinsun.com>
89874
89875         * lib/version-etc.c (version_etc_copyright): Update to 2001.
89876
89877 2001-03-17  Jim Meyering  <meyering@lucent.com>
89878
89879         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
89880         now that the version in autoconf is equivalent.
89881         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
89882
89883         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
89884         Suggestion from Akim Demaille.
89885
89886         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
89887         (jm_PREREQ_TEMPNAME): New function.
89888
89889 2001-03-16  Paul Eggert  <eggert@twinsun.com>
89890
89891         * lib/tempname.c (uint64_t): Define to uintmax_t if
89892         not defined, and if UINT64_MAX is not defined.
89893         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
89894         Reported by John David Anglin.
89895
89896 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
89897
89898         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
89899         resolve alias if codeset is empty.
89900         * lib/config.charset (BeOS): Use wildcard syntax.
89901
89902 2001-03-13  Jim Meyering  <meyering@lucent.com>
89903
89904         * lib/path-concat.c (path_concat)
89905         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
89906         concatenating e.g., `C:' and `foo'.
89907         From Bruno Haible.
89908
89909 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89910
89911         * lib/localcharset.c (locale_charset): Don't use
89912         setlocale(LC_CTYPE,NULL). Don't return NULL.
89913         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
89914
89915 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89916
89917         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
89918         support for DOS/DJGPP.
89919
89920 2001-03-01  Paul Eggert  <eggert@twinsun.com>
89921
89922         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
89923         lacks mkstemp.  Compile our own tempname.c if we compile our own
89924         mkstemp.c, as mkstemp relies on tempname.
89925
89926 2001-03-01  Jim Meyering  <meyering@lucent.com>
89927
89928         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
89929         AH_VERBATIM really does output its argument verbatim.
89930
89931 2001-02-28  Paul Eggert  <eggert@twinsun.com>
89932
89933         * lib/Makefile.am (libfetish_a_SOURCES):
89934         Add dup-safer.c, fopen-safer.c.
89935         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
89936
89937         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
89938         * lib/unistd-safer.h: New files.
89939
89940 2001-02-25  Paul Eggert  <eggert@twinsun.com>
89941
89942         The mkstemp replacement is taken from glibc 2.2.2, with some
89943         portability fixes for use outside glibc, as follows:
89944
89945         * lib/tempname.c (struct_stat64): New macro.
89946         (direxists, __gen_tempname): Use it.
89947         This avoids a portability problem with Solaris 8.
89948
89949         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
89950         (<stddef.h>, <stdint.h>, <string.h>):
89951         Include only if STDC_HEADERS || _LIBC.
89952         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
89953         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
89954         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
89955         (__set_errno): Define this macro if <errno.h> doesn't.
89956         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
89957         Define these macros if <stdio.h> doesn't.
89958         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
89959         Define these macros if <sys/stat.h>
89960         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
89961         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
89962         __xstat64): Define if not _LIBC.
89963         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
89964         (__gen_tempname): Invoke gettimeofday only if
89965         HAVE_GETTIMEOFDAY || _LIBC;
89966         otherwise, fall back on plain "time".
89967         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
89968
89969         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
89970
89971         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
89972
89973 2001-02-18  Paul Eggert  <eggert@twinsun.com>
89974
89975         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
89976
89977 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89978
89979         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
89980         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
89981         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
89982         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89983
89984 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89985
89986         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
89987         Remove workaround macros for hosts that have mbrtowc but not
89988         mbstate_t, as we now insist on proper declarations for both
89989         before using mbrtowc.
89990
89991 2001-02-17  Jim Meyering  <meyering@lucent.com>
89992
89993         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
89994         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
89995         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
89996         UnixWare 7.1.1.
89997
89998         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
89999         rather than AC_CACHE_VAL.
90000
90001 2001-02-17  Jim Meyering  <meyering@lucent.com>
90002
90003         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
90004         around included file name.
90005
90006         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
90007
90008         * lib/strftime.c: Update from GNU libc (the only changes were to
90009         comments).
90010
90011 2001-02-17  Jim Meyering  <meyering@lucent.com>
90012
90013         * lib/regex.c: Update from libc.
90014
90015 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
90016
90017         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
90018         clash.
90019
90020 2001-02-16  Paul Eggert  <eggert@twinsun.com>
90021
90022         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
90023         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
90024         Reported by Mark Hounschell via Paul Eggert.
90025
90026 2001-02-07  Jim Meyering  <meyering@lucent.com>
90027
90028         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
90029
90030 2001-02-05  Jim Meyering  <meyering@lucent.com>
90031
90032         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
90033         it includes the patch required for `large file' support with at least
90034         HP-UX's 10.20 /bin/cc.
90035
90036 2001-02-03  Jim Meyering  <meyering@lucent.com>
90037
90038         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
90039         AS_IF, now that it works once again (mysteriously).
90040         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90041
90042 2001-01-30  Jim Meyering  <meyering@lucent.com>
90043
90044         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
90045         * m4/chown.m4: Rename conftestchown to conftest.chown.
90046         * m4/rename.m4: s/conftestdir/conftest.d1/ and
90047         s/conftestdir2/conftest.d2/.
90048         * m4/utimes.m4: s/conftestdata/conftest.data/
90049         Inspired by Pavel Roskin's change in autoconf.
90050
90051 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
90052
90053         * lib/config.charset: Update for FreeBSD 4.2.
90054
90055 2001-01-27  Jim Meyering  <meyering@lucent.com>
90056
90057         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
90058         a use of AS_IF.
90059         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90060
90061 2001-01-26  Jim Meyering  <meyering@lucent.com>
90062
90063         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
90064         quotearg.c includes it.
90065
90066 2001-01-26  Jim Meyering  <meyering@lucent.com>
90067
90068         * lib/quotearg.c: Include stddef.h.
90069         * lib/quote.c: Include stddef.h.
90070         Reported by Axel Kittenberger.
90071
90072         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
90073         line in double quotes so that it evokes a better diagnostic.
90074         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
90075         Reported by Axel Kittenberger.
90076
90077 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
90078
90079         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
90080         as if it was a `charset'.
90081
90082 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90083
90084         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
90085         has const.
90086
90087 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90088
90089         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
90090         to avoid a warning.  Add back 'const' to inptr.
90091
90092 2001-01-20  Jim Meyering  <meyering@lucent.com>
90093
90094         Be sure that headers are checked before used in code compiled
90095         for the type checks.
90096         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
90097         In place of that, invoke jm_CHECK_ALL_TYPES.
90098         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
90099         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
90100         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
90101         The check for ssize_t was mistakenly run before the test for unistd.h.
90102
90103         The configure-time check for stdbool.h was missing.
90104         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
90105         (jm_PREREQ_HASH): New function.
90106
90107 2001-01-17  Jim Meyering  <meyering@lucent.com>
90108
90109         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
90110         for autoconf-2.49c.
90111         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
90112
90113 2001-01-16  Jim Meyering  <meyering@lucent.com>
90114
90115         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
90116         From Bruno Haible.
90117
90118 2001-01-14  Jim Meyering  <meyering@lucent.com>
90119
90120         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
90121         foo and bar.  Create conftestdir/ in the script, not in the C code.
90122         Remove directories in the script, not in the C code.
90123         Remove conftestdir{,2} before trying to create the directory.
90124         Make the entire configure script fail if the mkdir fails.
90125
90126 2001-01-14  Jim Meyering  <meyering@lucent.com>
90127
90128         * lib/rename.c: New file.  From Volker Borchert.
90129         Include stdlib.h, string.h or strings.h, and xalloc.h.
90130         Use strip_trailing_slashes rather than open-coding it.
90131
90132 2001-01-03  Paul Eggert  <eggert@twinsun.com>
90133
90134         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
90135
90136 2001-01-03  Jim Meyering  <meyering@lucent.com>
90137
90138         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
90139         of local `inptr' to avoid warning with some system declarations of
90140         iconv.
90141
90142 2001-01-02  Volker Borchert  <bt@teknon.de>
90143
90144         * m4/rename.m4: New file.
90145         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
90146
90147 2001-01-01  Jim Meyering  <meyering@lucent.com>
90148
90149         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
90150         even on systems with utmpx.h.  It's necessary for the declaration of
90151         utmp's ut_user member.  Reported by Andreas Jaeger.
90152
90153         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
90154         available. They are required for the declarations of getgrgid and
90155         getpwuid resp.
90156         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
90157         Reported by Andreas Jaeger.
90158
90159 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
90160
90161         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
90162         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
90163         so `make install' also works in VPATH builds.
90164
90165 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
90166
90167         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
90168         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
90169         can be used in subdirectories.
90170
90171 2000-12-29  Paul Eggert  <eggert@twinsun.com>
90172
90173         * lib/modechange.c: Do not assume that mode_t uses the
90174         traditional octal encoding.  E.g. "chmod 1 FOO" should set
90175         the other-execute bit of FOO even if S_IXOTH != 1.
90176
90177         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
90178         WOTH, XOTH, ALLM): New macros.
90179         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
90180          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
90181         Use them.
90182         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
90183         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
90184         (mode_compile):
90185         No need to use uintmax_t; unsigned long is long enough.
90186         Don't bother to get suffix since we don't use it.
90187
90188 2000-12-26  Jim Meyering  <meyering@lucent.com>
90189
90190         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
90191         better with autoheader.
90192
90193 2000-12-24  Jim Meyering  <meyering@lucent.com>
90194
90195         * lib/hash.c (is_prime): Return explicit boolean values.
90196         (hash_get_first): Return NULL to appease Irix5.6's 89.
90197         Reported by Nelson Beebe.
90198
90199 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
90200
90201         * lib/localcharset.c (locale_charset): Add support for Win32.
90202
90203 2000-12-18  Paul Eggert  <eggert@twinsun.com>
90204
90205         * lib/physmem.h, lib/physmem.c: New files.
90206
90207         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
90208         (noinst_HEADERS): Add physmem.h.
90209
90210         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
90211         't' for compatibility with Solaris 8 sort.
90212
90213 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
90214
90215         * lib/config.charset: Add support for BeOS.
90216
90217 2000-12-17  Jim Meyering  <meyering@lucent.com>
90218
90219         * m4/dos.m4 (jm_AC_DOS): New file and macro.
90220         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
90221
90222 2000-12-16  Jim Meyering  <meyering@lucent.com>
90223
90224         This bug had a serious impact on chown: `chown N:M FILE' (for integer
90225         N and M) would have treated it like `chown N:N FILE'.
90226
90227         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
90228
90229 2000-12-16  Jim Meyering  <meyering@lucent.com>
90230
90231         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
90232         SHELLS_FILE to a file name that's useful on djgpp systems.
90233         Include stdlib.h.
90234         (ADDITIONAL_DEFAULT_SHELLS): Define.
90235         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
90236         Based mostly on a patch from Prashant TR.
90237
90238 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
90239
90240         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
90241         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
90242         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
90243
90244 2000-12-08  Andreas Schwab  <schwab@suse.de>
90245
90246         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
90247         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
90248
90249 2000-12-07  Jim Meyering  <meyering@lucent.com>
90250
90251         * lib/stripslash.c (ISSLASH): Define.
90252         (strip_trailing_slashes): Use ISSLASH rather than comparing against
90253         `/'.
90254         From Prashant TR.
90255
90256         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
90257         (dir_name_r): Declare this function as static.
90258         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
90259         manifest itself on a name containing a mix of slashes and
90260         backslashes.
90261         Make this function work with names starting with a DOS-style
90262         drive letter and colon prefix.
90263         (dir_name): Append `.' if necessary.
90264         Based mostly on patches from Prashant TR and Eli Zaretskii.
90265
90266         * lib/dirname.h (dir_name_r): Remove prototype.
90267
90268 2000-12-06  Paul Eggert  <eggert@twinsun.com>
90269
90270         * m4/off_t-format.m4: Remove this file.
90271         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
90272
90273 2000-12-06  Jim Meyering  <meyering@lucent.com>
90274
90275         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
90276         replacement strtoull, we may well need the replacement strtoul, too.
90277         Check for declarations of strtoul and strtoull.
90278         Check for strtol.  Mainly as a cue to cause automake to include
90279         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
90280         Check for limits.h -- strtol.c needs it.
90281
90282 2000-12-05  Jim Meyering  <meyering@lucent.com>
90283
90284         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
90285
90286 2000-12-04  Jim Meyering  <meyering@lucent.com>
90287
90288         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
90289         Also include memory.h, stdlib.h, unistd.h if appropriate.
90290         Reported by Andreas Jaeger (conflicting declaration of malloc).
90291
90292 2000-12-02  Jim Meyering  <meyering@lucent.com>
90293
90294         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
90295         * m4/jm-macros.m4 (jm_MACROS): require it.
90296
90297 2000-12-02  Jim Meyering  <meyering@lucent.com>
90298
90299         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
90300
90301 2000-12-01  Paul Eggert  <eggert@twinsun.com>
90302
90303         * lib/memrchr.c: Include <config.h> before any system include file.
90304
90305 2000-11-30  Jim Meyering  <meyering@lucent.com>
90306
90307         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
90308
90309 2000-11-30  Jim Meyering  <meyering@lucent.com>
90310
90311         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
90312
90313 2000-11-29  Paul Eggert  <eggert@twinsun.com>
90314
90315         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
90316
90317 2000-11-26  Jim Meyering  <meyering@lucent.com>
90318
90319         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
90320
90321 2000-11-22  Paul Eggert  <eggert@twinsun.com>
90322
90323         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
90324         size of (size_t) -1; it's not portable.
90325
90326 2000-11-17  Jim Meyering  <meyering@lucent.com>
90327
90328         * lib/strstr.c: Update from GNU libc.
90329
90330 2000-11-17  Akim Demaille  <akim@epita.fr>
90331
90332         * lib/obstack.h: Formatting changes.
90333         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
90334         prevent type checking.
90335         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
90336         cast the value to (void *): assigning a `foo *' to a `void *'
90337         variable is valid.
90338         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
90339
90340 2000-11-16  Jim Meyering  <meyering@lucent.com>
90341
90342         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
90343
90344 2000-11-11  Jim Meyering  <meyering@lucent.com>
90345
90346         * lib/error.c: Add a couple #includes, merging from GNU libc version.
90347
90348 2000-11-10  Jim Meyering  <meyering@lucent.com>
90349
90350         * lib/obstack.h: Update from GNU libc.
90351         * lib/obstack.c: Likewise.
90352
90353 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
90354
90355         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
90356
90357 2000-11-06  Paul Eggert  <eggert@twinsun.com>
90358
90359         * lib/getusershell.c (setusershell): Use rewind rather than
90360         fseek/fseeko, to avoid configuration hassles with fseeko.
90361         Don't bother opening SHELLS_FILE if shellstream is NULL;
90362         it's not necessary.
90363
90364 2000-11-05  Jim Meyering  <meyering@lucent.com>
90365
90366         * lib/makepath.h (make_dir): Declare.
90367         * lib/makepath.c (make_dir): Remove `static' attribute.
90368         Tweak a comment.
90369
90370 2000-11-04  Jim Meyering  <meyering@lucent.com>
90371
90372         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
90373
90374 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
90375
90376         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
90377         last one in a bucket, advance to the next bucket.
90378
90379 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
90380
90381         * lib/fnmatch.c: Do not comment out all the code if we are using
90382         the GNU C library, because in some cases we are replacing buggy
90383         code in the GNU C library itself.
90384
90385 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
90386
90387         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
90388         (regex_compile): Catch bogus \(\1\).
90389
90390 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90391
90392         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
90393         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
90394         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
90395
90396 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90397
90398         * lib/error.h, getline.h, modechange.h:
90399         Remove "2000" from Copyright line, as the file hasn't been
90400         changed this year other than in the copyright notice.
90401
90402         * lib/xalloc.h: Add "2000" to Copyright line, as this file
90403         was changed this year.
90404
90405 2000-10-29  Jim Meyering  <meyering@lucent.com>
90406
90407         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
90408         renaming.
90409         * m4/ls-mntd-fs.m4: Likewise
90410
90411 2000-10-29  Jim Meyering  <meyering@lucent.com>
90412
90413         * lib/xstat.in: Fix grammar in comment.
90414
90415 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
90416
90417         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
90418         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
90419         doesn't define __restrict_arr.
90420
90421 2000-10-28  Jim Meyering  <meyering@lucent.com>
90422
90423         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
90424         (jm_PREREQ_MEMCHR): New function.
90425
90426 2000-10-28  Jim Meyering  <meyering@lucent.com>
90427
90428         * lib/memchr.c: Update from libc.
90429         Adjust for portability:
90430         [HAVE_STDLIB_H]: Include stdlib.h.
90431         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
90432         Undef __memchr, too.
90433         [!weak_alias]: Define __memchr to memchr.
90434
90435         * lib/regex.c: Update from libc.
90436         * lib/regex.h: Likewise.
90437         * lib/getopt1.c: Likewise.
90438         * lib/memcmp.c: Likewise.
90439
90440         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
90441         Avoid using fseek, when possible -- it's broken by design.
90442         Patch by Ulrich Drepper.
90443
90444 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
90445
90446         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
90447         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
90448         Giving in to popular pressure to shut up the compiler with casts.
90449
90450 2000-10-26  Jim Meyering  <meyering@lucent.com>
90451
90452         * lib/strftime.c: Update from libc.
90453
90454 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
90455
90456         * regex.c: More `unsigned char' -> `re_char' changes.
90457         Also change several `int' into `re_wchar_t'.
90458         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
90459         (PUSH_FAILURE_POINTER): Don't cast any more.
90460         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
90461         We want GCC to complain, since this piece of code makes
90462         re_match non-reentrant, which *should* be fixed.
90463         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
90464         (EXTEND_BUFFER): Use RETALLOC.
90465         (SET_LIST_BIT): Don't cast.
90466         (re_wchar_t): New type.
90467         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
90468         that those two functions will always properly return.
90469         (IMMEDIATE_QUIT_CHECK): Cast to void.
90470         (analyse_first): Use recursion rather than an explicit stack.
90471         (re_compile_fastmap): Can't fail anymore.
90472         (re_search_2): Don't check re_compile_fastmap for failure.
90473         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
90474         Now also sets the new value (passed in a new argument).
90475         (re_match_2_internal): Use it.
90476         Also, use a new var `reg' of type size_t when looping through regs
90477         rather than reuse the inappropriate `mcnt'.
90478
90479 2000-10-25  Jim Meyering  <meyering@lucent.com>
90480
90481         * lib/obstack.c: Update from libc.
90482
90483 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
90484
90485         * regex.c (regex_compile): Change the way of handling a range from
90486         a char less than 256 to a char not less than 256.
90487
90488 2000-10-24  Andrew Innes  <andrewi@gnu.org>
90489
90490         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
90491         NT-Emacs only.
90492         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
90493         so that re_search functions only quit when callers expect them to.
90494
90495 2000-10-23  Jim Meyering  <meyering@lucent.com>
90496
90497         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
90498         wrong.  That set_locale call must not have any side effects.
90499         From Paul Eggert.
90500
90501 2000-10-22  Jim Meyering  <meyering@lucent.com>
90502
90503         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
90504         [CYCLIC]: Remove now-unused definition.
90505
90506         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
90507         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
90508         Suggestion from Ulrich Drepper.
90509
90510 2000-10-21  Jim Meyering  <meyering@lucent.com>
90511
90512         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
90513         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
90514         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
90515
90516 2000-10-21  Jim Meyering  <meyering@lucent.com>
90517
90518         * lib/dirname.c (memrchr): Declare if necessary.
90519         (dir_name): Remove the restriction that there be no
90520         trailing slashes.  Now, this code skips past them, effectively
90521         ignoring them.
90522         [TEST_DIRNAME] (main): New unit tests.
90523
90524         * lib/memrchr.c: New file from GNU libc.
90525         Undef __memrchr, too.
90526         [!weak_alias]: Define __memrchr to memrchr.
90527         Guard weak_alias use with `#ifdef weak_alias'.
90528
90529 2000-10-21  Jim Meyering  <meyering@lucent.com>
90530
90531         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
90532         (dir_name): Use dir_name_r.
90533         * lib/dirname.h (dir_name_r): Declare it.
90534
90535 2000-10-17  Jim Meyering  <meyering@lucent.com>
90536
90537         * lib/quote.h (PARAMS): Define and use.
90538         Reported by Akim Demaille.
90539
90540         * lib/getopt.c: Update from libc.
90541
90542 2000-10-16  Jim Meyering  <meyering@lucent.com>
90543
90544         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
90545         setlocale.
90546         From Jan Fedak.
90547
90548 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
90549
90550         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
90551
90552 2000-09-25  Jim Meyering  <meyering@lucent.com>
90553
90554         * lib/md5.h (rol): Define (from GnuPG).
90555
90556         * lib/sha.c: Give credit (GnuPG) where due.
90557         (M): Use rol rather than open-coding it.
90558         Add a FIXME comment.
90559
90560 2000-09-21  Jim Meyering  <meyering@lucent.com>
90561
90562         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
90563         Reported by Michael Stone.
90564
90565 2000-09-20  Jim Meyering  <meyering@lucent.com>
90566
90567         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
90568         (noinst_HEADERS): Add sha.h.
90569         Based on code from Scott G. Miller and from GnuPG.
90570
90571 2000-09-18  Jim Meyering  <meyering@lucent.com>
90572
90573         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
90574         LIBS. Otherwise, everyone ends up linking with -lelf for some
90575         configurations.
90576         Reported by Mike Stone.
90577
90578 2000-09-15  Jim Meyering  <meyering@lucent.com>
90579
90580         * lib/regex.c: Update from libc.
90581
90582 2000-09-10  Jim Meyering  <meyering@lucent.com>
90583
90584         * lib/getopt.c (_getopt_internal): Update from glibc.
90585
90586 2000-09-09  Jim Meyering  <meyering@lucent.com>
90587
90588         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
90589         think it should be used as a general replacement for isascii.
90590         * lib/fnmatch.c: Likewise.
90591         * lib/mbswidth.c: Likewise
90592         * lib/regex.c: Likewise.
90593
90594         Don't use atoi.
90595         * lib/userspec.c: Include sys/param.h and limits.h.
90596         Include xstrtol.h.
90597         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90598         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
90599         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
90600         UID, GID.  Check range.
90601
90602 2000-09-06  Jim Meyering  <meyering@lucent.com>
90603
90604         * lib/getopt.c (_getopt_internal): Update from glibc.
90605
90606 2000-08-30  Jim Meyering  <meyering@lucent.com>
90607
90608         * lib/strftime.c: Merge in changes from GNU libc.
90609
90610 2000-08-26  Jim Meyering  <meyering@lucent.com>
90611
90612         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
90613         * m4/fpending.m4: New file.
90614
90615 2000-08-26  Jim Meyering  <meyering@lucent.com>
90616
90617         * lib/closeout.c: Include "__fpending.h".
90618         (close_stdout_status): Return right away if there's nothing to flush.
90619
90620         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
90621         * lib/__fpending.c: New file.
90622         * lib/__fpending.h: New file.
90623
90624 2000-08-20  Jim Meyering  <meyering@lucent.com>
90625
90626         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
90627         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
90628         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
90629
90630 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
90631
90632         Improve fileutils installation on systems where running
90633         programs (like install) can't be unlinked.
90634         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
90635         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
90636
90637 2000-08-07  Paul Eggert  <eggert@twinsun.com>
90638
90639         Standardize on "memory exhausted" instead of "Memory exhausted"
90640         or "virtual memory exhausted".
90641         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
90642         "virtual memory exhausted".
90643         * lib/same.c (same_name): Invoke xalloc_die instead of printing
90644         our own message.
90645         * lib/userspec.c (parse_user_spec): Likewise.
90646         * lib/bumpalloc.h: comment fix
90647         * lib/same.c, userspec.c: Include xalloc.h.
90648
90649         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
90650         not char *const and pointing to a constant array.
90651         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
90652         (xrealloc): Comment fix.
90653
90654         * lib/userspec.c (parse_user_spec):
90655         Don't translate a message until just before returning,
90656         to avoid unnecessary translation.
90657
90658 2000-08-07  Jim Meyering  <meyering@lucent.com>
90659
90660         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
90661         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
90662         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
90663         getgroups.c, gethostname.c, getopt.h, group-member.c,
90664         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
90665         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
90666         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
90667         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
90668         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
90669         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
90670         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
90671         yesno.c: Back out Copyright date changes for each file with no change
90672         this year.  This eases coordination with other programs using the same
90673         source code modules.  From Paul Eggert.
90674
90675 2000-08-06  Paul Eggert  <eggert@twinsun.com>
90676
90677         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
90678         not char, for compatibility with glibc 2.1.3 strftime.c.
90679
90680 2000-08-03  Greg McGary  <greg@mcgary.org>
90681
90682         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
90683         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
90684         (EXTEND_BUFFER): Use them.
90685
90686 2000-08-01  Jim Meyering  <meyering@lucent.com>
90687
90688         * lib/dirname.c (ISSLASH): Define.
90689         (BACKSLASH_IS_PATH_SEPARATOR): Define.
90690         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
90691         both `\' and `/' may be use as path separators.
90692         Based on a patch from Prashant TR.
90693
90694 2000-07-31  Paul Eggert  <eggert@twinsun.com>
90695
90696         * lib/quotearg.c (quotearg_n_options): Don't make the initial
90697         slot vector a constant, since it might get modified.
90698
90699 2000-07-31  Jim Meyering  <meyering@lucent.com>
90700
90701         * lib/xmalloc.c: Use `virtual memory exhausted', not
90702         `Memory exhausted'.
90703         * lib/obstack.c (print_and_abort): Likewise.
90704
90705 2000-07-30  Paul Eggert  <eggert@twinsun.com>
90706
90707         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
90708         buffer, so that the caller can always quote one small
90709         component of a "memory exhausted" message in slot 0.
90710         From a suggestion by Jim Meyering.
90711
90712 2000-07-30  Jim Meyering  <meyering@lucent.com>
90713
90714         * lib/makepath.c (make_path): Quote the other instance, too.
90715
90716         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
90717         (STATIC_BUF_SIZE): Define.
90718         (quotearg_n_options): Use only statically allocated storage when
90719         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
90720         than STATIC_BUF_SIZE.
90721
90722 2000-07-29  Jim Meyering  <meyering@lucent.com>
90723
90724         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
90725         * lib/dirname.c (dir_name): Likewise.
90726
90727         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
90728         `/'.
90729
90730         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
90731         (dir_name): Assert that there are no trailing slashes.
90732
90733 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
90734
90735         * lib/mbswidth.h (mbswidth): Add a flags argument.
90736         (mbswidth): New declaration.
90737         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
90738         * lib/mbswidth.c (mbswidth): Add a flags argument.
90739         (mbsnwidth): New function.
90740
90741 2000-07-24  Jim Meyering  <meyering@lucent.com>
90742
90743         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
90744
90745 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90746
90747         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
90748
90749 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90750
90751         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
90752         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
90753         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
90754         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
90755         invoke multibyte primitives.
90756
90757 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90758
90759         * lib/quotearg.c:
90760         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
90761         so that mbstate_t is always defined.
90762
90763         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
90764         be 1 in at least one GCC installation, and this configuration
90765         error is likely to be common.  Ignoring MB_LEN_MAX hurts
90766         performance on hosts that have mbrtowc but have only unibyte
90767         locales, but I assume these hosts are rare.
90768
90769 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90770
90771         * lib/mbswidth.c (_XOPEN_SOURCE):
90772         Don't define; this causes problems on Solaris 7.
90773         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
90774
90775 2000-07-23  Jim Meyering  <meyering@lucent.com>
90776
90777         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
90778         too: getgrgid, getpwuid, getuid.
90779
90780 2000-07-23  Jim Meyering  <meyering@lucent.com>
90781
90782         * lib/basename.c (base_name): Add an assertion.
90783
90784 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
90785
90786         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
90787         shadow its mbsinit function.
90788
90789 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90790
90791         * lib/mbswidth.h: New file.
90792         * lib/mbswidth.c: New file.
90793         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
90794         (noinst_HEADERS): Add mbswidth.h.
90795
90796 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90797
90798         * lib/config.charset: Add support for FreeBSD. Improve support for
90799         HP-UX and IRIX 6.
90800
90801 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
90802
90803         * m4/mbswidth.m4: New file.
90804         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
90805
90806 2000-07-15  Jim Meyering  <meyering@lucent.com>
90807
90808         * lib/makepath.c: Include quote.h.
90809         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
90810         corresponding argument in a `quote (...)' call.
90811         Give better diagnostics.
90812
90813         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
90814         (noinst_HEADERS): Add quote.h.
90815
90816         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
90817         from tar's src/misc.c.
90818         * lib/quote.h: New file.  Prototypes for same.
90819
90820 2000-07-14  Paul Eggert  <eggert@twinsun.com>
90821
90822         From a suggestion by Bruno Haible.
90823         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
90824         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
90825         to decide whether to define the BeOS workaround macro;
90826         this adjusts to the change to AC_MBSTATE_T.
90827
90828 2000-07-14  Jim Meyering  <meyering@lucent.com>
90829
90830         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
90831         jm_AC_TYPE_UINTMAX_T.
90832
90833 2000-07-13  Paul Eggert  <eggert@twinsun.com>
90834
90835         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
90836
90837         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
90838         quotearg_buffer_restyled): Add support for
90839         clocale_quoting_style.  Undo previous change to
90840         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
90841         and "{RIGHT QUOTATION MARK}" msgids.
90842
90843 2000-07-10  Paul Eggert  <eggert@twinsun.com>
90844
90845         From a suggestion by Bruno Haible.
90846         * m4/mbstate_t.m4 (AC_MBSTATE_T):
90847         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
90848         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
90849         and mbstate_t, to a single-part test that simply defines mbstate_t.
90850         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
90851         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
90852
90853 2000-07-10  Jim Meyering  <meyering@lucent.com>
90854
90855         * m4/strerror_r.m4: Mirror the correction made in autoconf.
90856
90857         * m4/gnu-source.m4: Output to confdefs.h directly.
90858         Suggestion from Akim Demaille.
90859
90860 2000-07-09  Paul Eggert  <eggert@twinsun.com>
90861
90862         The old behavior of quoting `like this' doesn't look good with
90863         newer, ISO-style fonts.  See:
90864         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
90865
90866         Instead, quote "like this" by default.  Let the translator
90867         tailor the locale-specific quoting behavior by providing
90868         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
90869
90870         * lib/quotearg.c (N_): New macro.
90871         (gettext_default): New function.
90872         (quotearg_buffer_restyled): Use
90873         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
90874         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
90875
90876 2000-07-09  Jim Meyering  <meyering@lucent.com>
90877
90878         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
90879         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
90880
90881         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
90882         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
90883
90884 2000-07-09  Jim Meyering  <meyering@lucent.com>
90885
90886         * lib/Most files: Update copyright dates to include 2000.
90887
90888 2000-07-08  Jim Meyering  <meyering@lucent.com>
90889
90890         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
90891         if not defined.
90892         (xgethostname): Remove now-unnecessary #ifdef.
90893         Move declaration of `err' into loop where it's used.
90894
90895 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90896         and Bruno Haible  <haible@clisp.cons.org>
90897
90898         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
90899         only if the test for an object-type mbstate_t fails.  This
90900         prevents us from mistakenly reporting that mbstate_t is a
90901         system object type after we "#define mbstate_t int" to work
90902         around its lack.
90903
90904 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90905         and Bruno Haible  <haible@clisp.cons.org>
90906
90907         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
90908
90909 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90910
90911         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
90912         to strerror_r.
90913         Include <ctype.h> for use of isalpha.
90914
90915 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90916
90917         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
90918         by allocating a larger buffer. Test the gethostname return value for
90919         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
90920         returns an error and ENAMETOOLONG isn't defined.
90921
90922 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90923
90924         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
90925         dimension.
90926
90927 2000-07-04  Jim Meyering  <meyering@lucent.com>
90928
90929         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
90930         of the deprecated AC_CHECKING.
90931
90932 2000-07-04  Jim Meyering  <meyering@lucent.com>
90933
90934         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
90935         Reported by Bruno Haible.
90936
90937 2000-07-04  Jim Meyering  <meyering@lucent.com>
90938
90939         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
90940         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
90941         lacks mbrtowc.
90942
90943 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90944
90945         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
90946         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
90947
90948 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90949         and Bruno Haible  <haible@clisp.cons.org>
90950
90951         * lib/quotearg.c (mbrtowc):
90952         Assign to *pwc, and return 1 only if result is nonzero.
90953         (iswprint): Use ISPRINT when substituting our own mbrtowc.
90954
90955 2000-07-03  Jim Meyering  <meyering@lucent.com>
90956
90957         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
90958
90959 2000-07-03  Jim Meyering  <meyering@lucent.com>
90960
90961         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
90962         This is necessary to get a definition of e.g., UTMP_FILE on
90963         HP-UX 10.20.
90964         From Bob Proulx.
90965
90966 2000-07-02  Jim Meyering  <meyering@lucent.com>
90967
90968         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
90969
90970         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
90971         AC_LIBOBJ(function_name).
90972         * m4/chown.m4: Likewise.
90973         * m4/fnmatch.m4: Likewise.
90974         * m4/ftruncate.m4: Likewise.
90975         * m4/getgroups.m4: Likewise.
90976         * m4/getline.m4: Likewise.
90977         * m4/group-member.m4: Likewise.
90978         * m4/jm-macros.m4: Likewise.
90979         * m4/lstat.m4: Likewise.
90980         * m4/malloc.m4: Likewise.
90981         * m4/memcmp.m4: Likewise.
90982         * m4/nanosleep.m4: Likewise.
90983         * m4/putenv.m4: Likewise.
90984         * m4/realloc.m4: Likewise.
90985         * m4/regex.m4: Likewise.
90986         * m4/stat.m4: Likewise.
90987         * m4/strftime.m4: Likewise.
90988
90989 2000-07-02  Jim Meyering  <meyering@lucent.com>
90990
90991         * lib/quotearg.c (mbstate_t): Don't define here.
90992
90993 2000-07-02  Jim Meyering  <meyering@lucent.com>
90994
90995         * lib/nanosleep.c (SIGCONT): Define if not already defined.
90996
90997 2000-07-01  Jim Meyering  <meyering@lucent.com>
90998
90999         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
91000
91001 2000-07-01  Jim Meyering  <meyering@lucent.com>
91002
91003         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
91004         problem.
91005
91006 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91007
91008         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
91009         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
91010
91011 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91012
91013         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
91014         per change in ../m4/ls-mntd-fs.m4.
91015         (read_filesystem_list): Ignore symbolic links.
91016
91017 2000-06-29  Jim Meyering  <meyering@lucent.com>
91018
91019         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
91020         for declaration of strcmp.
91021
91022         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
91023
91024         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
91025         Avoid warning by casting result to `char *' to remove `const'.
91026
91027 2000-06-28  Jim Meyering  <meyering@lucent.com>
91028
91029         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
91030         included by quotearg.c, for which we perform this test.  From
91031         Bruno Haible.
91032
91033 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91034
91035         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
91036         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
91037         <utmpx.h> exists, put readutmp.o into LIBOBJS.
91038
91039 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91040
91041         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
91042
91043 2000-06-26  Paul Eggert  <eggert@twinsun.com>
91044
91045         savedir now sets errno on failure and invokes xmalloc to get memory.
91046         Fix a couple of other minor bugs while we're at it.
91047
91048         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
91049         (NAMLEN): Remove macro.
91050         (malloc, realloc): Remove decls.
91051         (stpcpy): Likewise.
91052         ("xalloc.h"): Include.
91053         (NAME_SIZE_DEFAULT): New macro.
91054         (savedir): Use xmalloc / xrealloc to allocate memory.
91055         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
91056         Skip "" directory entries.
91057         Use strlen to calculate directory entry length, since the old method
91058         is rarely used these days and isn't worth supporting.
91059         Don't use a pointer after freeing it.
91060         Check for integer overflow when calculating allocation size.
91061         Use memcpy to copy entries, instead of stpcpy.
91062         Set errno properly when returning NULL.
91063         Check for readdir error.
91064
91065 2000-06-26  Jim Meyering  <meyering@lucent.com>
91066
91067         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
91068
91069 2000-06-25  Jim Meyering  <meyering@lucent.com>
91070
91071         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
91072         Linux header bug when _XOPEN_SOURCE is defined to 500.
91073
91074 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91075
91076         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
91077         deficiency.
91078
91079 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91080
91081         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
91082         Include xalloc.h.
91083         Don't include <stdlib.h>.  Don't declare malloc, realloc.
91084
91085 2000-06-24  Jim Meyering  <meyering@lucent.com>
91086
91087         * m4/strerror_r.m4: Revive this file -- to try out an experimental
91088         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
91089         for which strerror does return char*, but which lacks a conveniently
91090         accessible declaration of the function.  If the compile-test says
91091         strerror_r doesn't work, then resort to a `run'-test that works on
91092         BeOS and segfaults on DEC Unix.
91093
91094 2000-06-24  Jim Meyering  <meyering@lucent.com>
91095
91096         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
91097
91098 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91099
91100         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
91101         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
91102
91103 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91104
91105         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
91106         (mbrtowc, mbstate_t): Define substitutes if
91107         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
91108         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
91109         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
91110
91111 2000-06-23  Jim Meyering  <meyering@lucent.com>
91112
91113         * m4/afs.m4: Add missing AC_MSG_RESULT.
91114         Reported by Bruno Haible.
91115
91116         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
91117         Suggestion from Bruno Haible.
91118
91119 2000-06-23  Jim Meyering  <meyering@lucent.com>
91120
91121         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
91122
91123 2000-06-21  Jim Meyering  <meyering@lucent.com>
91124
91125         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
91126
91127 2000-06-21  Jim Meyering  <meyering@lucent.com>
91128
91129         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
91130         (noinst_HEADERS): Add getstr.h.
91131
91132         * lib/getline.c (getstr): Move into a separate file.
91133         * lib/getstr.c (getstr): New file, extracted from getline.c, with
91134         the following changes: new parameter, delim2; both delim[12]
91135         parameters have type `int', not `char'.  The latter would lose
91136         with 8-bit delimiters.
91137         * lib/getstr.h: New file.
91138
91139 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91140
91141         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
91142         than 1024, return a memory chunk of least possible size, instead
91143         of size PATH_MAX + 2. In the loop, increment the size proportionally.
91144         Use free/xmalloc instead of xrealloc to avoid copying for very long
91145         paths.
91146
91147 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91148
91149         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
91150         the empty string.
91151
91152 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91153
91154         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
91155         address, not strdup.  Include <stdlib.h> and don't declare free().
91156
91157 2000-06-19  Jim Meyering  <meyering@lucent.com>
91158
91159         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
91160
91161 2000-06-18  Jim Meyering  <meyering@lucent.com>
91162
91163         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
91164
91165         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
91166         `checking whether...' message to be consistent with that of the
91167         lstat test.
91168
91169 2000-06-18  Jim Meyering  <meyering@lucent.com>
91170
91171         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
91172         Besides, these days every porting target provides a mkdir function.
91173
91174         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
91175         needed. (this snippet comes from src/system.h).
91176
91177 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
91178
91179         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
91180
91181 2000-06-15  Paul Eggert  <eggert@twinsun.com>
91182
91183         * lib/human.c (adjust_value): New function.
91184         (human_readable_inexact): Apply rounding style even when
91185         printing approximate values.
91186
91187 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91188
91189         * lib/human.c (human_readable_inexact): Allow an input block
91190         size that is not a multiple of the output block size, and vice versa.
91191         Reported by Piergiorgio Sartor.
91192
91193 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91194
91195         * lib/getdate.y (get_date): Apply relative times after time
91196         zone indicator, not before.  Reported by Todd A. Jacobs.
91197
91198 2000-06-13  Jim Meyering  <meyering@lucent.com>
91199
91200         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
91201
91202         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
91203
91204 2000-06-12  Paul Eggert  <eggert@twinsun.com>
91205
91206         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
91207
91208 2000-06-12  Jim Meyering  <meyering@lucent.com>
91209
91210         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
91211         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
91212         optional argument.
91213         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
91214         the optional argument, `lib'.
91215
91216 2000-06-08  Jim Meyering  <meyering@lucent.com>
91217
91218         * m4/largefile.m4: Remove file (now that it's part of autoconf).
91219
91220 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91221
91222         Rewrite largefile configuration so that we don't need to run
91223         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
91224         AC_CANONICAL_HOST in configure.in -- jmm]
91225
91226         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
91227         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
91228         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
91229         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
91230         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
91231         All uses changed.
91232         Instead of inspecting the output of getconf, try to compile the
91233         test program without and with the macro definition.
91234         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
91235         for getconf.  Instead, check for the needed flags by compiling
91236         test programs.
91237
91238 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91239
91240         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
91241
91242 2000-06-04  Jim Meyering  <meyering@lucent.com>
91243
91244         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
91245         SunOS 4.1.4 for which gid_t is an unsigned type.
91246
91247 2000-06-03  Jim Meyering  <meyering@lucent.com>
91248
91249         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
91250         now that autoconf requires that.
91251
91252         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
91253         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
91254         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
91255
91256 2000-06-03  Jim Meyering  <meyering@lucent.com>
91257
91258         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
91259
91260 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91261
91262         * m4/glibc21.m4: New file.
91263         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
91264
91265 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91266
91267         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
91268         newer, don't install charset.alias.
91269         * lib/config.charset: Change the Linux/glibc rules so they become empty
91270         on glibc-2.1 or newer.
91271
91272 2000-06-02  Jim Meyering  <meyering@lucent.com>
91273
91274         * lib/mountlist.c: Back out last change.  Instead, do this...
91275         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
91276         me_dummy member using the same `ignore'-testing code.
91277         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
91278         fs_type strings.
91279         From Mark D. Roth.
91280
91281 2000-05-29  Jim Meyering  <meyering@lucent.com>
91282
91283         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
91284         mounts with the `ignore' attribute.  Based on a patch from
91285         Mark D. Roth.
91286
91287 2000-05-28  Jim Meyering  <meyering@lucent.com>
91288
91289         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
91290         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91291         * m4/stat.m4: Likewise.
91292         * m4/lstat.m4: Likewise.
91293         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
91294
91295         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
91296         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
91297
91298 2000-05-26  Jim Meyering  <meyering@lucent.com>
91299
91300         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
91301
91302 2000-05-24  Jim Meyering  <meyering@lucent.com>
91303
91304         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
91305         autoconf requires that.
91306         * m4/lib-check.m4: Likewise.
91307         * m4/jm-macros.m4: Likewise.
91308         * m4/strftime.m4: Likewise.
91309
91310         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
91311         AC_CHECK_DECLS, now that autoconf requires that.
91312
91313 2000-05-22  Jim Meyering  <meyering@lucent.com>
91314
91315         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91316         * m4/lstat.m4: Likewise.
91317
91318 2000-05-22  Jim Meyering  <meyering@lucent.com>
91319
91320         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
91321
91322 2000-05-20  Jim Meyering  <meyering@lucent.com>
91323
91324         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
91325         (jm_PREREQ): Use it.
91326
91327 2000-05-18  Jim Meyering  <meyering@lucent.com>
91328
91329         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
91330         back, too, since it may have been modified by allocate_entry.
91331         (hash_delete): Rewrite to use neither the assignment operator
91332         nor the comma operator in an if-expression.
91333
91334 2000-05-15  Paul Eggert  <eggert@twinsun.com>
91335
91336         * lib/closeout.c:
91337         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
91338         Remove; no longer needed.
91339         "quotearg.h": Add include.
91340         (file_name): Do not bother to explicitly initialize to NULL; it's less
91341         efficient on some hosts.
91342         (close_stdout_status): Remove test as to whether stdout was already
91343         closed; it breaks for the case "echo x | sort >&-".
91344         Quote file name colons.
91345         Do not assume that _("write error") lacks format strings.
91346
91347 2000-05-15  Jim Meyering  <meyering@lucent.com>
91348
91349         * lib/version-etc.c (version_etc_copyright): Update the copyright
91350         string used in all --version output.
91351
91352 2000-05-14  Jim Meyering  <meyering@lucent.com>
91353
91354         * lib/closeout.c (close_stdout_set_file_name): New function.
91355         (close_stdout_status): Use new file-scoped global.
91356         Return right away if fstat says the stdout file descriptor is invalid.
91357         * lib/closeout.h (close_stdout_set_file_name): Declare.
91358
91359 2000-05-10  Jim Meyering  <meyering@lucent.com>
91360
91361         * lib/closeout.c [default_exit_status]: New file-scoped variable.
91362         (close_stdout_set_status): New function.
91363         * lib/closeout.h (close_stdout_set_status): Declare.
91364
91365 2000-05-09  Jim Meyering  <meyering@lucent.com>
91366
91367         * m4/gettext.m4: Rename this...
91368         * m4/libintl.m4: ...to this.
91369
91370 2000-05-08  Jim Meyering  <meyering@lucent.com>
91371
91372         * lib/long-options.c: Don't include closeout.h.
91373         (parse_long_options): Don't call close_stdout for --version.
91374
91375 2000-05-06  Paul Eggert  <eggert@twinsun.com>
91376
91377         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
91378         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
91379         2.1.3 bug.  This avoids a clash when files like regex.c define
91380         _GNU_SOURCE.
91381
91382 2000-05-06  Jim Meyering  <meyering@lucent.com>
91383
91384         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
91385         (AC_REPLACE_FUNCS): Add strnlen.
91386
91387         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
91388         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
91389
91390         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
91391         AC_SEARCH_LIBS call for nanosleep.
91392         (LIB_NANOSLEEP): Set and AC_SUBST.
91393
91394 2000-05-06  Jim Meyering  <meyering@lucent.com>
91395
91396         * lib/strnlen.c: Undefine __strnlen and strnlen.
91397         [!weak_alias]: Define __strnlen to strnlen.
91398
91399         * lib/atexit.c: New file, from libiberty.
91400
91401 2000-05-06  Jim Meyering  <meyering@lucent.com>
91402
91403         * lib/closeout.c (close_stdout_status): Also check for errors on the
91404         stderr stream.
91405
91406 2000-05-05  Jim Meyering  <meyering@lucent.com>
91407
91408         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
91409         AC_SEARCH_LIBS call for clock_gettime.
91410         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
91411
91412         * m4/search-libs.m4: Update from autoconf.
91413
91414         su doesn't work on Solaris 2.6.
91415         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
91416         <shadow.h>.  Reported by Dragos Harabor.
91417
91418 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
91419
91420         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
91421         memcpy instead of xmalloc, xrealloc, path_concat.
91422         (locale_charset): Treat empty environment variables as absent.
91423         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
91424
91425 2000-05-04  Jim Meyering  <meyering@lucent.com>
91426
91427         * lib/getopt.c: Update from glibc.
91428         * lib/obstack.c: Likewise.
91429         * lib/obstack.h: Likewise.
91430         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
91431         file
91432
91433         * lib/regex.h: Likewise.
91434         * lib/strndup.c: Likewise.
91435         * lib/strnlen.c: New file, from glibc.
91436
91437 2000-05-03  Jim Meyering  <meyering@lucent.com>
91438
91439         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
91440
91441 2000-05-02  Paul Eggert  <eggert@twinsun.com>
91442
91443         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
91444         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
91445         compile-time test, rather than inspecting host and OS, to
91446         decide whether to define _LARGEFILE_SOURCE.
91447
91448 2000-05-01  Jim Meyering  <meyering@lucent.com>
91449
91450         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
91451
91452         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
91453         Based on a patch from Bruno Haible.
91454
91455 2000-05-01  Jim Meyering  <meyering@lucent.com>
91456
91457         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
91458
91459 2000-04-29  Jim Meyering  <meyering@lucent.com>
91460
91461         * lib/path-concat.c: Declare strdup only if it's not defined.
91462         * lib/canon-host.c: Likewise.
91463
91464 2000-04-28  Jim Meyering  <meyering@lucent.com>
91465
91466         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
91467         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
91468         is included first, then limits.h is included by locale.h by libintl.h.
91469         From John David Anglin.
91470
91471 2000-04-25  Jim Meyering  <meyering@lucent.com>
91472
91473         * lib/makepath.c (S_IRWXUGO): Define.
91474         (make_path): Always perform explicit chmod if MODE specifies any
91475         of the `special' permission bits.  Prompted by a bug report against
91476         install from Mate Wierdl and Joost van Baal.
91477
91478 2000-04-18  Jim Meyering  <meyering@lucent.com>
91479
91480         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
91481         (jm_PREREQ): Use it.
91482
91483 2000-04-18  Jim Meyering  <meyering@lucent.com>
91484
91485         * lib/README: New file.
91486
91487         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
91488         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
91489
91490 2000-04-17  Jim Meyering  <meyering@lucent.com>
91491
91492         Get it right :-)
91493         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
91494         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
91495         Suggestion from Akim Demaille.
91496
91497 2000-04-17  Jim Meyering  <meyering@lucent.com>
91498
91499         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
91500         the definition of it to rpl_strftime also defined-away the system's
91501         declaration.
91502
91503 2000-04-15  Jim Meyering  <meyering@lucent.com>
91504
91505         Use `C' to denote so-called `contiguous' files, the same way
91506         that tar does.
91507         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
91508         (ftypelet): Use S_ISCTG.
91509         From Michael Deutschmann.
91510
91511 2000-04-14  Jim Meyering  <meyering@lucent.com>
91512
91513         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
91514         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
91515         clobbered.
91516
91517 2000-04-14  Jim Meyering  <meyering@lucent.com>
91518
91519         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
91520
91521 2000-04-13  Jim Meyering  <meyering@lucent.com>
91522
91523         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
91524         AH_VERBATIM to insert required #ifndef into config.h.in.
91525         Suggestion from Akim Demaille.
91526
91527 2000-04-12  Jim Meyering  <meyering@lucent.com>
91528
91529         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
91530         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
91531         Christian Krackowizer.
91532
91533         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
91534         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
91535         (AC_SYS_LARGEFILE): Require.
91536         (AM_C_PROTOTYPES): Require.
91537
91538 2000-04-08  Jim Meyering  <meyering@lucent.com>
91539
91540         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
91541         names don't conflict.  Reported by Eli Zaretskii.
91542
91543 2000-04-07  Jim Meyering  <meyering@lucent.com>
91544
91545         * lib/putenv.c: Move inclusion of errno.h so it follows that of
91546         sys/types.h, to work around system header problems on AIX 3.2.5.
91547         From Bruno Haible.
91548
91549 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
91550
91551         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
91552         bug.  Deal with the different error behavior of Irix iconv.
91553
91554 2000-04-05  Paul Eggert  <eggert@twinsun.com>
91555
91556         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
91557         IRIX if the installer said otherwise.
91558
91559 2000-04-05  Jim Meyering  <meyering@lucent.com>
91560
91561         Portability tweaks required for ultrix4.3.
91562         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
91563         (jm_CHECK_DECLS): Add getutent to the list of functions.
91564         (_jm_DECL_HEADERS): Add utmpx.h.
91565         From John David Anglin.
91566
91567         * m4/strftime.m4: Back out the 2000-04-02 change.
91568         Instead of that change, simply undefine putenv in the test program.
91569
91570 2000-04-05  Jim Meyering  <meyering@lucent.com>
91571
91572         Portability tweaks required for ultrix4.3.
91573         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
91574         getutent.
91575         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
91576         * lib/canon-host.c: Declare strdup.
91577         * lib/path-concat.c: Likewise.
91578         From John David Anglin.
91579
91580 2000-04-04  Jim Meyering  <meyering@lucent.com>
91581
91582         Be more DOS 8.3-friendly.
91583         * lib/ref-add.sin: Renamed from ref-add.sed.in.
91584         * lib/ref-del.sin: Renamed from ref-del.sed.in.
91585         * lib/Makefile.am: Reflect renaming.
91586         Reported by Eli Zaretskii.
91587
91588         Use a temporary file name that won't clash with `charset.alias'
91589         in the DOS 8.3 name space.
91590         * lib/Makefile.am (charset_tmp): Define.
91591         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
91592         (uninstall-local): Likewise.
91593         Reported by Eli Zaretskii.
91594
91595 2000-04-03  Jim Meyering  <meyering@lucent.com>
91596
91597         * m4/gettext.m4: Fix typo in comment.
91598
91599         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
91600         textutils/configure.in).  Suggestion from Paul Eggert.
91601         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
91602
91603 2000-04-02  Paul Eggert  <eggert@twinsun.com>
91604
91605         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
91606         variable in the shell rather than using putenv, which isn't
91607         portable.  This avoids the configure-time inter-test dependency
91608         on the potentially-renamed putenv function.
91609
91610 2000-03-30  Paul Eggert  <eggert@twinsun.com>
91611
91612         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
91613         before checking struct stat.st_blksize, so that
91614         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
91615
91616 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91617
91618         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
91619         since strftime.c uses HAVE_STRFTIME to decide whether to use
91620         the underlying strftime.
91621
91622 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91623
91624         * lib/time/strftime.c (my_strftime): Make sure we call the system
91625         strftime, not ourselves, when invoking the underlying strftime.
91626
91627 2000-03-24  Jim Meyering  <meyering@lucent.com>
91628
91629         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
91630         (charset_alias): Define.
91631         (install-exec-local): Factor out common code.
91632         (uninstall-local): Split lines longer than 80.
91633         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
91634         (SUFFIXES): Define.
91635         (.sed.in.sed): New rule.  Don't redirect directly to $@.
91636         (CLEANFILES): Add ref-add.sed and ref-del.sed.
91637
91638 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
91639
91640         * lib/config.charset: Output a line containing "Packages using this
91641         file".
91642         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
91643         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
91644         ref-del.sed): New rules.
91645
91646 2000-03-17  Jim Meyering  <meyering@lucent.com>
91647
91648         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
91649         Otherwise, include <strings.h>
91650
91651 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
91652
91653         * lib/unicodeio.c (utf8_wctomb): New function.
91654         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
91655         format instead of in UCS-4 with platform dependent endianness.
91656
91657 2000-03-10  Jim Meyering  <meyering@lucent.com>
91658
91659         * m4/lib-check.m4: Look for getspnam in -lgen, too.
91660         From Marco Franzen.
91661
91662 2000-03-07  Paul Eggert  <eggert@twinsun.com>
91663
91664         * lib/savedir.c (savedir): Work even if directory size is
91665         negative; this can happen with some screwy NFS configurations.
91666
91667 2000-03-06  Jim Meyering  <meyering@lucent.com>
91668
91669         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
91670         if it's NULL (because we ran out of memory).  From Bruno Haible.
91671
91672 2000-03-05  Jim Meyering  <meyering@lucent.com>
91673
91674         * lib/localcharset.c ("path-concat.h"): Include.
91675         (get_charset_aliases): Use path_concat instead of ANSI string
91676         concatenation.
91677
91678         * lib/unicodeio.h (PARAMS): Define.
91679         Use it to guard prototype.
91680
91681 2000-03-04  Jim Meyering  <meyering@lucent.com>
91682
91683         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
91684         for lib/localcharset.c.
91685
91686 2000-03-04  Jim Meyering  <meyering@lucent.com>
91687
91688         * lib/Makefile.am (install-exec-local): Create $(libdir) before
91689         installing into it.
91690         (uninstall-local): Uncomment this rule so `make distcheck' works
91691         once again.
91692
91693         * lib/unicodeio.c (<errno.h>): Include it.
91694         (errno): Declare if not defined.
91695
91696         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
91697
91698         * lib/config.charset: New version, incorporating remarks from a linux
91699         i18n mailing list.  From Bruno Haible.
91700
91701 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
91702
91703         * m4/codeset.m4: New file.
91704         * m4/iconv.m4: New file.
91705         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
91706
91707 2000-03-03  Jim Meyering  <meyering@lucent.com>
91708
91709         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
91710
91711 2000-03-02  Jim Meyering  <meyering@lucent.com>
91712
91713         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
91714         the messages come out on separate lines.
91715
91716         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
91717         rather than jm_CHECK_DECLARATIONS.
91718         * m4/decl.m4: Remove now-unused file.
91719
91720         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
91721         geteuid.
91722
91723 2000-03-02  Jim Meyering  <meyering@lucent.com>
91724
91725         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
91726
91727 2000-03-01  Jim Meyering  <meyering@lucent.com>
91728
91729         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
91730         * lib/unicodeio.c: Likewise.
91731
91732 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
91733
91734         * lib/config.charset: New file.
91735         * lib/localcharset.c: New file.
91736         * lib/unicodeio.h, lib/unicodeio.c: New files.
91737         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
91738         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
91739         (noinst_HEADERS): Add unicodeio.h.
91740         (all-local, install-exec-local, charset.alias): New targets.
91741
91742 2000-02-28  Paul Eggert  <eggert@twinsun.com>
91743
91744         * lib/quotearg.c (ALERT_CHAR): New macro.
91745         (quotearg_buffer_restyled): Use it.
91746
91747 2000-02-27  Jim Meyering  <meyering@lucent.com>
91748
91749         * m4/check-decl.m4: Add getenv to the list.
91750
91751 2000-02-27  Jim Meyering  <meyering@lucent.com>
91752
91753         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
91754         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
91755
91756         * lib/backupfile.c: Guard inclusion of stdlib.h with
91757         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
91758         Declare malloc if needed.
91759
91760         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
91761         `#ifndef HAVE_DECL..'
91762         now that autoconf always defines the HAVE_DECL_ symbols.
91763         * lib/human.c: Likewise.
91764         * lib/same.c: Likewise.
91765         * lib/strtoumax.c: Likewise.
91766
91767         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
91768         declaration check was not run.
91769         * lib/hash.c: Likewise.
91770         * lib/human.c: Likewise.
91771         * lib/same.c: Likewise.
91772         * lib/strtoumax.c: Likewise.
91773
91774         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
91775         `.', then first look up the entire `.'-containing string as a login
91776         name.
91777
91778 2000-02-23  Jim Meyering  <meyering@lucent.com>
91779
91780         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
91781         in place of my hack.
91782
91783 2000-02-18  Paul Eggert  <eggert@twinsun.com>
91784
91785         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
91786         (textint): New typedef.
91787         (parser_control): Member year changed from int to textint.
91788         All uses changed.
91789         (YYSTYPE): Removed; replaced by %union with int and textint members.
91790         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
91791         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
91792         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
91793         (tSNUMBER, tUNUMBER): Now of type <textintval>.
91794         (date, number, to_year): Use width of number in digits, not its value,
91795         to determine whether it's a 2-digit year, or a 2-digit time.
91796         (yylex): Store number of digits of numeric tokens.
91797         Reported by John Kendall.
91798
91799         (parser_control): Changed from struct parser_control to typedef (for
91800         consistency).  All uses changed.
91801
91802         (tID): Removed; not used.
91803         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
91804
91805 2000-02-14  Paul Eggert  <eggert@twinsun.com>
91806
91807         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
91808         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
91809
91810 2000-02-12  Jim Meyering  <meyering@lucent.com>
91811
91812         * lib/userspec.c (ISDIGIT): Define it.
91813         (isdigit): Remove definition.
91814         (is_number): Use ISDIGIT, not isdigit.
91815         <libintl.h>: Include.
91816         (_ and N_): Define.
91817         (parse_user_spec): Mark translatable strings.
91818
91819 2000-02-10  Jim Meyering  <meyering@lucent.com>
91820
91821         With these changes, nanosleep.[ch] are finally enough like the other
91822         lib/* replacement files to compile on a few more losing systems.
91823
91824         * lib/nanosleep.h: Don't include config.h.
91825         Remove prototype from declaration of nanosleep.
91826         (PARAMS): Remove now-unneeded definition.
91827         * lib/nanosleep.c: #undef nanosleep.
91828         (rpl_nanosleep): Rename from nanosleep.
91829
91830 2000-02-10  Jim Meyering  <meyering@lucent.com>
91831
91832         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
91833         gnu_nanosleep to rpl_nanosleep.
91834
91835 2000-02-09  Jim Meyering  <meyering@lucent.com>
91836
91837         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
91838         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
91839
91840 2000-02-08  Akim Demaille  <akim@epita.fr>
91841
91842         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
91843         `[' and `]' and remove uses of `changequote'.
91844         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
91845         (AC_SYS_LARGEFILE): Likewise.
91846         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
91847         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
91848         of changequote.
91849         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
91850         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
91851         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
91852         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
91853
91854 2000-02-05  Jim Meyering  <meyering@lucent.com>
91855
91856         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
91857         Remove explicit use of AC_HEADER_TIME.  It is required by
91858         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
91859         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
91860         in autoconf whereby the expansion of the latter ended up preceding
91861         the expansion of its prerequisite, AC_HEADER_TIME.
91862         Reported by Volker Borchert.
91863
91864 2000-02-03  Jim Meyering  <meyering@lucent.com>
91865
91866         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
91867
91868 2000-02-03  Jim Meyering  <meyering@lucent.com>
91869
91870         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
91871         rather than with `#if HAVE_UTMPNAME'.
91872
91873 2000-02-02  Jim Meyering  <meyering@lucent.com>
91874
91875         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
91876         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
91877         Reported by Eli Zaretskii.
91878
91879 2000-02-01  Jim Meyering  <meyering@lucent.com>
91880
91881         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
91882
91883 2000-01-31  Jim Meyering  <meyering@lucent.com>
91884
91885         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
91886         functions.  Add the time.h and sys/time.h headers along with the
91887         AC_REQUIRE'ment of AC_HEADER_TIME.
91888
91889 2000-01-31  Jim Meyering  <meyering@lucent.com>
91890
91891         * lib/nanosleep.h (nanosleep): Guard declaration with
91892         `#if ! HAVE_DECL_NANOSLEEP'.
91893         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
91894         the declaration in that vendor's sys/timers.h.
91895         Reported by Christian Krackowizer.
91896
91897         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
91898         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
91899         (ISPRINT): Likewise.
91900         Reported by Tom Tromey.
91901
91902 2000-01-30  Jim Meyering  <meyering@lucent.com>
91903
91904         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
91905
91906         * m4/prereq.m4 (utmp_includes): Define.
91907         Check for ut_user and ut_name members in both struct utmpx
91908         and struct utmp.
91909
91910 2000-01-30  Jim Meyering  <meyering@lucent.com>
91911
91912         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
91913         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
91914         header files where only utmpx.ut_user is declared.
91915
91916         * lib/readutmp.h (UT_USER): Define.
91917
91918 2000-01-29  Jim Meyering  <meyering@lucent.com>
91919
91920         * m4/lib-check.m4: New file containing library-related checks from
91921         fileutils and sh-utils (textutils had none).
91922
91923 2000-01-28  Jim Meyering  <meyering@lucent.com>
91924
91925         * m4/perl.m4: Change format of warning message to look more like that
91926         from the missing script.  Suggestion from François Pinard.
91927
91928 2000-01-25  Jim Meyering  <meyering@lucent.com>
91929
91930         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
91931         well as time.h in the compile check.
91932         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
91933         Fix typo in cross-compiling case: s/yes/no/.
91934
91935 2000-01-23  Jim Meyering  <meyering@lucent.com>
91936
91937         * m4/jm-macros.m4: Move df-related tests here from
91938         fileutils/configure.in
91939
91940         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
91941         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
91942
91943         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
91944         s/space/ac_fsusage_space/.
91945         (jm_FILE_SYSTEM_USAGE): Take two parameters.
91946
91947         * m4/ftruncate.m4: New file (derived from part of
91948         fileutils/configure.in).
91949         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
91950         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
91951
91952         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
91953         AC_SUBST these here, rather than just in sh-util/configure.in, so
91954         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
91955         all the same.
91956         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
91957         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
91958         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
91959         (AC_SUBST(POW_LIBM)): Likewise.
91960         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
91961
91962 2000-01-23  Jim Meyering  <meyering@lucent.com>
91963
91964         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
91965         obstack.c.
91966
91967 2000-01-22  Jim Meyering  <meyering@lucent.com>
91968
91969         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
91970
91971         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
91972
91973         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
91974         configure.in
91975         (AC_CHECK_HEADERS): Likewise for sh-utils.
91976         (AC_CHECK_HEADERS): Likewise for textutils.
91977         Merge the three lists of headers.
91978
91979         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
91980         from fileutils' configure.in.
91981
91982         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
91983         code. Moved tests into their own function (_jm_DECL_HEADERS) in
91984         check-decl.m4.
91985
91986         * m4/check-decl.m4: Use #if rather than #ifdef.
91987         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
91988         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
91989         (_jm_DECL_HEADERS): Define new function.
91990         (jm_CHECK_DECLARATIONS): Require it.
91991
91992 2000-01-22  Jim Meyering  <meyering@lucent.com>
91993
91994         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
91995         [! HAVE_DECL_STRTOULL]: Declare strtoull.
91996         Required for some AIX systems.  Reported by Christian Krackowizer.
91997         [TESTING] (main): New function.
91998
91999         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
92000         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
92001         letters.
92002
92003         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
92004         iswprint.
92005
92006         * lib/strverscmp.c (ISDIGIT): Define.
92007         (strverscmp): Use ISDIGIT, not isdigit.
92008
92009 2000-01-19  Jim Meyering  <meyering@lucent.com>
92010
92011         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
92012         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
92013         defines `struct timespec' in <sys/time.h>
92014
92015         * m4/c-bs-a.m4: Remove uses of changequote altogether.
92016         Thanks to Akim for explaining.
92017
92018 2000-01-17  Paul Eggert  <eggert@twinsun.com>
92019
92020         * lib/nanosleep.c (nanosleep):
92021         Don't use SA_INTERRUPT to decide whether to call sigaction, as
92022         POSIX.1 doesn't require SA_INTERRUPT and some systems
92023         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
92024         it's been part of POSIX.1 since day 1 (in 1988).
92025
92026 2000-01-17  Jim Meyering  <meyering@lucent.com>
92027
92028         * lib/interlock: Remove unused file.  Reported by François Pinard.
92029
92030 2000-01-16  Paul Eggert  <eggert@twinsun.com>
92031
92032         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
92033         alert, backslash, formfeed, and vertical tab unnecessarily in
92034         shell quoting style.
92035
92036 2000-01-16  Jim Meyering  <meyering@lucent.com>
92037
92038         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
92039         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
92040         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
92041         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
92042
92043 2000-01-16  Jim Meyering  <meyering@lucent.com>
92044
92045         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
92046         because the latter didn't work.
92047
92048 2000-01-15  Jim Meyering  <meyering@lucent.com>
92049
92050         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
92051         (AC_REPLACE_FUNCS): Add memcpy and memset.
92052         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
92053         Add strpbrk.
92054         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
92055
92056 2000-01-12  Jim Meyering  <meyering@lucent.com>
92057
92058         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
92059         (jm_PREREQ): Use it.
92060         (jm_PREREQ_READUTMP): New macro.
92061         (jm_PREREQ): Use it.
92062
92063 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92064
92065         Quote multibyte characters correctly.
92066         * m4/c-bs-a.m4: New file.
92067         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
92068         (jm_PREREQ): Use it.
92069
92070 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92071
92072         * m4/uintmax_t.m4: Port to autoconf 2.13.
92073
92074 2000-01-08  Jim Meyering  <meyering@ascend.com>
92075
92076         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
92077         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
92078
92079 2000-01-04  Jim Meyering  <meyering@ascend.com>
92080
92081         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
92082         jm_STRUCT_DIRENT_D_TYPE.
92083         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
92084         jm_STRUCT_DIRENT_D_INO.
92085         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
92086         jm_STRUCT_UTIMBUF.
92087         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
92088         renamings.
92089         * m4/utime.m4: Likewise.
92090
92091         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
92092         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
92093
92094 2000-01-03  Paul Eggert  <eggert@twinsun.com>
92095
92096         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
92097         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
92098
92099 2000-01-02  Jim Meyering  <meyering@ascend.com>
92100
92101         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
92102         remember if this is necessary.
92103
92104 1999-12-26  Jim Meyering  <meyering@ascend.com>
92105
92106         * m4/jm-macros.m4: Use it here.
92107         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
92108
92109 1999-12-23  Jim Meyering  <meyering@ascend.com>
92110
92111         * m4/jm-macros.m4: Check for clock_gettime (moved from
92112         fileutils/configure.in)
92113         Check for gettimeofday.
92114
92115 1999-12-20  Jim Meyering  <meyering@ascend.com>
92116
92117         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
92118         autoconf-2.14a-1999-12-20.
92119
92120 1999-12-19  Jim Meyering  <meyering@ascend.com>
92121
92122         * m4/lstat-slash.m4: New file.
92123         * m4/jm-macros.m4: Use the new macro:
92124         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92125
92126 1999-12-07  Jim Meyering  <meyering@ascend.com>
92127
92128         * m4/perl.m4: Require that File::Compare be available, too.
92129         Too many systems seem to lack it.
92130
92131         * m4/strftime.m4: Add checks for most of the cpp macros tested in
92132         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
92133
92134 1999-11-18  Paul Eggert  <eggert@twinsun.com>
92135
92136         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
92137         problem with the QNX 4.25 shell, which doesn't propagate exit
92138         status of failed commands inside shell assignments.
92139
92140 1999-11-17  Jim Meyering  <meyering@ascend.com>
92141
92142         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
92143
92144 1999-11-07  Jim Meyering  <meyering@ascend.com>
92145
92146         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
92147
92148 1999-11-06  Jim Meyering  <meyering@ascend.com>
92149
92150         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
92151         * m4/jm-macros.m4 (jm_MACROS): Use it here.
92152
92153 1999-11-05  Jim Meyering  <meyering@ascend.com>
92154
92155         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
92156         configure.in of textutils, fileutils, and sh-utils into this one
92157         (shared between those packages) file.
92158         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
92159         AC_STRUCT_ST_BLKSIZE.
92160
92161 1999-11-03  Jim Meyering  <meyering@ascend.com>
92162
92163         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
92164         of AC_CHECK_TYPE checks includes unistd.h.
92165         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
92166         Suggestion from Akim Demaille.
92167
92168 1999-10-30  Jim Meyering  <meyering@ascend.com>
92169
92170         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
92171         m4-quoted string.
92172         * m4/ls-mntd-fs.m4: Likewise.
92173         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
92174         * m4/jm-winsz1.m4: Likewise.
92175
92176         * m4/const.m4: Remove file, since the fix made it into the experimental
92177         version of autoconf.
92178         * m4/mktime.m4: Likewise.
92179
92180         * m4/check-type.m4: Remove file, now that the latest version of
92181         AC_CHECK_TYPE takes a third arg to specify additional #includes.
92182
92183         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
92184         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
92185         AC_CHECK_TYPE.
92186
92187 1999-10-04  Jim Meyering  <meyering@ascend.com>
92188
92189         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
92190
92191 1999-09-22  Paul Eggert  <eggert@twinsun.com>
92192
92193         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
92194         2.95.1 bug with HP-UX 10.20.
92195
92196 1999-09-17  Jim Meyering  <meyering@ascend.com>
92197
92198         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
92199         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
92200         due to missing strdup (against sh-utils-2.0).
92201
92202 1999-08-29  Jim Meyering  <meyering@ascend.com>
92203
92204         * m4/jm-macros.m4: Require jm_BISON.
92205         * m4/bison.m4: New file.
92206
92207 1999-08-17  Paul Eggert  <eggert@twinsun.com>
92208
92209         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
92210         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
92211
92212 1999-08-05  Jim Meyering  <meyering@ascend.com>
92213
92214         * m4/getline.m4: Rename test file from conftestdata to conftest.data
92215         to avoid conflicts with `conftest' on 8+3 filesystems.
92216         Suggestion from Eli Zaretskii.
92217
92218 1999-08-04  Jim Meyering  <meyering@ascend.com>
92219
92220         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
92221         fileutils and sh-utils (textutils's getline test was inadequate).
92222         (AM_FUNC_GETLINE): Run this test.
92223         (AC_CHECK_FUNCS): Check for getdelim.
92224         Reported by Bob Proulx.
92225
92226 1999-08-02  Jim Meyering  <meyering@ascend.com>
92227
92228         * m4/jm-macros.m4: Add a comment.
92229
92230 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92231
92232         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
92233         <inttypes.h> defines strtoumax as a macro (and not as a
92234         function).
92235
92236 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92237
92238         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
92239         that we can shift, multiply and divide unsigned long long
92240         values; Ultrix cc can't do it.
92241
92242 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92243
92244         * m4/mktime.m4: New file, which is a preview of what should appear
92245         in the next public autoconf release.
92246
92247 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92248
92249         * m4/lfs.m4: Remove this file.
92250         * m4/largefile.m4: New file.  It contains the old contents of
92251         lfs.m4, except that all names with prefix AC_LFS have been
92252         changed to use the prefix AC_SYS_LARGEFILE instead, to be
92253         compatible with future autoconf versions.  Also, some minor m4
92254         quoting problems have been fixed.
92255
92256 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92257
92258         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
92259         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
92260         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
92261         and simplify the shell code.
92262
92263 1999-08-01  Jim Meyering  <meyering@ascend.com>
92264
92265         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
92266         m4.
92267
92268 1999-07-20  Jim Meyering  <meyering@ascend.com>
92269
92270         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
92271
92272 1999-07-15  Jim Meyering  <meyering@ascend.com>
92273
92274         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
92275
92276 1999-05-22  Jim Meyering  <meyering@ascend.com>
92277
92278         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
92279
92280 1999-05-20  Jim Meyering  <meyering@ascend.com>
92281
92282         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
92283         Add a colon after each `then' in case $4 is empty.
92284
92285 1999-05-16  Jim Meyering  <meyering@ascend.com>
92286
92287         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
92288
92289 1999-05-10  Jim Meyering  <meyering@ascend.com>
92290
92291         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
92292
92293         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
92294         AC_FUNC_MKTIME.
92295
92296 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
92297
92298         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
92299
92300 1999-05-04  Paul Eggert  <eggert@twinsun.com>
92301
92302         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
92303         not CPPFLAGS, so that linking works correctly in IRIX.
92304
92305 1999-04-30  Paul Eggert  <eggert@twinsun.com>
92306
92307         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
92308
92309 1999-04-20  Paul Eggert  <eggert@twinsun.com>
92310
92311         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
92312         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
92313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
92314         jm_AC_TYPE_UNSIGNED_LONG_LONG.
92315         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
92316
92317         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
92318
92319 1999-04-20  Jim Meyering  <meyering@ascend.com>
92320
92321         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
92322         AC_REPLACE xstroull if necessary.  From Paul Eggert.
92323         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
92324
92325 1999-04-18  Jim Meyering  <meyering@ascend.com>
92326
92327         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
92328         * m4/jm-macros.m4: Use it.
92329
92330 1999-04-06  Jim Meyering  <meyering@ascend.com>
92331
92332         * m4/strftime.m4: Remove test for %f.
92333
92334 1999-03-29  Jim Meyering  <meyering@ascend.com>
92335
92336         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
92337         superset of the AC_TYPE_* checks in the textutils, fileutils,
92338         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
92339         AC_TYPE_PID_T.
92340
92341 1999-03-28  Jim Meyering  <meyering@ascend.com>
92342
92343         * m4/jm-macros.m4: Define GNU_PACKAGE here.
92344         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
92345         replaced e.g., in the *.sh files of the sh-utils.
92346
92347 1999-03-20  Jim Meyering  <meyering@ascend.com>
92348
92349         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
92350         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
92351         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
92352
92353 1999-03-19  Jim Meyering  <meyering@ascend.com>
92354
92355         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
92356
92357 1999-03-12  Jim Meyering  <meyering@ascend.com>
92358
92359         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
92360
92361 1999-03-07  Jim Meyering  <meyering@ascend.com>
92362
92363         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
92364         declared.
92365
92366 1999-02-17  Jim Meyering  <meyering@ascend.com>
92367
92368         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
92369         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
92370
92371 1999-02-07  Jim Meyering  <meyering@ascend.com>
92372
92373         * m4/group-member.m4: New file -- extracted from sh-utils'
92374         configure.in.
92375
92376         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
92377         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
92378
92379 1999-02-06  Jim Meyering  <meyering@ascend.com>
92380
92381         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
92382         * m4/fnmatch.m4: Likewise.
92383         * m4/getgroups.m4: Likewise.
92384         * m4/lstat.m4: Likewise.
92385         * m4/malloc.m4: Likewise.
92386         * m4/putenv.m4: Likewise.
92387         * m4/realloc.m4: Likewise.
92388         * m4/regex.m4: Likewise.
92389         * m4/stat.m4: Likewise.
92390         * m4/strftime.m4: Likewise.
92391         Suggestion from Alain Magloire.
92392
92393         * m4/chown.m4: Use `.$ac_objext', not `.o'.
92394         * m4/fnmatch.m4: Likewise.
92395         * m4/getgroups.m4: Likewise.
92396         * m4/getline.m4: Likewise.
92397         * m4/lstat.m4: Likewise.
92398         * m4/malloc.m4: Likewise.
92399         * m4/memcmp.m4: Likewise.
92400         * m4/putenv.m4: Likewise.
92401         * m4/realloc.m4: Likewise.
92402         * m4/regex.m4: Likewise.
92403         * m4/stat.m4: Likewise.
92404         * m4/strftime.m4: Likewise.
92405         Suggestion from Alain Magloire.
92406
92407         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
92408         an argument.
92409
92410         * m4/regex.m4: Add a run-time Test for proper operation of
92411         re_compile_pattern.
92412
92413 1999-01-31  Jim Meyering  <meyering@ascend.com>
92414
92415         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
92416
92417 1999-01-30  Jim Meyering  <meyering@ascend.com>
92418
92419         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
92420
92421         * m4/jm-mktime.m4: Make this a wrapper around the official
92422         AM_FUNC_MKTIME rather than my private copy, now that the official one
92423         is up to date.
92424         * m4/mktime.m4: Remove file.
92425
92426         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
92427         * m4/uptime.m4: Likewise.
92428         * m4/uintmax_t.m4: Likewise.
92429
92430 1999-01-28  Jim Meyering  <meyering@ascend.com>
92431
92432         * m4/jm-macros.m4: Use jm_AFS.
92433         * m4/afs.m4: New file (from fileutils' configure.in).
92434
92435         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
92436         * m4/chown.m4: Likewise.
92437         * m4/d-ino.m4: Likewise.
92438         * m4/d-type.m4: Likewise.
92439         * m4/fnmatch.m4: Likewise.
92440         * m4/getgroups.m4: Likewise.
92441         * m4/gettext.m4: Likewise.
92442         * m4/jm-mktime.m4: Likewise.
92443         * m4/jm-winsz2.m4: Likewise.
92444         * m4/lcmessage.m4: Likewise.
92445         * m4/ls-mntd-fs.m4: Likewise.
92446         * m4/malloc.m4: Likewise.
92447         * m4/memcmp.m4: Likewise.
92448         * m4/putenv.m4: Likewise.
92449         * m4/realloc.m4: Likewise.
92450         * m4/st_mtim.m4: Likewise.
92451         * m4/strftime.m4: Likewise.
92452
92453 1999-01-16  Jim Meyering  <meyering@ascend.com>
92454
92455         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
92456         (ARGMATCH_DIE_DECL): Define.
92457
92458 1999-01-12  Jim Meyering  <meyering@ascend.com>
92459
92460         * m4/Makefile.am.in: Rewrite to avoid using fmt.
92461         Reported by Lars Hecking.
92462
92463 1999-01-10  Jim Meyering  <meyering@ascend.com>
92464
92465         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
92466         gross kludge.
92467         * m4/inttypes_h.m4: Likewise.
92468         * m4/lstat.m4: Likewise.
92469         * m4/malloc.m4: Likewise.
92470         * m4/readdir.m4: Likewise.
92471         * m4/realloc.m4: Likewise.
92472         * m4/st_dm_mode.m4: Likewise.
92473         * m4/stat.m4: Likewise.
92474         * m4/utimbuf.m4: Likewise.
92475         * m4/utimes.m4: Likewise.
92476
92477         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
92478         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
92479         comments in config.h.in are meaningful.
92480
92481         * m4/jm-macros.m4: Require autoconf-2.13 here.
92482
92483         * m4/regex.m4: By default, don't use the included regex.c on systems
92484         with glibc 2.  Suggestion from Uli Drepper.
92485
92486 1999-01-02  Jim Meyering  <meyering@ascend.com>
92487
92488         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
92489
92490 1998-12-18  Jim Meyering  <meyering@ascend.com>
92491
92492         * m4/Makefile.am.in (Makefile.am): Simplify rule.
92493         Based on a suggestion from Lars Hecking.
92494
92495 1998-11-16  Paul Eggert  <eggert@twinsun.com>
92496
92497         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
92498
92499 1998-11-16  Jim Meyering  <meyering@ascend.com>
92500
92501         * m4/lfs.m4: Double-quote the `uname...` expression.
92502
92503 1998-11-14  Jim Meyering  <meyering@ascend.com>
92504
92505         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
92506         * m4/stat.m4: Likewise.
92507
92508 1998-11-03  Jim Meyering  <meyering@ascend.com>
92509
92510         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
92511         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
92512
92513 1998-10-18  Jim Meyering  <meyering@ascend.com>
92514
92515         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
92516
92517 1998-10-17  Jim Meyering  <meyering@ascend.com>
92518
92519         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
92520         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
92521         calls for those previously hard-coded headers.  Instead, take a new
92522         parameter.
92523         (jm_CHECK_DECLARATIONS): Reflect interface change.
92524         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
92525         (jm_CHECK_DECL_LOCALTIME_R): New macro.
92526
92527         * m4/mktime.m4: Test for spring-forward gap before long-running test.
92528
92529 1998-10-14  Jim Meyering  <meyering@ascend.com>
92530
92531         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
92532         instead of "TZ=America/Vancouver".  From Paul Eggert.
92533
92534 1998-10-11  Jim Meyering  <meyering@ascend.com>
92535
92536         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
92537         This adds a test for a recently added compatibility fix for mktime.c.
92538         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
92539
92540 1998-09-27  Jim Meyering  <meyering@ascend.com>
92541
92542         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
92543
92544         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
92545         ../configure.in, including a change from Gordon Matzigkeit to allow
92546         cross-compiling for the Hurd.
92547
92548         * m4/glibc.m4: New file/macro to test for the GNU C Library
92549         versions 1 and 2.  From Gordon Matzigkeit.
92550         Indent.
92551
92552 1998-09-21  Jim Meyering  <meyering@ascend.com>
92553
92554         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
92555
92556 1998-08-18  Paul Eggert  <eggert@twinsun.com>
92557
92558         Port nanosecond-resolution times to UnixWare 2.1.2 and
92559         pedantic Solaris 2.6.
92560
92561         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
92562         AC_STRUCT_ST_MTIM.
92563         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
92564         Generate name of ns member, instead of just 1 or undef.
92565         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
92566
92567 1998-08-15  Jim Meyering  <meyering@ascend.com>
92568
92569         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
92570         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
92571         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
92572         instead of jm_TYPE_SSIZE_T.
92573
92574 1998-08-12  Jim Meyering  <meyering@ascend.com>
92575
92576         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
92577
92578 1998-08-02  Jim Meyering  <meyering@ascend.com>
92579
92580         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
92581         in acconfig.h manually.
92582
92583 1998-07-31  Paul Eggert  <eggert@twinsun.com>
92584
92585         * m4/st_mtim.m4: New file.
92586
92587 1998-07-28  Jim Meyering  <meyering@ascend.com>
92588
92589         * m4/utimes.m4: Undef stat.
92590
92591 1998-07-25  Jim Meyering  <meyering@ascend.com>
92592
92593         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
92594         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
92595
92596 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
92597
92598         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
92599         uid and gid actually remain unchanged.
92600
92601 1998-07-07  Jim Meyering  <meyering@ascend.com>
92602
92603         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
92604
92605 1998-07-04  Jim Meyering  <meyering@ascend.com>
92606
92607         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
92608         to prove that this macro can be used in packages without regex.c.
92609
92610 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
92611
92612         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
92613         is to be used.
92614
92615 1998-07-03  Jim Meyering  <meyering@ascend.com>
92616
92617         * m4/gettext.m4: Add -lintl if it's found to be necessary.
92618
92619         * m4/gettext.m4: New file -- from gettext-0.10.35.
92620         * m4/lcmessage.m4: Likewise.
92621         * m4/progtest.m4: Likewise.
92622
92623         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
92624         * m4/jm-macros.m4: Require the new macro.
92625
92626 1998-06-29  Jim Meyering  <meyering@ascend.com>
92627
92628         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
92629         for the definition of NGROUPS (used in a system header included
92630         by sys/mount.h).
92631
92632 1998-06-28  Jim Meyering  <meyering@ascend.com>
92633
92634         * m4/ls-mntd-fs.m4: New file.
92635         * m4/fstypename.m4: New file.
92636
92637         * m4/jm-macros.m4: Require the new macro.
92638         * m4/jm-glibc-io.m4: New file.
92639
92640 1998-05-19  Jim Meyering  <meyering@ascend.com>
92641
92642         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
92643         * m4/lchown.m4: New file.
92644
92645         * m4/Makefile.am.in: New file.
92646         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
92647
92648 1998-05-14  Jim Meyering  <meyering@ascend.com>
92649
92650         * m4/Makefile.am (EXTRA_DIST): Add them.
92651         * m4/jm-macros.m4: New file.
92652         * m4/utimbuf.m4: New file.
92653
92654 1998-05-12  Jim Meyering  <meyering@ascend.com>
92655
92656         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
92657
92658 1998-05-11  Jim Meyering  <meyering@ascend.com>
92659
92660         * m4/isc-posix.m4: New file.
92661
92662 1998-05-10  Jim Meyering  <meyering@ascend.com>
92663
92664         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
92665
92666 1998-05-09  Jim Meyering  <meyering@ascend.com>
92667
92668         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
92669         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
92670         with automake.
92671
92672         * m4/ssize_t.m4: New file.
92673         * m4/mktime.m4: Remove file -- the new automake has this now.
92674
92675 1998-04-26  Jim Meyering  <meyering@ascend.com>
92676
92677         * m4/assert.m4: New file.
92678         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
92679
92680 1998-04-05  Jim Meyering  <meyering@ascend.com>
92681
92682         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
92683         (jm_PREREQ): Use it here.
92684
92685 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
92686
92687         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
92688         in acconfig.h.
92689
92690 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
92691
92692         * m4/prereq.m4: New file.
92693         * m4/error.m4: New file.
92694         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
92695
92696 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
92697
92698         * m4/getline.m4: Don't set am_cv_func_working_getline before the
92699         cache-check for the same variable -- that defeated the purpose of
92700         the test; the test program was never run.  This was a problem only
92701         on systems with losing getline functions -- HP-UX 10.20 is one.
92702         Reported by Bjorn Helgaas.
92703
92704 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
92705
92706         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
92707
92708 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
92709
92710         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
92711
92712         * m4/const.m4: New file.  Use an initializer in this declaration
92713         typedef int charset[2]; const charset x;
92714         Reported by Bob Glickstein.
92715
92716 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
92717
92718         * m4/chown.m4: Fix reversed types on -1 args to chown.
92719         From Kaveh Ghazi.
92720
92721 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
92722
92723         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
92724         Add lseek and memchr.
92725
92726         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
92727         T.E.Dickey <dickey@clark.net> said that some older preprocessors
92728         have a 20-character limit on names.
92729
92730 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
92731
92732         * m4/inttypes_h.m4: New file.
92733         * m4/uintmax_t.m4: New file.
92734         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
92735
92736
92737         -----
92738
92739         Local Variables:
92740         coding: utf-8
92741         End:
92742
92743         Copyright (C) 1997-2012 Free Software Foundation, Inc.
92744
92745         Copying and distribution of this file, with or without
92746         modification, are permitted provided the copyright notice
92747         and this notice are preserved.